diff options
Diffstat (limited to 'devel/sdcc/DETAILS')
-rwxr-xr-x | devel/sdcc/DETAILS | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/devel/sdcc/DETAILS b/devel/sdcc/DETAILS new file mode 100755 index 0000000000..b2f28b6f5d --- /dev/null +++ b/devel/sdcc/DETAILS @@ -0,0 +1,42 @@ + SPELL=sdcc + VERSION=3.4.0 + SOURCE="${SPELL}-src-${VERSION}.tar.bz2" + SOURCE_URL[0]=http://sourceforge.net/projects/${SPELL}/files/${SPELL}/${VERSION}/${SOURCE} + SOURCE_HASH=sha512:551d393ef30e4ea653d5130b52df1e9560fc9a0e59cc674ab20a79f5d1da9a1ae7e33d283e88b7abfd8648116178813aef62859f021cd3fbb56d06fd9899ba10 +SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}" + WEB_SITE="http://sdcc.sourceforge.net/" + LICENSE[0]="GPLv2+" + ENTERED=20140831 + KEYWORDS="" + SHORT="Small Device C Compiler" +cat << EOF +SDCC is a retargettable, optimizing ANSI - C compiler suite that targets +the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim +(formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 +based (hc08, s08), Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit 2000/3000, +Rabbit 3000A, TLCS-90) and STMicroelectronics STM8. Work is in progress on +supporting the Microchip PIC16 and PIC18 targets. It can be retargeted for +other microprocessors. + +The package also includes simulators, debugger, and run-time libraries. + +Features: +* extensive MCU specific language extensions, allowing effective use of the + underlying hardware. +* a host of standard optimizations such as global sub expression elimination, + loop optimizations (loop invariant, strength reduction of induction variables + and loop reversing), constant folding and propagation, copy propagation, dead + code elimination and jump tables for 'switch' statements. +* MCU specific optimizations, including a global register allocator. +* adaptable MCU specific backend that should be well suited for other 8 bit MCUs +* independent rule based peep hole optimizer. +* a full range of data types: char (8 bits, 1 byte), short (16 bits, 2 bytes), + int (16 bits, 2 bytes), long (32 bit, 4 bytes), float (4 byte IEEE) and + _Bool/bool; +* basic (no integer constants) support for long long (64 bit, 8 bytes) data + types for the z80, z180, r2k, r3ka, gbz80, hc08 and s08 targets. +* the ability to add inline assembler code anywhere in a function. +* the ability to report on the complexity of a function to help decide what + should be re-written in assembler. +* a good selection of automated regression tests. +EOF |