2020-03-20 12:57:22 +01:00
|
|
|
# $NetBSD: Makefile,v 1.37 2020/03/20 11:57:33 nia Exp $
|
2013-10-21 17:12:38 +02:00
|
|
|
|
Update to 3.9.0
Changelog:
SDCC 3.9.0 Feature List:
Support for struct / union assignment.
Optimizations in the stm8 backend relevant to soft float increase Whetstone score by two thirds.
Improvements in rematerialization in the stm8 backend improve code generation for struct, union and arrays.
New stack allocator reduces stack space usage for the stm8, z80, z180, gbz80, r2k, r3ka, tlcs90 backends.
New ez80_z80 backend for eZ80 in Z80 mode.
Removed deprecated sdcclib utility.
New pdk14 backend for Padauk µC with 14-bit wide program memory.
New in-development pdk15 backend for Padauk µC with 15-bit wide program memory.
SDCC 3.8.0 Feature List
There is always a problem to create a list of new features when a new SDCC release is announced. The following list is an attempt to create such a list "on the fly". Every time a new feature which is visible or interesting for the SDCC users is implemented, it should be added to the following list.
Additional general utility function: bsearch().
Support for rematerialization in the stm8 backend reduces register pressure and stack usage.
Merged upstream GNU binutils 2.30.
All Python code is now fully compatible with both Python 2.7 and Python 3.6, so Python 3 can be used instead of Python 2.
Regression testing for diagnostics.
Improved handling of local bool variables in the mcs51 backend substantially reduces code size.
Large memory model for stm8 for 24-bit codespace allows using more than 32KB of Flash for code.
New optimizations for calls to some standard library function (printf(), puts(), strcpy()).
The type of true and false from stdbool.h change from int to bool.
New C2X mode (--std-c2x, --std-sdcc2x, #pragma std_c2x) adds support for one-argument static_assert variant.
Intermingling of declarations and statements (ISO C99).
Support headers for AX8052 devices.
Adopted GCC 8.2 regression tests (execute part of the GCC C torture tests).
2019-12-29 07:29:23 +01:00
|
|
|
DISTNAME= sdcc-src-3.9.0
|
2013-10-21 17:12:38 +02:00
|
|
|
PKGNAME= ${DISTNAME:S/-src//}
|
2020-01-12 21:19:52 +01:00
|
|
|
PKGREVISION= 1
|
2013-10-21 17:12:38 +02:00
|
|
|
CATEGORIES= devel lang
|
|
|
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sdcc/}
|
|
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
|
Update to 3.6.0, fixing boost-related build issue.
Changes since 3.5.0:
- Merged upstream binutils 2.25
- New memory management with lower overhead
- Changed default language dialect to --std-sdcc11
- Diagnostic for missing type specifier: No implicit int outside of C90 mode
anymore
- C11 generic selections
- char type is now unsigned by default (old behaviour can be restored
using --fsigned-char)
- Character constants are now of type int instead of char.
- ISO C95 and ISO C11 wide character constants
- ISO C95 and ISO C11 wide string literals
- Basic standard library support for wide characters: c16rtomb(), mbrtoc16(),
mbsinit(), mbtowc(), mbrlen(), mbrtoc32, c32rtomb(), mbrtowc(), wcrtomb(),
mblen(), wctomb()
- Treat all ports the same in the manual (i.e. mcs51-specific stuff is now
clearly described as such)
- Reorganized interrupt handling for z80, z180, r2k, r3ka, tlcs90, gbz80
backends
- Workaround for stm8 division hardware bug
- ELF/DWARF support for stm8
- Output symbol table for ELF
- pic16 port now uses standard-compliant crt0iz that initializes static and
globals to 0 by default
Numerous feature requests and bug fixes are included as well.
2016-06-25 19:48:15 +02:00
|
|
|
MAINTAINER= bouyer@NetBSD.org
|
2020-03-20 12:57:22 +01:00
|
|
|
HOMEPAGE= http://sdcc.sourceforge.net/
|
2014-12-30 23:23:27 +01:00
|
|
|
COMMENT= Cross compile microcontroller code
|
2013-10-21 17:12:38 +02:00
|
|
|
LICENSE= gnu-gpl-v2
|
|
|
|
|
|
|
|
DEPENDS+= gputils-[0-9]*:../../devel/gputils
|
|
|
|
|
|
|
|
USE_LANGUAGES= c c++
|
|
|
|
|
|
|
|
# XXX - This HACK circumvent a problem with the use of yacc that breaks the
|
|
|
|
# XXX - building process of sdcc. Use of bison fixes this problem for now.
|
|
|
|
#
|
Update to 3.6.0, fixing boost-related build issue.
Changes since 3.5.0:
- Merged upstream binutils 2.25
- New memory management with lower overhead
- Changed default language dialect to --std-sdcc11
- Diagnostic for missing type specifier: No implicit int outside of C90 mode
anymore
- C11 generic selections
- char type is now unsigned by default (old behaviour can be restored
using --fsigned-char)
- Character constants are now of type int instead of char.
- ISO C95 and ISO C11 wide character constants
- ISO C95 and ISO C11 wide string literals
- Basic standard library support for wide characters: c16rtomb(), mbrtoc16(),
mbsinit(), mbtowc(), mbrlen(), mbrtoc32, c32rtomb(), mbrtowc(), wcrtomb(),
mblen(), wctomb()
- Treat all ports the same in the manual (i.e. mcs51-specific stuff is now
clearly described as such)
- Reorganized interrupt handling for z80, z180, r2k, r3ka, tlcs90, gbz80
backends
- Workaround for stm8 division hardware bug
- ELF/DWARF support for stm8
- Output symbol table for ELF
- pic16 port now uses standard-compliant crt0iz that initializes static and
globals to 0 by default
Numerous feature requests and bug fixes are included as well.
2016-06-25 19:48:15 +02:00
|
|
|
USE_TOOLS+= bison makeinfo
|
|
|
|
INFO_FILES= yes
|
2013-10-21 17:12:38 +02:00
|
|
|
|
Update to 3.9.0
Changelog:
SDCC 3.9.0 Feature List:
Support for struct / union assignment.
Optimizations in the stm8 backend relevant to soft float increase Whetstone score by two thirds.
Improvements in rematerialization in the stm8 backend improve code generation for struct, union and arrays.
New stack allocator reduces stack space usage for the stm8, z80, z180, gbz80, r2k, r3ka, tlcs90 backends.
New ez80_z80 backend for eZ80 in Z80 mode.
Removed deprecated sdcclib utility.
New pdk14 backend for Padauk µC with 14-bit wide program memory.
New in-development pdk15 backend for Padauk µC with 15-bit wide program memory.
SDCC 3.8.0 Feature List
There is always a problem to create a list of new features when a new SDCC release is announced. The following list is an attempt to create such a list "on the fly". Every time a new feature which is visible or interesting for the SDCC users is implemented, it should be added to the following list.
Additional general utility function: bsearch().
Support for rematerialization in the stm8 backend reduces register pressure and stack usage.
Merged upstream GNU binutils 2.30.
All Python code is now fully compatible with both Python 2.7 and Python 3.6, so Python 3 can be used instead of Python 2.
Regression testing for diagnostics.
Improved handling of local bool variables in the mcs51 backend substantially reduces code size.
Large memory model for stm8 for 24-bit codespace allows using more than 32KB of Flash for code.
New optimizations for calls to some standard library function (printf(), puts(), strcpy()).
The type of true and false from stdbool.h change from int to bool.
New C2X mode (--std-c2x, --std-sdcc2x, #pragma std_c2x) adds support for one-argument static_assert variant.
Intermingling of declarations and statements (ISO C99).
Support headers for AX8052 devices.
Adopted GCC 8.2 regression tests (execute part of the GCC C torture tests).
2019-12-29 07:29:23 +01:00
|
|
|
#BUILD_TARGET= dep all
|
2013-10-21 17:12:38 +02:00
|
|
|
|
Update to 3.9.0
Changelog:
SDCC 3.9.0 Feature List:
Support for struct / union assignment.
Optimizations in the stm8 backend relevant to soft float increase Whetstone score by two thirds.
Improvements in rematerialization in the stm8 backend improve code generation for struct, union and arrays.
New stack allocator reduces stack space usage for the stm8, z80, z180, gbz80, r2k, r3ka, tlcs90 backends.
New ez80_z80 backend for eZ80 in Z80 mode.
Removed deprecated sdcclib utility.
New pdk14 backend for Padauk µC with 14-bit wide program memory.
New in-development pdk15 backend for Padauk µC with 15-bit wide program memory.
SDCC 3.8.0 Feature List
There is always a problem to create a list of new features when a new SDCC release is announced. The following list is an attempt to create such a list "on the fly". Every time a new feature which is visible or interesting for the SDCC users is implemented, it should be added to the following list.
Additional general utility function: bsearch().
Support for rematerialization in the stm8 backend reduces register pressure and stack usage.
Merged upstream GNU binutils 2.30.
All Python code is now fully compatible with both Python 2.7 and Python 3.6, so Python 3 can be used instead of Python 2.
Regression testing for diagnostics.
Improved handling of local bool variables in the mcs51 backend substantially reduces code size.
Large memory model for stm8 for 24-bit codespace allows using more than 32KB of Flash for code.
New optimizations for calls to some standard library function (printf(), puts(), strcpy()).
The type of true and false from stdbool.h change from int to bool.
New C2X mode (--std-c2x, --std-sdcc2x, #pragma std_c2x) adds support for one-argument static_assert variant.
Intermingling of declarations and statements (ISO C99).
Support headers for AX8052 devices.
Adopted GCC 8.2 regression tests (execute part of the GCC C torture tests).
2019-12-29 07:29:23 +01:00
|
|
|
WRKSRC= ${WRKDIR}/sdcc-${PKGVERSION_NOREV}
|
2013-10-21 17:12:38 +02:00
|
|
|
GNU_CONFIGURE= YES
|
2014-09-02 11:02:07 +02:00
|
|
|
USE_TOOLS+= gmake lex:run perl:run
|
2013-10-21 17:12:38 +02:00
|
|
|
|
|
|
|
CONFIGURE_ARGS+= --datadir=${PREFIX}/share/sdcc
|
|
|
|
CONFIGURE_ARGS+= --docdir=${PREFIX}/share/doc/sdcc
|
|
|
|
|
|
|
|
# needed for some arch's. -fdollars-in-identifiers is enabled
|
|
|
|
# by default on some, not on others
|
|
|
|
CPPFLAGS+= -fdollars-in-identifiers
|
|
|
|
CONFIGURE_ENV+= MACHINE_ARCH=${MACHINE_ARCH:Q}
|
|
|
|
CONFIGURE_ENV+= sdcc_cv_c_ggdb="no"
|
|
|
|
|
|
|
|
REPLACE_PYTHON= support/scripts/as2gbmap.py
|
Update to 3.6.0, fixing boost-related build issue.
Changes since 3.5.0:
- Merged upstream binutils 2.25
- New memory management with lower overhead
- Changed default language dialect to --std-sdcc11
- Diagnostic for missing type specifier: No implicit int outside of C90 mode
anymore
- C11 generic selections
- char type is now unsigned by default (old behaviour can be restored
using --fsigned-char)
- Character constants are now of type int instead of char.
- ISO C95 and ISO C11 wide character constants
- ISO C95 and ISO C11 wide string literals
- Basic standard library support for wide characters: c16rtomb(), mbrtoc16(),
mbsinit(), mbtowc(), mbrlen(), mbrtoc32, c32rtomb(), mbrtowc(), wcrtomb(),
mblen(), wctomb()
- Treat all ports the same in the manual (i.e. mcs51-specific stuff is now
clearly described as such)
- Reorganized interrupt handling for z80, z180, r2k, r3ka, tlcs90, gbz80
backends
- Workaround for stm8 division hardware bug
- ELF/DWARF support for stm8
- Output symbol table for ELF
- pic16 port now uses standard-compliant crt0iz that initializes static and
globals to 0 by default
Numerous feature requests and bug fixes are included as well.
2016-06-25 19:48:15 +02:00
|
|
|
MAKE_JOBS_SAFE= NO
|
2013-10-21 17:12:38 +02:00
|
|
|
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
|
|
|
|
.if ${OPSYS} == "NetBSD"
|
|
|
|
CPPFLAGS+= -DYY_NEVER_INTERACTIVE
|
|
|
|
|
|
|
|
pre-configure: sys-endian-buildlink
|
|
|
|
|
|
|
|
sys-endian-buildlink:
|
|
|
|
${MKDIR} ${BUILDLINK_DIR}/include
|
|
|
|
${LN} -fs /usr/include/sys/endian.h ${BUILDLINK_DIR}/include
|
|
|
|
.endif
|
|
|
|
|
|
|
|
post-install:
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/doc/*.lyx ${DESTDIR}${PREFIX}/share/doc/sdcc
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/doc/*.txt ${DESTDIR}${PREFIX}/share/doc/sdcc
|
|
|
|
|
|
|
|
.include "../../devel/boehm-gc/buildlink3.mk"
|
|
|
|
.include "../../devel/boost-libs/buildlink3.mk"
|
|
|
|
.include "../../devel/readline/buildlink3.mk"
|
|
|
|
.include "../../lang/python/application.mk"
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|