pkgsrc/devel/sdcc3/Makefile

64 lines
1.7 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.37 2020/03/20 11:57:33 nia Exp $
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
PKGNAME= ${DISTNAME:S/-src//}
PKGREVISION= 1
CATEGORIES= devel lang
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sdcc/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER= bouyer@NetBSD.org
HOMEPAGE= http://sdcc.sourceforge.net/
2014-12-30 23:23:27 +01:00
COMMENT= Cross compile microcontroller code
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.
#
USE_TOOLS+= bison makeinfo
INFO_FILES= yes
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
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}
GNU_CONFIGURE= YES
2014-09-02 11:02:07 +02:00
USE_TOOLS+= gmake lex:run perl:run
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
MAKE_JOBS_SAFE= NO
.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"