nixpkgs/pkgs/development/compilers/sdcc/default.nix
Bjørn Forsman fed248c78e sdcc: bump 3.2.0 -> 3.3.0
SDCC 3.3.0 Feature List:

 * Many small improvements in code generation for the z80-related ports - merged smallopts branch
 * lospre (currently enabled for z80-related and hc08-related ports only) - merged lospre branch
 * More efficient initialization of globals in z80, z180, r2k and r3ka ports.
 * Inclusion of tests from the gcc test suite into the sdcc regression test suite led to many bugs being found and fixed.
 * Split sdas390 from sdas8051
 * Merged big parts of ASxxxx v5 into sdas
 * New pic devices (synchronization with MPLABX 1.60). (Except for very old MCU-s.)
 * New script which disassembles those hex files, in which MCS51 code there is. (mcs51-disasm.pl)
 * Added the PIC16F1788 and PIC16F1789 devices.
 * C11 _Alignof operator.
 * C11 _Alignas alignment specifier.
 * C11 _Static_Assert static assertion.

Numerous feature requests and bug fixes are included as well.
2013-11-21 23:22:06 +01:00

35 lines
1.2 KiB
Nix

{ stdenv, fetchurl, bison, flex, boost, gputils ? null }:
stdenv.mkDerivation rec {
version = "3.3.0";
name = "sdcc-${version}";
src = fetchurl {
url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
sha256 = "1pj4hssvq34vbryvxc2jpp2b14cgxp695ygwiax6b7l2kvr62gw7";
};
# TODO: remove this comment when gputils != null is tested
buildInputs = [ bison flex boost gputils ];
configureFlags = ''
${if gputils == null then "--disable-pic14-port --disable-pic16-port" else ""}
'';
meta = with stdenv.lib; {
description = "Small Device C Compiler";
longDescription = ''
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) and Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit 2000/3000,
Rabbit 3000A). Work is in progress on supporting the Microchip PIC16 and
PIC18 targets. It can be retargeted for other microprocessors.
'';
homepage = http://sdcc.sourceforge.net/;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [maintainers.bjornfor];
};
}