- Update all the consumers to use USES=tex - USE_TEX=yes is the old way of writing USES=tex which has been removed and replaced in all ports - Almost all of the USE_TEX features remains unchanged - Some consumers had the same variables defined both in the mk infrastructure and also in the ports which have been removed from the ports as those are redundant. In case any of the consumers are failing to build please make sure that the nexessary USES=tex is there. Unlike previous USE_TEX=yes will no longer load the required VARS for tex and related dependencies. Reviewed by: portmgr Approved by: portmgr (blanket)
149 lines
4.8 KiB
Makefile
149 lines
4.8 KiB
Makefile
PORTNAME= gcc-arm-embedded
|
|
PORTVERSION= 10.3.20210921
|
|
PORTREVISION= 0
|
|
CATEGORIES= devel
|
|
MASTER_SITES= https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/${FULL_VERSION}/
|
|
DISTNAME= ${ORIGINAL_PACKAGE_NAME}-src
|
|
|
|
MAINTAINER= lev@FreeBSD.org
|
|
COMMENT= Complete gcc-based toolcahin for embedded ARM development
|
|
WWW= https://launchpad.net/gcc-arm-embedded
|
|
|
|
LICENSE= GPLv2 LGPL20 LGPL21 GPLv3 LGPL3
|
|
LICENSE_COMB= multi
|
|
|
|
NOT_FOR_ARCHS= arm armeb armv6 armv7 \
|
|
mips mips64 mips64el mipsel mipsn32
|
|
NOT_FOR_ARCHS_REASON= Very slow to build on emulator
|
|
|
|
BUILD_DEPENDS= objdump:devel/binutils
|
|
|
|
OPTIONS_DEFINE= APROFILE PURE PYGDB EXAMPLES HTML PDF DOCS SYMLINK
|
|
OPTIONS_DEFAULT=PURE PYGDB SYMLINK
|
|
APROFILE_DESC= Add support for Cortex-A profiles
|
|
PURE_DESC= Use all libraries from bundle, do not depend on anything
|
|
HTML_DESC= Install HTML documentation
|
|
PDF_DESC= Install PDF documentation (requires TeX, it is huge)
|
|
PYGDB_DESC= Build and install python-enabled gdb in addition to standard one
|
|
SYMLINK_DESC= Make version-independent symlink ${LOCALBASE}/${PORTNAME}
|
|
|
|
PURE_LIB_DEPENDS_OFF= libexpat.so:textproc/expat2 \
|
|
libgmp.so:math/gmp \
|
|
libmpfr.so:math/mpfr \
|
|
libmpc.so:math/mpc \
|
|
libisl.so:devel/isl
|
|
|
|
PDF_USES= tex
|
|
PDF_USE= TEX=base:build,tex:build,dvipsk:build
|
|
PDF_BUILD_DEPENDS= texi2dvi:print/texinfo
|
|
PYGDB_USES= python
|
|
|
|
OPTIONS_SUB= yes
|
|
|
|
USES= bison compiler:c++11-lang cpe gmake gettext-runtime \
|
|
makeinfo tar:bzip2 iconv
|
|
|
|
GNU_CONFIGURE= yes
|
|
|
|
PATCH_WRKSRC= ${WRKDIR}/${ORIGINAL_PACKAGE_NAME}
|
|
BUILD_WRKSRC= ${WRKDIR}
|
|
|
|
GCC_VERSION= 10.3.1
|
|
FULL_VERSION= 10.3-2021.10
|
|
TARGET= arm-none-eabi
|
|
ORIGINAL_PACKAGE_NAME= gcc-${TARGET}-${FULL_VERSION}
|
|
|
|
CPE_PRODUCT= gcc
|
|
CPE_VENDOR= gnu
|
|
CPE_VERSION= ${GCC_VERSION}
|
|
|
|
INFO_PATH= ${PORTNAME}-${FULL_VERSION}/share/doc/gcc-${TARGET}/info
|
|
INFO= annotate as bfd binutils cpp cppinternals gcc \
|
|
gccinstall gccint gdb gprof ld stabs
|
|
|
|
MANPREFIX= ${PREFIX}/${PORTNAME}-${FULL_VERSION}/${DOCS_SUFFIX}
|
|
DOCSDIR= ${PREFIX}/${PORTNAME}-${FULL_VERSION}/${DOCS_SUFFIX}
|
|
EXAMPLESDIR= ${PREFIX}/${PORTNAME}-${FULL_VERSION}/share/gcc-${TARGET}/samples
|
|
|
|
PLIST_SUB+= TARGET=${TARGET} FULL_VERSION=${FULL_VERSION} \
|
|
GCC_VERSION=${GCC_VERSION}
|
|
|
|
DOCS_SUFFIX= share/doc/gcc-${TARGET}
|
|
SRC_DIR= ${WRKDIR}/${ORIGINAL_PACKAGE_NAME}/src
|
|
BUILD_DIR= ${WRKDIR}/build
|
|
INTERIM_WORLD= ${WRKDIR}/install
|
|
INTERIM_PREFIX= ${INTERIM_WORLD}/${PORTNAME}-${FULL_VERSION}
|
|
|
|
BUNDLED_LIBS= EXPAT:bz2 ZLIB:gz LIBELF:gz \
|
|
GMP:bz2 MPFR:bz2 MPC:gz ISL:xz
|
|
BUNDLED_VERSION_EXPAT= 2.1.1
|
|
BUNDLED_VERSION_ZLIB= 1.2.8
|
|
BUNDLED_VERSION_LIBELF= 0.8.13
|
|
BUNDLED_VERSION_GMP= 6.1.0
|
|
BUNDLED_VERSION_MPFR= 3.1.4
|
|
BUNDLED_VERSION_MPC= 1.0.3
|
|
BUNDLED_VERSION_ISL= 0.18
|
|
|
|
VAR_TO_SUBMAKE= BUILD_DIR CC CFLAGS CHOSEN_COMPILER_TYPE CONFIG_SITE \
|
|
CONFIGURE_MAX_CMD_LEN CONFIGURE_SHELL CP CPP CPPFLAGS CXX \
|
|
CXXFLAGS DOCS_SUFFIX ECHO_MSG EXAMPLESDIR FILE FIND GMAKE \
|
|
GCC_VERSION GREP MAKE_CMD MAKE_SHELL PATCH \
|
|
INSTALL_MACROS INTERIM_PREFIX INTERIM_WORLD LD LDFLAGS LIBDIR \
|
|
LN LOCALBASE MAKE_JOBS_NUMBER MKDIR ORIGINAL_PACKAGE_NAME \
|
|
PORT_OPTIONS PREFIX PYTHON_CMD RM SED SH SRC_DIR STRIP_CMD TAR \
|
|
TARGET WRKDIR CONFIGURE_TARGET
|
|
|
|
VAR_TO_SUBMAKE_NOEXPAND= CONFIGURE_ENV MAKE_ENV
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
#.if ${PORT_OPTIONS:MPURE}
|
|
#IGNORE= PURE option is not valid anymore, no libraries are bundled
|
|
#.endif
|
|
|
|
post-extract:
|
|
.if ${PORT_OPTIONS:MPURE}
|
|
.for L in ${BUNDLED_LIBS}
|
|
@${ECHO_MSG} "====> Extracting bundled ${L:C/[:].+//:tl}"
|
|
@${TAR} -xf ${SRC_DIR}/${L:C/[:].+//:tl}-${BUNDLED_VERSION_${L:C/[:].+//}}.tar.${L:C/.+[:]//} -C ${SRC_DIR}
|
|
.endfor
|
|
.endif
|
|
@${ECHO_MSG} "====> Extracting bundled binutils"
|
|
@${TAR} -xf ${SRC_DIR}/binutils.tar.bz2 -C ${SRC_DIR}
|
|
@${ECHO_MSG} "====> Extracting bundled gcc"
|
|
@${TAR} -xf ${SRC_DIR}/gcc.tar.bz2 -C ${SRC_DIR}
|
|
@${ECHO_MSG} "====> Extracting bundled gdb"
|
|
@${TAR} -xf ${SRC_DIR}/gdb.tar.bz2 -C ${SRC_DIR}
|
|
@${ECHO_MSG} "====> Extracting bundled newlib"
|
|
@${TAR} -xf ${SRC_DIR}/newlib.tar.bz2 -C ${SRC_DIR}
|
|
|
|
do-configure:
|
|
@${RM} -r ${BUILD_DIR}
|
|
@${MKDIR} ${BUILD_DIR}
|
|
@${RM} -r ${INTERIM_PREFIX}
|
|
@${MKDIR} ${INTERIM_PREFIX}
|
|
@${CP} ${FILESDIR}/Makefile ${WRKDIR}
|
|
@${RM} ${WRKDIR}/Makefile.inc
|
|
.for VAR in ${VAR_TO_SUBMAKE}
|
|
@${ECHO} '${VAR}=${${VAR}}' >> ${WRKDIR}/Makefile.inc
|
|
.endfor
|
|
.for L in ${BUNDLED_LIBS}
|
|
@${ECHO} -n 'BUNDLED_VERSION_${L:C/[:].+//}=' >> ${WRKDIR}/Makefile.inc
|
|
@${ECHO} '${BUNDLED_VERSION_${L:C/[:].+//}}' >> ${WRKDIR}/Makefile.inc
|
|
.endfor
|
|
.for VAR in ${VAR_TO_SUBMAKE_NOEXPAND}
|
|
@${ECHO} -n '${VAR}=' >> ${WRKDIR}/Makefile.inc
|
|
@${MAKE} .MAKE.EXPAND_VARIABLES=0 -X -V ${VAR} >> ${WRKDIR}/Makefile.inc
|
|
.endfor
|
|
|
|
do-build:
|
|
@${MAKE} -C ${WRKDIR}
|
|
|
|
do-install:
|
|
@${TAR} -cf - -C ${WRKDIR}/install ${PORTNAME}-${FULL_VERSION} | ${TAR} -xf - -C ${STAGEDIR}${PREFIX}
|
|
.if ${PORT_OPTIONS:MSYMLINK}
|
|
@${LN} -s ${PORTNAME}-${FULL_VERSION} ${STAGEDIR}${PREFIX}/${PORTNAME}
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|