9398ec4fab
Release Notes: https://sourceforge.net/p/sdcc/news/2026/06/sdcc-460-released/ https://sourceforge.net/p/sdcc/news/2025/01/sdcc-450-released/ Changelog: https://sourceforge.net/p/sdcc/code/HEAD/tree/tags/sdcc-4.6.0/sdcc/ChangeLog PR: 296242 Sponsored by: UNIS Labs Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org>
100 lines
3.2 KiB
Makefile
100 lines
3.2 KiB
Makefile
PORTNAME= sdcc
|
|
DISTVERSIONPREFIX= src-
|
|
DISTVERSION= 4.6.0
|
|
CATEGORIES= lang
|
|
MASTER_SITES= SF
|
|
|
|
MAINTAINER= darius@dons.net.au
|
|
COMMENT= Small Device C Compiler
|
|
WWW= https://sdcc.sourceforge.net/
|
|
|
|
LICENSE= GPLv2 GPLv3
|
|
LICENSE_COMB= multi
|
|
LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING
|
|
LICENSE_FILE_GPLv3= ${WRKSRC}/sdas/COPYING3
|
|
|
|
BUILD_DEPENDS= ${LOCALBASE}/include/boost/graph/adjacency_list.hpp:devel/boost-libs \
|
|
gpasm:devel/gputils
|
|
LIB_DEPENDS= libzstd.so:archivers/zstd
|
|
RUN_DEPENDS= gpasm:devel/gputils
|
|
|
|
USES= bison compiler:c++11-lang gettext-runtime gmake iconv \
|
|
localbase python readline shebangfix tar:bzip2
|
|
SHEBANG_FILES= support/scripts/as2gbmap.py
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS= --enable-non-free \
|
|
docdir=${DOCSDIR}
|
|
|
|
MAKE_JOBS_UNSAFE= yes
|
|
|
|
TEST_ARGS= --no-print-directory # tons of them, way too annoying
|
|
TEST_TARGET= all
|
|
|
|
CONFLICTS_INSTALL= sdcc sdcc-devel
|
|
|
|
TEST_WRKSRC= ${WRKSRC}/support/regression
|
|
WRKSRC= ${WRKDIR}/sdcc-${DISTVERSION}
|
|
|
|
PLIST_SUB= CONFIGURE_TARGET=${CONFIGURE_TARGET}
|
|
PORTDOCS= *
|
|
|
|
OPTIONS_DEFINE= DOCS
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${ARCH} == "amd64"
|
|
CONFIGURE_TARGET= x86_64-portbld-${OPSYS:tl}${OSREL}
|
|
.endif
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} '/install:/s/:.*/:/' \
|
|
${WRKSRC}/Makefile.in \
|
|
${WRKSRC}/sdas/linksrc/Makefile.in \
|
|
${WRKSRC}/support/sdbinutils/libiberty/Makefile.in
|
|
@${REINPLACE_CMD} 's/[[:<:]]ARCH[[:>:]]/PICARCH/g' \
|
|
${WRKSRC}/device/lib/pic14/Makefile.common \
|
|
${WRKSRC}/device/lib/pic14/Makefile.in \
|
|
${WRKSRC}/device/lib/pic14/configure \
|
|
${WRKSRC}/device/lib/pic14/configure.ac \
|
|
${WRKSRC}/device/lib/pic14/libc/Makefile.in \
|
|
${WRKSRC}/device/lib/pic14/libm/Makefile.in \
|
|
${WRKSRC}/device/lib/pic14/libsdcc/enhanced/Makefile.in \
|
|
${WRKSRC}/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in \
|
|
${WRKSRC}/device/lib/pic14/libsdcc/regular/Makefile.in \
|
|
${WRKSRC}/device/lib/pic16/Makefile.in \
|
|
${WRKSRC}/device/lib/pic16/configure \
|
|
${WRKSRC}/device/lib/pic16/configure.ac \
|
|
${WRKSRC}/device/lib/pic16/debug/Makefile.in \
|
|
${WRKSRC}/device/lib/pic16/libc/Makefile.in \
|
|
${WRKSRC}/device/lib/pic16/libio/Makefile.in \
|
|
${WRKSRC}/device/lib/pic16/libm/Makefile.in \
|
|
${WRKSRC}/device/lib/pic16/libsdcc/Makefile.in \
|
|
${WRKSRC}/device/lib/pic16/startup/Makefile.in \
|
|
${WRKSRC}/device/non-free/lib/pic14/Makefile.common.in \
|
|
${WRKSRC}/device/non-free/lib/pic14/Makefile.rules \
|
|
${WRKSRC}/device/non-free/lib/pic16/Makefile.in \
|
|
${WRKSRC}/device/non-free/lib/pic16/configure \
|
|
${WRKSRC}/device/non-free/lib/pic16/configure.ac \
|
|
${WRKSRC}/device/non-free/lib/pic16/libdev/Makefile.in \
|
|
${WRKSRC}/device/non-free/lib/pic16/libdev/mkmk.sh
|
|
@${REINPLACE_CMD} 's/[[:<:]]arch[[:>:]]/picarch/g' \
|
|
${WRKSRC}/device/non-free/lib/pic16/libdev/mkmk.sh
|
|
|
|
post-patch-DOCS-off:
|
|
@${REINPLACE_CMD} 's, [a-z-]*doc,,' \
|
|
${WRKSRC}/Makefile.in
|
|
|
|
post-install:
|
|
${FIND} -d ${STAGEDIR}${DATADIR} -type d -empty -delete
|
|
# Remove BFD related things otherwise we conflict with the binutils port
|
|
${RM} ${STAGEDIR}${PREFIX}/bin/c++filt \
|
|
${ctf-api.h ctf.h dis-asm.h sframe-api.h sframe.h \
|
|
:L:S|^|${STAGEDIR}${PREFIX}/include/|} \
|
|
${libctf* libopcodes* libsframe* \
|
|
:L:S|^|${STAGEDIR}${PREFIX}/lib/|} \
|
|
${ctf-spec.info sframe-spec.info \
|
|
:L:S|^|${STAGEDIR}${PREFIX}/share/info/|}
|
|
|
|
.include <bsd.port.mk>
|