mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
devel/gcc-arm-embedded: update toolchain to 14.2.rel1 from 2024/12/10
Build system has been completely revamped. Now port uses official build scripts with minimal pathing to adopt some Linux-isms to FreeBSD. Two flavors are made: "default" one form AArch32 (ARMv7) ISA and "aarch64" for AArch64 (ARMv8) ISA. AArch32 (default) build supports A-, R- and M-profiles by default, but A-profiles can be turned off in options. AARch64 doesn't have choice of profiles. gdb is built with python support by default, but can be built without one with custom option. All builds are using included snapshots of all libraries, like libgmp, libmpfr, etc. There is no option to use system-wide versions of these libraries anymore. NLS is turned off by vendor and cannot be turned on. No Linux cross-tools targets are provided for now, this port is made to provde bare metal toolchains only. Binaries are not stripped, as official ones are.
This commit is contained in:
parent
cbaf1ff7cd
commit
75ee0ced6e
20 changed files with 10794 additions and 6263 deletions
|
@ -1,9 +1,9 @@
|
|||
PORTNAME= gcc-arm-embedded
|
||||
PORTVERSION= 10.3.20210921
|
||||
PORTREVISION= 0
|
||||
PORTVERSION= ${FULL_VERSION:S/.rel/r/}
|
||||
#PORTREVISION= 0
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/${FULL_VERSION}/
|
||||
DISTNAME= ${ORIGINAL_PACKAGE_NAME}-src
|
||||
MASTER_SITES= https://developer.arm.com/-/media/Files/downloads/gnu/${FULL_VERSION}/srcrel/:src
|
||||
DISTFILES= arm-gnu-toolchain-src-snapshot-${FULL_VERSION}.tar.xz:src
|
||||
|
||||
MAINTAINER= lev@FreeBSD.org
|
||||
COMMENT= Complete GCC-based toolcahin for embedded ARM development
|
||||
|
@ -12,141 +12,112 @@ WWW= https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain
|
|||
LICENSE= GPLv2 LGPL20 LGPL21 GPLv3 LGPL3
|
||||
LICENSE_COMB= multi
|
||||
|
||||
NOT_FOR_ARCHS= arm armv6 armv7 \
|
||||
mips mips64 mips64el mipsel mipsn32
|
||||
NOT_FOR_ARCHS= arm armv6 armv7 mips mips64 mips64el mipsel mipsn32
|
||||
NOT_FOR_ARCHS_REASON= Very slow to build on emulator
|
||||
|
||||
BUILD_DEPENDS= objdump:devel/binutils
|
||||
BUILD_DEPENDS= bash:shells/bash \
|
||||
gfind:misc/findutils \
|
||||
getopt>=0:misc/getopt
|
||||
|
||||
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}
|
||||
FLAVORS= default aarch64
|
||||
FLAVOR?= ${FLAVORS:[1]}
|
||||
|
||||
PURE_LIB_DEPENDS_OFF= libexpat.so:textproc/expat2 \
|
||||
libgmp.so:math/gmp \
|
||||
libmpfr.so:math/mpfr \
|
||||
libmpc.so:math/mpc \
|
||||
libisl.so:devel/isl
|
||||
aarch64_PKGNAMESUFFIX= -aarch64
|
||||
aarch64_PLIST= ${PKGDIR}/pkg-plist.aarch64
|
||||
|
||||
PDF_USES= tex
|
||||
PDF_USE= TEX=base:build,tex:build,dvipsk:build
|
||||
PDF_BUILD_DEPENDS= texi2dvi:print/texinfo
|
||||
PYGDB_USES= python
|
||||
USES= compiler:c++14-lang cpe gmake libtool:keepla makeinfo \
|
||||
shebangfix tar:xz
|
||||
|
||||
OPTIONS_SUB= yes
|
||||
USE_GITLAB= nodefault
|
||||
GL_SITE= https://gitlab.arm.com:tools
|
||||
GL_ACCOUNT= tooling:tools
|
||||
GL_PROJECT= gnu-devtools-for-arm:tools
|
||||
GL_TAGNAME= v1.3.0:tools
|
||||
|
||||
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}
|
||||
SHEBANG_FILES= gnu-devtools-for-arm/*.sh
|
||||
USE_PYTHON= noflavors
|
||||
|
||||
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
|
||||
OPTIONS_DEFINE= APROFILE PYGDB SYMLINK
|
||||
OPTIONS_DEFAULT=APROFILE PYGDB SYMLINK
|
||||
APROFILE_DESC= Add support for Cortex-A profiles (valid only for default armv7 target)
|
||||
PYGDB_DESC= Build and install python-enabled gdb in addition to standard one
|
||||
SYMLINK_DESC= Make version-independent symlink ${LOCALBASE}/${PORTNAME}${PKGNAMESUFFX}
|
||||
|
||||
MANDIRS= ${PREFIX}/${PORTNAME}-${FULL_VERSION}/${DOCS_SUFFIX}/man
|
||||
DOCSDIR= ${PREFIX}/${PORTNAME}-${FULL_VERSION}/${DOCS_SUFFIX}
|
||||
EXAMPLESDIR= ${PREFIX}/${PORTNAME}-${FULL_VERSION}/share/gcc-${TARGET}/samples
|
||||
PYGDB_USES= python
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
PLIST_SUB+= TARGET=${TARGET} FULL_VERSION=${FULL_VERSION} \
|
||||
GCC_VERSION=${GCC_VERSION}
|
||||
WRKSRC= ${WRKDIR}/src
|
||||
NO_WRKSUBDIR= yes
|
||||
|
||||
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}
|
||||
GCC_VERSION= 14.2.1
|
||||
FULL_VERSION= 14.2.rel1
|
||||
DIR_NAME= ${PORTNAME}${PKGNAMESUFFIX}-${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
|
||||
.if ${FLAVOR:U} != aarch64
|
||||
TARGET= arm-none-eabi
|
||||
NEWLIB_NANO_BUILD_OP= --enable-newlib-nano
|
||||
MULTILIB_BUILD_OP= --config-flags-gcc=--with-multilib-list=${MULTILIBS}
|
||||
.else
|
||||
TARGET= aarch64-none-elf
|
||||
NEWLIB_NANO_BUILD_OP=
|
||||
MULTILIB_BUILD_OP=
|
||||
.endif
|
||||
|
||||
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
|
||||
PLIST_SUB+= GCC_VERSION=${GCC_VERSION} FULL_VERSION=${FULL_VERSION} TARGET=${TARGET}
|
||||
|
||||
VAR_TO_SUBMAKE_NOEXPAND= CONFIGURE_ENV MAKE_ENV
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if ${PORT_OPTIONS:MPYGDB}
|
||||
PYGDB_BUILD_OPT= --enable-gdb-with-python=${PYTHON_CMD}
|
||||
.else
|
||||
PYGDB_BUILD_OPT=
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAPROFILE}
|
||||
MULTILIBS= aprofile,rmprofile
|
||||
.else
|
||||
MULTILIBS= rmprofile
|
||||
.endif
|
||||
|
||||
INFO_PATH= ${DIR_NAME}/share/info
|
||||
INFO= annotate as bfd binutils cpp cppinternals ctf-spec gcc gccinstall \
|
||||
gccint gdb gfortran gprof ld ldint porting sframe-spec stabs
|
||||
|
||||
MANDIRS= ${PREFIX}/${DIR_NAME}/share/man
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
#.if ${PORT_OPTIONS:MPURE}
|
||||
#IGNORE= PURE option is not valid anymore, no libraries are bundled
|
||||
#.endif
|
||||
|
||||
.if ${OPSYS} == FreeBSD
|
||||
USE_GCC= 13
|
||||
.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
|
||||
@${MV} ${WRKSRC}/gnu-devtools-for-arm-${GL_TAGNAME_tools} ${WRKSRC}/gnu-devtools-for-arm
|
||||
|
||||
do-build:
|
||||
@${MAKE} -C ${WRKDIR}
|
||||
PATH=${WRKSRC}/gnu-devtools-for-arm:${PATH} \
|
||||
installdir=${WRKDIR}/${DIR_NAME} \
|
||||
LOCALBASE="${LOCALBASE}" \
|
||||
${WRKSRC}/gnu-devtools-for-arm/build-baremetal-toolchain.sh \
|
||||
-j ${MAKE_JOBS_NUMBER} \
|
||||
--builddir=${WRKDIR}/build \
|
||||
--target=${TARGET} \
|
||||
--check-gdb \
|
||||
--with-language=fortran \
|
||||
${MULTILIB_BUILD_OP} \
|
||||
--srcdir=${WRKSRC} \
|
||||
--release \
|
||||
--no-package \
|
||||
${NEWLIB_NANO_BUILD_OP} \
|
||||
${PYGDB_BUILD_OPT} \
|
||||
start
|
||||
|
||||
# It is possible to istall by script directly ${STAGEDIR}${PREFIX}/${PKGNAME}
|
||||
# and avoid this step, but then `restage` will not work.
|
||||
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
|
||||
@cd ${WRKDIR} && ${PAX} -l -r -w ${DIR_NAME} ${STAGEDIR}${PREFIX}
|
||||
|
||||
post-install-SYMLINK-on:
|
||||
@${LN} -s ${PKGNAME} ${STAGEDIR}${PREFIX}/${PORTNAME}${PKGNAMESUFFIX}
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
TIMESTAMP = 1649877811
|
||||
SHA256 (gcc-arm-none-eabi-10.3-2021.10-src.tar.bz2) = 94e582e4dd3a6014dea0485be0377c6478bd3c9e1301190f05810aa2ad989cbf
|
||||
SIZE (gcc-arm-none-eabi-10.3-2021.10-src.tar.bz2) = 201152632
|
||||
TIMESTAMP = 1743428897
|
||||
SHA256 (arm-gnu-toolchain-src-snapshot-14.2.rel1.tar.xz) = e6405f20f8a817a50d92dbf7974d0ee77708dfdf9e79900a59c5d343b464ef9c
|
||||
SIZE (arm-gnu-toolchain-src-snapshot-14.2.rel1.tar.xz) = 311500280
|
||||
SHA256 (gnu-devtools-for-arm-v1.3.0.tar.bz2) = 89fdac5e73bff3673d930fdc8c1807d7548bd978900ff8d2fd45125984626dc2
|
||||
SIZE (gnu-devtools-for-arm-v1.3.0.tar.bz2) = 744557
|
||||
|
|
|
@ -1,600 +0,0 @@
|
|||
.include "Makefile.inc"
|
||||
|
||||
.if ${PORT_OPTIONS:MAPROFILE}
|
||||
MULTILIB_LIST= rmprofile,aprofile
|
||||
.else
|
||||
MULTILIB_LIST= rmprofile
|
||||
.endif
|
||||
|
||||
PKGVERSION= GNU Arm Embedded Toolchain ${FULL_VERSION}
|
||||
|
||||
BUILD_PREFIX= ${WRKDIR}/build
|
||||
DOC_PREFIX= ${INTERIM_PREFIX}/${DOCS_SUFFIX}
|
||||
|
||||
.if ${PORT_OPTIONS:MPURE}
|
||||
WORLD_LIB=${INTERIM_WORLD}
|
||||
.else
|
||||
WORLD_LIB=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
LDFLAGS+= -L${WORLD_LIB}/lib
|
||||
|
||||
.if ${OPSYS} == FreeBSD
|
||||
MAKE_ARGS+= CFLAGS="-Wno-error -Wno-deprecated-register" CXXFLAGS="-Wno-error -Wno-deprecated-register"
|
||||
.else
|
||||
.if ${CHOSEN_COMPILER_TYPE} == clang
|
||||
MAKE_ARGS+= CFLAGS="-Wno-error -fbracket-depth=512 -Wno-deprecated-register" CXXFLAGS="-Wno-error -fbracket-depth=512 -Wno-deprecated-register"
|
||||
.endif
|
||||
.endif
|
||||
|
||||
MISC_DOCS= license.txt readme.txt release.txt
|
||||
|
||||
.if ${PORT_OPTIONS:MPURE}
|
||||
PREREQUISITES= expat \
|
||||
zlib \
|
||||
libelf \
|
||||
gmp \
|
||||
mpfr \
|
||||
mpc \
|
||||
isl
|
||||
.else
|
||||
PREREQUISITES=
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MPYGDB}
|
||||
_pygdb= build-pygdb
|
||||
.else
|
||||
_pygdb=
|
||||
.endif
|
||||
|
||||
COMMON_GDB_CONFIGURE_ARGS= \
|
||||
--target=${TARGET} \
|
||||
--prefix=${INTERIM_PREFIX} \
|
||||
--infodir=${DOC_PREFIX}/info \
|
||||
--mandir=${DOC_PREFIX}/man \
|
||||
--htmldir=${DOC_PREFIX}/html \
|
||||
--pdfdir=${DOC_PREFIX}/pdf \
|
||||
--disable-nls \
|
||||
--disable-sim \
|
||||
--disable-gas \
|
||||
--disable-binutils \
|
||||
--disable-ld \
|
||||
--disable-gprof \
|
||||
--with-libexpat \
|
||||
--with-libexpat-prefix=${WORLD_LIB} \
|
||||
--with-lzma=no \
|
||||
--with-system-gdbinit=${INTERIM_PREFIX}/${CONFIGURE_TARGET}/${TARGET}/lib/gdbinit \
|
||||
--with-gdb-datadir='$${prefix}/${TARGET}/share/gdb' \
|
||||
--with-pkgversion="${PKGVERSION}"
|
||||
|
||||
ALL_BUILD= build-binutils \
|
||||
build-gcc-first \
|
||||
build-newlib \
|
||||
build-newlib-nano \
|
||||
build-gcc-final \
|
||||
build-libstdcxx \
|
||||
build-gdb \
|
||||
${_pygdb} \
|
||||
install-samples \
|
||||
install-misc \
|
||||
strip-binaries \
|
||||
strip-target-libraries
|
||||
|
||||
.PHONY: ${PREREQUISITES} ${ALL_BUILD}
|
||||
|
||||
all: ${PREREQUISITES} ${ALL_BUILD}
|
||||
|
||||
expat:
|
||||
@${ECHO_MSG} "====> Build expat"
|
||||
@${RM} -rf ${BUILD_PREFIX}/expat
|
||||
@${MKDIR} ${BUILD_PREFIX}/expat
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/expat && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/expat-${BUNDLED_VERSION_EXPAT}/configure \
|
||||
--build=${CONFIGURE_TARGET} \
|
||||
--host=${CONFIGURE_TARGET} \
|
||||
--target=${TARGET} \
|
||||
--prefix=${INTERIM_WORLD} \
|
||||
--disable-shared \
|
||||
--disable-nls
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/expat all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into intermediate directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/expat install ${MAKE_ARGS}
|
||||
|
||||
zlib:
|
||||
@${ECHO_MSG} "====> Build zlib"
|
||||
@${RM} -rf ${BUILD_PREFIX}/zlib
|
||||
@${MKDIR} ${BUILD_PREFIX}/zlib
|
||||
@${ECHO_MSG} "=====> Copy to build dir"
|
||||
@${TAR} -cf - -C ${SRC_DIR}/zlib-${BUNDLED_VERSION_ZLIB} . | ${TAR} -xf - -C ${BUILD_PREFIX}/zlib
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/zlib && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ./configure \
|
||||
--static \
|
||||
--prefix=${INTERIM_WORLD}
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/zlib ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into intermediate directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/zlib install ${MAKE_ARGS}
|
||||
|
||||
libelf:
|
||||
@${ECHO_MSG} "====> Build libelf"
|
||||
@${RM} -rf ${BUILD_PREFIX}/libelf
|
||||
@${MKDIR} ${BUILD_PREFIX}/libelf
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/libelf && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/libelf-${BUNDLED_VERSION_LIBELF}/configure \
|
||||
--prefix=${INTERIM_WORLD} \
|
||||
--build=${CONFIGURE_TARGET} \
|
||||
--host=${CONFIGURE_TARGET} \
|
||||
--disable-shared \
|
||||
--disable-nls
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/libelf all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into intermediate directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/libelf install ${MAKE_ARGS}
|
||||
|
||||
gmp:
|
||||
@${ECHO_MSG} "====> Build gmp"
|
||||
@${RM} -rf ${BUILD_PREFIX}/gmp
|
||||
@${MKDIR} ${BUILD_PREFIX}/gmp
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/gmp && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/gmp-${BUNDLED_VERSION_GMP}/configure \
|
||||
--build=${CONFIGURE_TARGET} \
|
||||
--host=${CONFIGURE_TARGET} \
|
||||
--prefix=${INTERIM_WORLD} \
|
||||
--enable-cxx \
|
||||
--disable-shared \
|
||||
--disable-nls
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/gmp all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into intermediate directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gmp install ${MAKE_ARGS}
|
||||
|
||||
mpfr:
|
||||
@${ECHO_MSG} "====> Build mpfr"
|
||||
@${RM} -rf ${BUILD_PREFIX}/mpfr
|
||||
@${MKDIR} ${BUILD_PREFIX}/mpfr
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/mpfr && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/mpfr-${BUNDLED_VERSION_MPFR}/configure \
|
||||
--build=${CONFIGURE_TARGET} \
|
||||
--host=${CONFIGURE_TARGET} \
|
||||
--target=${TARGET} \
|
||||
--prefix=${INTERIM_WORLD} \
|
||||
--with-gmp=${INTERIM_WORLD} \
|
||||
--disable-shared \
|
||||
--disable-nls
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/mpfr all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into intermediate directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/mpfr install ${MAKE_ARGS}
|
||||
|
||||
mpc:
|
||||
@${ECHO_MSG} "====> Build mpc"
|
||||
@${RM} -rf ${BUILD_PREFIX}/mpc
|
||||
@${MKDIR} ${BUILD_PREFIX}/mpc
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/mpc && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/mpc-${BUNDLED_VERSION_MPC}/configure \
|
||||
--build=${CONFIGURE_TARGET} \
|
||||
--host=${CONFIGURE_TARGET} \
|
||||
--target=${TARGET} \
|
||||
--prefix=${INTERIM_WORLD} \
|
||||
--with-gmp=${INTERIM_WORLD} \
|
||||
--with-mpfr=${INTERIM_WORLD} \
|
||||
--disable-shared \
|
||||
--disable-nls
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/mpc all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into intermediate directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/mpc install ${MAKE_ARGS}
|
||||
|
||||
isl:
|
||||
@${ECHO_MSG} "====> Build isl"
|
||||
@${RM} -rf ${BUILD_PREFIX}/isl
|
||||
@${MKDIR} ${BUILD_PREFIX}/isl
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/isl && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/isl-${BUNDLED_VERSION_ISL}/configure \
|
||||
--build=${CONFIGURE_TARGET} \
|
||||
--host=${CONFIGURE_TARGET} \
|
||||
--target=${TARGET} \
|
||||
--prefix=${INTERIM_WORLD} \
|
||||
--with-gmp-prefix=${INTERIM_WORLD} \
|
||||
--disable-shared \
|
||||
--disable-nls
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/isl all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into intermediate directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/isl install ${MAKE_ARGS}
|
||||
|
||||
build-binutils:
|
||||
@${ECHO_MSG} "====> Build binutils"
|
||||
@${RM} -rf ${BUILD_PREFIX}/binutils
|
||||
@${MKDIR} ${BUILD_PREFIX}/binutils
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/binutils && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/binutils/configure \
|
||||
--target=${TARGET} \
|
||||
--prefix=${INTERIM_PREFIX} \
|
||||
--infodir=${DOC_PREFIX}/info \
|
||||
--mandir=${DOC_PREFIX}/man \
|
||||
--htmldir=${DOC_PREFIX}/html \
|
||||
--pdfdir=${DOC_PREFIX}/pdf \
|
||||
--disable-nls \
|
||||
--disable-werror \
|
||||
--disable-sim \
|
||||
--disable-gdb \
|
||||
--enable-interwork \
|
||||
--enable-plugins \
|
||||
--with-sysroot=${INTERIM_PREFIX}/${TARGET} \
|
||||
--with-pkgversion="${PKGVERSION}"
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/binutils all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/binutils install ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Prepare working area for library builds"
|
||||
@${MKDIR} ${BUILD_PREFIX}/target-libs
|
||||
@${TAR} -cf - -C ${INTERIM_PREFIX} . | ${TAR} -xf - -C ${BUILD_PREFIX}/target-libs
|
||||
.if ${PORT_OPTIONS:MHTML} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build HTML documentation"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/binutils html ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install HTML documentation into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/binutils install-html ${MAKE_ARGS}
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MPDF} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build PDF documentation"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/binutils pdf ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install PDF documentation into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/binutils install-pdf ${MAKE_ARGS}
|
||||
.endif
|
||||
@${ECHO_MSG} "=====> Cleanup installation"
|
||||
@${RM} -rf ${INTERIM_PREFIX}/lib
|
||||
|
||||
build-gcc-first:
|
||||
@${ECHO_MSG} "====> Build preliminary gcc"
|
||||
@${RM} -rf ${BUILD_PREFIX}/gcc-first
|
||||
@${MKDIR} ${BUILD_PREFIX}/gcc-first
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/gcc-first && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/gcc/configure \
|
||||
--target=${TARGET} \
|
||||
--prefix=${INTERIM_PREFIX} \
|
||||
--infodir=${DOC_PREFIX}/info \
|
||||
--mandir=${DOC_PREFIX}/man \
|
||||
--htmldir=${DOC_PREFIX}/html \
|
||||
--pdfdir=${DOC_PREFIX}/pdf \
|
||||
--libexecdir=${INTERIM_PREFIX}/lib \
|
||||
--with-gmp=${WORLD_LIB} \
|
||||
--with-mpfr=${WORLD_LIB} \
|
||||
--with-mpc=${WORLD_LIB} \
|
||||
--with-isl=${WORLD_LIB} \
|
||||
--with-libelf=${WORLD_LIB} \
|
||||
--enable-languages=c \
|
||||
--disable-decimal-float \
|
||||
--disable-libffi \
|
||||
--disable-libgomp \
|
||||
--disable-libmudflap \
|
||||
--disable-libquadmath \
|
||||
--disable-libssp \
|
||||
--disable-libstdcxx-pch \
|
||||
--disable-nls \
|
||||
--disable-shared \
|
||||
--disable-threads \
|
||||
--disable-tls \
|
||||
--with-newlib \
|
||||
--without-headers \
|
||||
--with-gnu-as \
|
||||
--with-gnu-ld \
|
||||
--with-python-dir=share/gcc-${TARGET} \
|
||||
--with-sysroot=${INTERIM_PREFIX}/${TARGET} \
|
||||
--with-multilib-list=${MULTILIB_LIST} \
|
||||
--with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" \
|
||||
--with-pkgversion="${PKGVERSION}"
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/gcc-first all-gcc ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gcc-first install-gcc ${MAKE_ARGS}
|
||||
@${RM} -f ${INTERIM_PREFIX}/bin/${TARGET}-gccbug
|
||||
@${RM} -f ${INTERIM_PREFIX}/lib/libiberty.a
|
||||
@${RM} -rf ${INTERIM_PREFIX}/include
|
||||
|
||||
build-newlib:
|
||||
@${ECHO_MSG} "====> Build newlib"
|
||||
@${RM} -rf ${BUILD_PREFIX}/newlib
|
||||
@${MKDIR} ${BUILD_PREFIX}/newlib
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/newlib && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} PATH="${INTERIM_PREFIX}/bin:${PATH}" CFLAGS_FOR_TARGET="-g -O2 -ffunction-sections -fdata-sections" \
|
||||
${SRC_DIR}/newlib/configure \
|
||||
--target=${TARGET} \
|
||||
--prefix=${INTERIM_PREFIX} \
|
||||
--infodir=${DOC_PREFIX}/info \
|
||||
--mandir=${DOC_PREFIX}/man \
|
||||
--htmldir=${DOC_PREFIX}/html \
|
||||
--pdfdir=${DOC_PREFIX}/pdf \
|
||||
--enable-newlib-io-long-long \
|
||||
--enable-newlib-io-c99-formats \
|
||||
--enable-newlib-register-fini \
|
||||
--enable-newlib-retargetable-locking \
|
||||
--disable-newlib-supplied-syscalls \
|
||||
--disable-nls
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} PATH="${INTERIM_PREFIX}/bin:${PATH}" ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/newlib all
|
||||
@${ECHO_MSG} "=====> Install into stage directory"
|
||||
@${MAKE_ENV} PATH="${INTERIM_PREFIX}/bin:${PATH}" ${MAKE_CMD} -C ${BUILD_PREFIX}/newlib install
|
||||
.if ${PORT_OPTIONS:MHTML} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build HTML documentation"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/newlib html ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install HTML documentation into stage directory"
|
||||
@${MKDIR} ${DOC_PREFIX}/html/libc
|
||||
@${TAR} -cf - -C ${BUILD_PREFIX}/newlib/${TARGET}/newlib/libc/libc.html . | ${TAR} -xf - -C ${DOC_PREFIX}/html/libc
|
||||
@${MKDIR} ${DOC_PREFIX}/html/libm
|
||||
@${TAR} -cf - -C ${BUILD_PREFIX}/newlib/${TARGET}/newlib/libm/libm.html . | ${TAR} -xf - -C ${DOC_PREFIX}/html/libm
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MPDF} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build PDF documentation (ignore errors)"
|
||||
@-${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/newlib/${TARGET}/newlib/libc pdf ${MAKE_ARGS}
|
||||
@-${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/newlib/${TARGET}/newlib/libm pdf ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install PDF documentation into stage directory"
|
||||
@${CP} -f ${BUILD_PREFIX}/newlib/${TARGET}/newlib/libc/libc.pdf ${DOC_PREFIX}/pdf/libc.pdf
|
||||
@${CP} -f ${BUILD_PREFIX}/newlib/${TARGET}/newlib/libm/libm.pdf ${DOC_PREFIX}/pdf/libm.pdf
|
||||
.endif
|
||||
|
||||
build-newlib-nano:
|
||||
@${ECHO_MSG} "====> Build newlib-nano"
|
||||
@${RM} -rf ${BUILD_PREFIX}/newlib-nano
|
||||
@${MKDIR} ${BUILD_PREFIX}/newlib-nano
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/newlib-nano && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} PATH="${INTERIM_PREFIX}/bin:${PATH}" CFLAGS_FOR_TARGET="-g -Os -ffunction-sections -fdata-sections" \
|
||||
${SRC_DIR}/newlib/configure \
|
||||
--target=${TARGET} \
|
||||
--prefix=${BUILD_PREFIX}/target-libs \
|
||||
--infodir=${DOC_PREFIX}/info \
|
||||
--mandir=${DOC_PREFIX}/man \
|
||||
--htmldir=${DOC_PREFIX}/html \
|
||||
--pdfdir=${DOC_PREFIX}/pdf \
|
||||
--disable-newlib-supplied-syscalls \
|
||||
--enable-newlib-reent-check-verify \
|
||||
--enable-newlib-reent-small \
|
||||
--enable-newlib-retargetable-locking \
|
||||
--disable-newlib-fvwrite-in-streamio \
|
||||
--disable-newlib-fseek-optimization \
|
||||
--disable-newlib-wide-orient \
|
||||
--enable-newlib-nano-malloc \
|
||||
--disable-newlib-unbuf-stream-opt \
|
||||
--enable-lite-exit \
|
||||
--enable-newlib-global-atexit \
|
||||
--enable-newlib-nano-formatted-io \
|
||||
--disable-nls
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} PATH="${INTERIM_PREFIX}/bin:${PATH}" ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/newlib-nano all
|
||||
@${ECHO_MSG} "=====> Install into intermediate directory"
|
||||
@${MAKE_ENV} PATH="${INTERIM_PREFIX}/bin:${PATH}" ${MAKE_CMD} -C ${BUILD_PREFIX}/newlib-nano install
|
||||
|
||||
build-gcc-final:
|
||||
@${ECHO_MSG} "====> Build final gcc and g++"
|
||||
@${RM} -f ${INTERIM_PREFIX}/${TARGET}/usr
|
||||
@${LN} -s . ${INTERIM_PREFIX}/${TARGET}/usr
|
||||
@${RM} -rf ${BUILD_PREFIX}/gcc-final
|
||||
@${MKDIR} ${BUILD_PREFIX}/gcc-final
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/gcc-final && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/gcc/configure \
|
||||
--target=${TARGET} \
|
||||
--prefix=${INTERIM_PREFIX} \
|
||||
--infodir=${DOC_PREFIX}/info \
|
||||
--mandir=${DOC_PREFIX}/man \
|
||||
--htmldir=${DOC_PREFIX}/html \
|
||||
--pdfdir=${DOC_PREFIX}/pdf \
|
||||
--libexecdir=${INTERIM_PREFIX}/lib \
|
||||
--with-gmp=${WORLD_LIB} \
|
||||
--with-mpfr=${WORLD_LIB} \
|
||||
--with-mpc=${WORLD_LIB} \
|
||||
--with-isl=${WORLD_LIB} \
|
||||
--with-libelf=${WORLD_LIB} \
|
||||
--enable-languages=c,c++ \
|
||||
--enable-plugins \
|
||||
--disable-decimal-float \
|
||||
--disable-libffi \
|
||||
--disable-libgomp \
|
||||
--disable-libmudflap \
|
||||
--disable-libquadmath \
|
||||
--disable-libssp \
|
||||
--disable-libstdcxx-pch \
|
||||
--disable-nls \
|
||||
--disable-shared \
|
||||
--disable-threads \
|
||||
--disable-tls \
|
||||
--with-gnu-as \
|
||||
--with-gnu-ld \
|
||||
--with-newlib \
|
||||
--with-headers=yes \
|
||||
--with-python-dir=share/gcc-${TARGET} \
|
||||
--with-sysroot=${INTERIM_PREFIX}/${TARGET} \
|
||||
--with-multilib-list=${MULTILIB_LIST} \
|
||||
--with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" \
|
||||
--with-pkgversion="${PKGVERSION}"
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/gcc-final INHIBIT_LIBC_CFLAGS="-DUSE_TM_CLONE_REGISTRY=0" all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gcc-final install ${MAKE_ARGS}
|
||||
.if ${PORT_OPTIONS:MHTML} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build HTML documentation"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gcc-final html ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install HTML documentation into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gcc-final install-html ${MAKE_ARGS}
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MPDF} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build PDF documentation"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gcc-final pdf ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install PDF documentation into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gcc-final install-pdf ${MAKE_ARGS}
|
||||
.endif
|
||||
@${ECHO_MSG} "=====> Cleanup installation"
|
||||
@${RM} -f ${INTERIM_PREFIX}/bin/${TARGET}-gccbug
|
||||
@${FIND} ${INTERIM_PREFIX}/${TARGET}/lib -name libiberty.a -delete
|
||||
@${RM} -f ${INTERIM_PREFIX}/lib/libiberty.a
|
||||
@${RM} -rf ${INTERIM_PREFIX}/include
|
||||
@${RM} -f ${INTERIM_PREFIX}/${TARGET}/usr
|
||||
|
||||
build-libstdcxx:
|
||||
@${ECHO_MSG} "====> Build size-optimized C++ runtime"
|
||||
@${RM} -f ${BUILD_PREFIX}/target-libs/${TARGET}/usr
|
||||
@${LN} -s . ${BUILD_PREFIX}/target-libs/${TARGET}/usr
|
||||
@${RM} -rf ${BUILD_PREFIX}/gcc-size-libstdcxx
|
||||
@${MKDIR} ${BUILD_PREFIX}/gcc-size-libstdcxx
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/gcc-size-libstdcxx && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/gcc/configure \
|
||||
--target=${TARGET} \
|
||||
--prefix=${BUILD_PREFIX}/target-libs \
|
||||
--infodir=${DOC_PREFIX}/info \
|
||||
--mandir=${DOC_PREFIX}/man \
|
||||
--htmldir=${DOC_PREFIX}/html \
|
||||
--pdfdir=${DOC_PREFIX}/pdf \
|
||||
--with-gmp=${WORLD_LIB} \
|
||||
--with-mpfr=${WORLD_LIB} \
|
||||
--with-mpc=${WORLD_LIB} \
|
||||
--with-isl=${WORLD_LIB} \
|
||||
--with-libelf=${WORLD_LIB} \
|
||||
--enable-languages=c++ \
|
||||
--disable-decimal-float \
|
||||
--disable-libffi \
|
||||
--disable-libgomp \
|
||||
--disable-libmudflap \
|
||||
--disable-libquadmath \
|
||||
--disable-libssp \
|
||||
--disable-libstdcxx-pch \
|
||||
--disable-libstdcxx-verbose \
|
||||
--disable-nls \
|
||||
--disable-shared \
|
||||
--disable-threads \
|
||||
--disable-tls \
|
||||
--with-gnu-as \
|
||||
--with-gnu-ld \
|
||||
--with-newlib \
|
||||
--with-headers=yes \
|
||||
--with-python-dir=share/gcc-${TARGET} \
|
||||
--with-sysroot=${BUILD_PREFIX}/target-libs/${TARGET} \
|
||||
--with-multilib-list=${MULTILIB_LIST} \
|
||||
--with-host-libstdcxx="-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" \
|
||||
--with-pkgversion="${PKGVERSION}"
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/gcc-size-libstdcxx \
|
||||
CXXFLAGS_FOR_TARGET="-g -Os -ffunction-sections -fdata-sections -fno-exceptions" all-target-libstdc++-v3 ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into intermediate directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gcc-size-libstdcxx install-target-libstdc++-v3 ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Copy all target libraries into stage directory"
|
||||
@for multilib in $$(${INTERIM_PREFIX}/bin/${TARGET}-gcc -print-multi-lib) ; do \
|
||||
multilib_dir=$${multilib%%;*} ; \
|
||||
for srclib in libstdc++.a libsupc++.a libc.a libg.a librdimon.a nano.specs rdimon.specs nosys.specs ; do \
|
||||
dstlib=$$(echo "$${srclib}" | ${SED} 's/\.a$$/_nano.a/') ; \
|
||||
${CP} -f ${BUILD_PREFIX}/target-libs/${TARGET}/lib/$${multilib_dir}/$${srclib} ${INTERIM_PREFIX}/${TARGET}/lib/$${multilib_dir}/$${dstlib} ; \
|
||||
done ; \
|
||||
${CP} -f ${BUILD_PREFIX}/target-libs/${TARGET}/lib/$${multilib_dir}/*crt0.o ${INTERIM_PREFIX}/${TARGET}/lib/$${multilib_dir}/ ; \
|
||||
done
|
||||
@${MKDIR} ${INTERIM_PREFIX}/${TARGET}/include/newlib-nano
|
||||
@${CP} ${BUILD_PREFIX}/target-libs/${TARGET}/include/newlib.h ${INTERIM_PREFIX}/${TARGET}/include/newlib-nano/newlib.h
|
||||
|
||||
build-gdb:
|
||||
@${ECHO_MSG} "====> Build gdb"
|
||||
@${RM} -rf ${BUILD_PREFIX}/gdb
|
||||
@${MKDIR} ${BUILD_PREFIX}/gdb
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/gdb && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/gdb/configure \
|
||||
${COMMON_GDB_CONFIGURE_ARGS} \
|
||||
--with-python=no
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/gdb all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gdb install ${MAKE_ARGS}
|
||||
@${RM} -rf ${INTERIM_PREFIX}/include
|
||||
.if ${PORT_OPTIONS:MHTML} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build HTML documentation"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gdb html ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install HTML documentation into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gdb install-html ${MAKE_ARGS}
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MPDF} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build PDF documentation"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gdb pdf ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install PDF documentation into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gdb install-pdf ${MAKE_ARGS}
|
||||
.endif
|
||||
|
||||
build-pygdb:
|
||||
@${ECHO_MSG} "====> Build py-gdb"
|
||||
@${RM} -rf ${BUILD_PREFIX}/py-gdb
|
||||
@${MKDIR} ${BUILD_PREFIX}/py-gdb
|
||||
@${ECHO_MSG} "=====> Configure"
|
||||
@cd ${BUILD_PREFIX}/py-gdb && \
|
||||
${MAKE_ENV} ${CONFIGURE_ENV} ${SRC_DIR}/gdb/configure \
|
||||
${COMMON_GDB_CONFIGURE_ARGS} \
|
||||
--with-python=${PYTHON_CMD} \
|
||||
--program-prefix=${TARGET}- --program-suffix=-py
|
||||
@${ECHO_MSG} "=====> Build"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${BUILD_PREFIX}/py-gdb all ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/py-gdb install ${MAKE_ARGS}
|
||||
@${RM} -rf ${INTERIM_PREFIX}/include
|
||||
.if ${PORT_OPTIONS:MHTML} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build HTML documentation"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gdb html ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install HTML documentation into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gdb install-html ${MAKE_ARGS}
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MPDF} && ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "=====> Build PDF documentation"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gdb pdf ${MAKE_ARGS}
|
||||
@${ECHO_MSG} "=====> Install PDF documentation into stage directory"
|
||||
@${MAKE_ENV} ${MAKE_CMD} -C ${BUILD_PREFIX}/gdb install-pdf ${MAKE_ARGS}
|
||||
.endif
|
||||
|
||||
install-samples:
|
||||
.if ${PORT_OPTIONS:MEXAMPLES}
|
||||
@${ECHO_MSG} "====> Install samples into stage directory"
|
||||
@${TAR} -xf ${SRC_DIR}/samples.tar.bz2 -C ${INTERIM_PREFIX}/share/gcc-${TARGET}
|
||||
.else
|
||||
@${DO_NADA}
|
||||
.endif
|
||||
|
||||
install-misc:
|
||||
.if ${PORT_OPTIONS:MDOCS}
|
||||
@${ECHO_MSG} "====> Install misc. files into stage directory"
|
||||
@for doc in ${MISC_DOCS} ; do \
|
||||
${CP} -f ${WRKDIR}/${ORIGINAL_PACKAGE_NAME}/$${doc} ${DOC_PREFIX}/ ; \
|
||||
done
|
||||
.else
|
||||
@${DO_NADA}
|
||||
.endif
|
||||
|
||||
strip-binaries:
|
||||
@${ECHO_MSG} "====> Strip host binaries"
|
||||
@for bin in $$(${FIND} ${INTERIM_PREFIX}/bin -type f -name ${TARGET}-\*) ; do \
|
||||
if ! ${FILE} $$bin | ${GREP} -qs ': ELF' ; then continue ; fi ; \
|
||||
${STRIP_CMD} $${bin} ; \
|
||||
done
|
||||
@for bin in $$(${FIND} ${INTERIM_PREFIX}/${TARGET}/bin -type f -maxdepth 1 -mindepth 1) ; do \
|
||||
if ! ${FILE} $$bin | ${GREP} -qs ': ELF' ; then continue ; fi ; \
|
||||
${STRIP_CMD} $${bin} ; \
|
||||
done
|
||||
@${STRIP_CMD} ${INTERIM_PREFIX}/lib/libcc1.so.0
|
||||
@for bin in $$(${FIND} ${INTERIM_PREFIX}/lib/gcc/${TARGET}/${GCC_VERSION} -perm +111 -and ! -type d) ; do \
|
||||
if ! ${FILE} $$bin | ${GREP} -qs ': ELF' ; then continue ; fi ; \
|
||||
${STRIP_CMD} $${bin} ; \
|
||||
done
|
||||
|
||||
strip-target-libraries:
|
||||
@${ECHO_MSG} "====> Strip target libraries"
|
||||
@for target in $$(${FIND} ${INTERIM_PREFIX}/${TARGET}/lib ${INTERIM_PREFIX}/lib/gcc/${TARGET}/${GCC_VERSION} -type f -name \*.a -o -name \*.o) ; do \
|
||||
${INTERIM_PREFIX}/bin/${TARGET}-objcopy -R .comment -R .note -R .debug_info -R .debug_aranges -R .debug_pubnames -R .debug_pubtypes -R .debug_abbrev -R .debug_line -R .debug_str -R .debug_ranges -R .debug_loc $${target} ; \
|
||||
done
|
||||
@${ECHO_MSG} "====> Remove *.la files and other leftovers"
|
||||
@${FIND} ${INTERIM_PREFIX} -name \*.la -delete
|
||||
@${RM} -f ${INTERIM_PREFIX}/lib/charset.alias ${INTERIM_PREFIX}/lib/libiberty.a
|
|
@ -0,0 +1,16 @@
|
|||
--- binutils-gdb--gdb/gdb/Makefile.in.orig 2024-11-30 00:01:16 UTC
|
||||
+++ binutils-gdb--gdb/gdb/Makefile.in
|
||||
@@ -676,11 +676,11 @@ INTERNAL_LDFLAGS = \
|
||||
CLIBS = $(SIM) $(READLINE) $(OPCODES) $(LIBCTF) $(BFD) $(ZLIB) $(ZSTD_LIBS) \
|
||||
$(LIBSUPPORT) $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \
|
||||
$(XM_CLIBS) $(GDBTKLIBS) $(LIBBACKTRACE_LIB) \
|
||||
- @LIBS@ @GUILE_LIBS@ @PYTHON_LIBS@ $(AMD_DBGAPI_LIBS) \
|
||||
+ @LIBS@ @GUILE_LIBS@ $(AMD_DBGAPI_LIBS) \
|
||||
$(LIBEXPAT) $(LIBLZMA) $(LIBBABELTRACE) $(LIBIPT) \
|
||||
$(WIN32LIBS) $(LIBGNU) $(LIBGNU_EXTRA_LIBS) $(LIBICONV) \
|
||||
$(GMPLIBS) $(SRCHIGH_LIBS) $(LIBXXHASH) $(PTHREAD_LIBS) \
|
||||
- $(DEBUGINFOD_LIBS) $(LIBBABELTRACE_LIB)
|
||||
+ $(DEBUGINFOD_LIBS) $(LIBBABELTRACE_LIB) @PYTHON_LIBS@
|
||||
CDEPS = $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE_DEPS) $(CTF_DEPS) \
|
||||
$(OPCODES) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS) $(LIBGNU) \
|
||||
$(LIBSUPPORT)
|
|
@ -0,0 +1,10 @@
|
|||
--- binutils-gdb--gdb/gdb/configure.orig 2025-03-31 18:36:01 UTC
|
||||
+++ binutils-gdb--gdb/gdb/configure
|
||||
@@ -28123,6 +28123,7 @@
|
||||
|
||||
|
||||
new_CPPFLAGS=${python_includes}
|
||||
+ python_libs="-L$python_prefix/lib $python_libs"
|
||||
new_LIBS=${python_libs}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for python" >&5
|
||||
$as_echo_n "checking for python... " >&6; }
|
|
@ -0,0 +1,29 @@
|
|||
--- gnu-devtools-for-arm/build-baremetal-toolchain.sh.orig 2025-03-31 10:59:01 UTC
|
||||
+++ gnu-devtools-for-arm/build-baremetal-toolchain.sh
|
||||
@@ -263,7 +263,7 @@ flag_morello=0
|
||||
check_targets="check-binutils check-ld check-gas check-gcc check-g++ check-target-libatomic check-target-libstdc++-v3 check-gdb"
|
||||
check_nano_targets="check-gcc-nano check-g++-nano check-target-libstdc++-v3-nano"
|
||||
# Parse command-line options
|
||||
-args=$(getopt -ohj:l:x -l bugurl:,builddir:,config-flags-binutils:,config-flags-gcc:,config-flags-host-tools:,config-flags-qemu:,debug,debug-target,dejagnu-site:,dejagnu-src:,enable-gdb,enable-gdb-with-python:,disable-gdb,enable-gcc,disable-gcc,enable-binutils,disable-binutils,enable-newlib,disable-newlib,enable-maintainer-mode,disable-maintainer-mode,enable-newlib-nano,disable-newlib-nano,enable-newlib-nano-check,disable-newlib-nano-check,enable-qemu,disable-qemu,help,host-toolchain-path:,ldflags-for-target:,ldflags-for-nano-target:,newlib-installdir:,package,no-package,qemu-test-path:,release,no-release,resultdir:,srcdir:,tag:,tardir:,target:,target-board:,timestamp:,with-language:,check-gdb,no-check-gdb,morello,host: -n $(basename "$0") -- "$@")
|
||||
+args=$(${LOCALBASE}/bin/getopt -ohj:l:x -l bugurl:,builddir:,config-flags-binutils:,config-flags-gcc:,config-flags-host-tools:,config-flags-qemu:,debug,debug-target,dejagnu-site:,dejagnu-src:,enable-gdb,enable-gdb-with-python:,disable-gdb,enable-gcc,disable-gcc,enable-binutils,disable-binutils,enable-newlib,disable-newlib,enable-maintainer-mode,disable-maintainer-mode,enable-newlib-nano,disable-newlib-nano,enable-newlib-nano-check,disable-newlib-nano-check,enable-qemu,disable-qemu,help,host-toolchain-path:,ldflags-for-target:,ldflags-for-nano-target:,newlib-installdir:,package,no-package,qemu-test-path:,release,no-release,resultdir:,srcdir:,tag:,tardir:,target:,target-board:,timestamp:,with-language:,check-gdb,no-check-gdb,morello,host: -n $(basename "$0") -- "$@")
|
||||
eval set -- "$args"
|
||||
while [ $# -gt 0 ]; do
|
||||
if [ -n "${opt_prev:-}" ]; then
|
||||
@@ -1305,7 +1305,7 @@ while true; do
|
||||
( ulimit -v $memlimit &&
|
||||
RUNTESTFLAGS="$RUNTESTFLAGS" \
|
||||
DEJAGNU_TIMEOUT=$timelimit toolchain_prefix="$installdir$prefix" \
|
||||
- make -C "$objdir/binutils" $parallel -k "$stage" \
|
||||
+ gmake -C "$objdir/binutils" $parallel -k "$stage" \
|
||||
CC_FOR_TARGET="$installdir$prefix/bin/$target-gcc") || true
|
||||
# Capture the results
|
||||
mkdir -p "$resultdir/vanilla"
|
||||
@@ -1357,7 +1357,7 @@ while true; do
|
||||
if [ $flag_check_gdb -eq 1 ]; then
|
||||
( ulimit -v $memlimit &&
|
||||
RUNTESTFLAGS="${default_target_board:+--target_board=$default_target_board} $RUNTESTFLAGS" \
|
||||
- toolchain_prefix="$installdir$prefix" make -C "$objdir/gdb" $parallel -k "$stage") || true
|
||||
+ toolchain_prefix="$installdir$prefix" gmake -C "$objdir/gdb" $parallel -k "$stage") || true
|
||||
|
||||
# Capture the results
|
||||
mkdir -p "$resultdir/vanilla"
|
|
@ -0,0 +1,29 @@
|
|||
--- gnu-devtools-for-arm/build-cross-linux-toolchain.sh.orig 2025-03-31 10:59:01 UTC
|
||||
+++ gnu-devtools-for-arm/build-cross-linux-toolchain.sh
|
||||
@@ -1174,7 +1174,7 @@ EOF
|
||||
mkdir -p "${build_sysroot}/$target_libdir"
|
||||
mkdir -p "${build_sysroot}/$target_rtlddir"
|
||||
|
||||
- make -C "$objdir/$libname-headers" csu/subdir_lib
|
||||
+ gmake -C "$objdir/$libname-headers" csu/subdir_lib
|
||||
cp $objdir/$libname-headers/csu/crt1.o $objdir/$libname-headers/csu/crti.o $objdir/$libname-headers/csu/crtn.o "$build_sysroot/$target_libdir"
|
||||
|
||||
libc_host_compiler="$installdir/$host_prefix/bin"
|
||||
@@ -1445,7 +1445,7 @@ EOF
|
||||
( ulimit -S -t 120 &&
|
||||
RUNTESTFLAGS="$RUNTESTFLAGS" \
|
||||
DESTDIR=${installdir} \
|
||||
- make -C $objdir_local -k $parallel $stage \
|
||||
+ gmake -C $objdir_local -k $parallel $stage \
|
||||
CC_FOR_TARGET="${installdir}/${host_prefix}/bin/$target-gcc" ) \
|
||||
|| true
|
||||
|
||||
@@ -1481,7 +1481,7 @@ EOF
|
||||
if [ -d "$srcdir/libffi" ];
|
||||
then
|
||||
RUNTESTFLAGS="$RUNTESTFLAGS CC_FOR_TARGET=$target-gcc" \
|
||||
- make -C "$objdir/libffi" PARALLELMFLAGS=$parallel -k check || true
|
||||
+ gmake -C "$objdir/libffi" PARALLELMFLAGS=$parallel -k check || true
|
||||
# Capture the results
|
||||
mkdir -p "$resultdir"
|
||||
name=libffi
|
|
@ -0,0 +1,11 @@
|
|||
--- gnu-devtools-for-arm/build-gnu-toolchain.sh.orig 2025-03-31 10:59:01 UTC
|
||||
+++ gnu-devtools-for-arm/build-gnu-toolchain.sh
|
||||
@@ -191,7 +191,7 @@ EOF
|
||||
set_darwin_envvars
|
||||
|
||||
# Parse command-line options
|
||||
-args=$(getopt -ohj:l:x -l aprofile,check-gdb,no-check-gdb,debug,debug-target,dejagnu-site:,dejagnu-src:,disable-gdb,disable-multilib,morello,extra:,native,rmprofile,help,target:,with-arch:,builddir:,host-toolchain:,target-board: -n $(basename "$0") -- "$@")
|
||||
+args=$(${LOCALBASE}/bin/getopt -ohj:l:x -l aprofile,check-gdb,no-check-gdb,debug,debug-target,dejagnu-site:,dejagnu-src:,disable-gdb,disable-multilib,morello,extra:,native,rmprofile,help,target:,with-arch:,builddir:,host-toolchain:,target-board: -n $(basename "$0") -- "$@")
|
||||
eval set -- "$args"
|
||||
while [ $# -gt 0 ]; do
|
||||
if [ -n "${opt_prev:-}" ]; then
|
|
@ -0,0 +1,66 @@
|
|||
--- gnu-devtools-for-arm/utilities.sh.orig 2025-03-31 10:59:01 UTC
|
||||
+++ gnu-devtools-for-arm/utilities.sh
|
||||
@@ -33,6 +33,8 @@ number_of_cores()
|
||||
grep -c "^processor" /proc/cpuinfo
|
||||
elif [ "$(uname -s)" == "Darwin" ]; then
|
||||
sysctl -n hw.ncpu
|
||||
+ elif [ "$(uname -s)" == "FreeBSD" ]; then
|
||||
+ nproc 2> /dev/null || sysctl -n hw.ncpu
|
||||
else
|
||||
echo "1"
|
||||
fi
|
||||
@@ -56,6 +58,9 @@ find_build_triple ()
|
||||
echo "$machine-apple-darwin" # e.g. x86_64-apple-darwin or arm64-apple-darwin
|
||||
elif [[ "$plat" == "Linux" ]]; then
|
||||
echo "$machine-none-linux-gnu" # e.g. x86_64-none-linux-gnu
|
||||
+ elif [[ "$plat" == "FreeBSD" ]]; then
|
||||
+ ver=$(uname -r | sed 's/-.*$//')
|
||||
+ echo "$machine-unknown-freebsd$ver"
|
||||
else
|
||||
echo "$this_script: unsupported platform: $plat" >&2
|
||||
exit 1
|
||||
@@ -134,7 +139,7 @@ find_source_tree ()
|
||||
do
|
||||
if [[ "$d" == "gcc" ]]
|
||||
then
|
||||
- for x in `find "$srcdir" -maxdepth 1 -type d -printf '%f\n' | grep "^arm-gnu-toolchain-src-snapshot[0-9.-]*" | sort`
|
||||
+ for x in `gfind "$srcdir" -maxdepth 1 -type d -printf '%f\n' | grep "^arm-gnu-toolchain-src-snapshot[0-9.-]*" | sort`
|
||||
do
|
||||
echo "$srcdir/$x"
|
||||
return 0
|
||||
@@ -213,7 +218,7 @@ do_install ()
|
||||
test -n "$install_targets" || install_targets=install
|
||||
|
||||
update_stage "install ${component}"
|
||||
- make ${extra_install_envflags} DESTDIR=$destdir INSTALL="$(command -v install) -C" \
|
||||
+ gmake ${extra_install_envflags} DESTDIR=$destdir INSTALL="$(command -v install) -C" \
|
||||
-C $objdir $install_targets
|
||||
echo "${component}_install_targets=$install_targets" >> "$build_flags_path"
|
||||
}
|
||||
@@ -303,7 +308,7 @@ do_make ()
|
||||
make_opts="$parallel"
|
||||
fi
|
||||
|
||||
- make $make_opts -C $objdir $build_targets
|
||||
+ gmake $make_opts -C $objdir $build_targets
|
||||
echo "${component}_build_targets=$build_targets" >> "$build_flags_path"
|
||||
}
|
||||
|
||||
@@ -323,7 +328,7 @@ check_in_gcc()
|
||||
local resultdir="$4"
|
||||
|
||||
( ulimit -v $memlimit &&
|
||||
- make -C "$dir" $parallel -k $target RUNTESTFLAGS="$RUNTESTFLAGS") || true
|
||||
+ gmake -C "$dir" $parallel -k $target RUNTESTFLAGS="$RUNTESTFLAGS") || true
|
||||
|
||||
# Capture the results
|
||||
mkdir -p "$resultdir"
|
||||
@@ -344,7 +349,7 @@ check_in_newlib()
|
||||
( ulimit -v $memlimit &&
|
||||
RUNTESTFLAGS="$RUNTESTFLAGS" \
|
||||
DEJAGNU_TIMEOUT=$timelimit toolchain_prefix="$gcc_prefix" \
|
||||
- make -C "$dir" $parallel -k "$check_target" \
|
||||
+ gmake -C "$dir" $parallel -k "$check_target" \
|
||||
CC_FOR_TARGET="${gcc_prefix}/bin/$target-gcc") || true
|
||||
# Capture the results
|
||||
mkdir -p "$resultdir"
|
|
@ -1,11 +0,0 @@
|
|||
--- src/gcc/gcc/config/arm/arm.h.orig 2019-10-11 00:03:43 UTC
|
||||
+++ src/gcc/gcc/config/arm/arm.h
|
||||
@@ -2211,7 +2211,7 @@ extern const char *arm_target_thumb_only (int argc, co
|
||||
|
||||
/* -mcpu=native handling only makes sense with compiler running on
|
||||
an ARM chip. */
|
||||
-#if defined(__arm__)
|
||||
+#if defined(__arm__) && !defined(CROSS_DIRECTORY_STRUCTURE)
|
||||
extern const char *host_detect_local_cpu (int argc, const char **argv);
|
||||
#define HAVE_LOCAL_CPU_DETECT
|
||||
# define MCPU_MTUNE_NATIVE_FUNCTIONS \
|
|
@ -1,42 +0,0 @@
|
|||
--- src/gcc/gcc/system.h.orig 2021-06-01 00:15:23 UTC
|
||||
+++ src/gcc/gcc/system.h
|
||||
@@ -203,19 +203,6 @@ extern int fprintf_unlocked (FILE *, const char *, ...
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-/* There are an extraordinary number of issues with <ctype.h>.
|
||||
- The last straw is that it varies with the locale. Use libiberty's
|
||||
- replacement instead. */
|
||||
-#include "safe-ctype.h"
|
||||
-
|
||||
-#include <sys/types.h>
|
||||
-
|
||||
-#include <errno.h>
|
||||
-
|
||||
-#if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO
|
||||
-extern int errno;
|
||||
-#endif
|
||||
-
|
||||
#ifdef __cplusplus
|
||||
#if defined (INCLUDE_ALGORITHM) || !defined (HAVE_SWAP_IN_UTILITY)
|
||||
# include <algorithm>
|
||||
@@ -235,6 +222,19 @@ extern int errno;
|
||||
# include <cstring>
|
||||
# include <new>
|
||||
# include <utility>
|
||||
+#endif
|
||||
+
|
||||
+/* There are an extraordinary number of issues with <ctype.h>.
|
||||
+ The last straw is that it varies with the locale. Use libiberty's
|
||||
+ replacement instead. */
|
||||
+#include "safe-ctype.h"
|
||||
+
|
||||
+#include <sys/types.h>
|
||||
+
|
||||
+#include <errno.h>
|
||||
+
|
||||
+#if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO
|
||||
+extern int errno;
|
||||
#endif
|
||||
|
||||
/* Some of glibc's string inlines cause warnings. Plus we'd rather
|
|
@ -1,11 +0,0 @@
|
|||
--- src/gcc/gcc/tree-vect-loop.c.orig 2019-12-02 09:49:15 UTC
|
||||
+++ src/gcc/gcc/tree-vect-loop.c
|
||||
@@ -55,6 +55,8 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "vec-perm-indices.h"
|
||||
#include "tree-eh.h"
|
||||
|
||||
+#define vec_step vec_step_
|
||||
+
|
||||
/* Loop Vectorization Pass.
|
||||
|
||||
This pass tries to vectorize loops.
|
|
@ -1,11 +0,0 @@
|
|||
--- src/gdb/gdb/dtrace-probe.c.orig 2019-10-26 00:03:38 UTC
|
||||
+++ src/gdb/gdb/dtrace-probe.c
|
||||
@@ -77,6 +77,8 @@ struct dtrace_probe_enabler
|
||||
class dtrace_static_probe_ops : public static_probe_ops
|
||||
{
|
||||
public:
|
||||
+ dtrace_static_probe_ops() {}
|
||||
+
|
||||
/* See probe.h. */
|
||||
bool is_linespec (const char **linespecp) const override;
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
--- src/gdb/gdb/dwarf2/macro.c.orig 2021-01-11 21:34:03.097341000 +0300
|
||||
+++ src/gdb/gdb/dwarf2/macro.c 2021-01-11 21:37:13.156194000 +0300
|
||||
@@ -678,7 +678,7 @@
|
||||
}
|
||||
break;
|
||||
|
||||
- case DW_MACINFO_vendor_ext:
|
||||
+ case DW_MACRO_hi_user:
|
||||
if (!section_is_gnu)
|
||||
{
|
||||
unsigned int bytes_read;
|
||||
@@ -823,7 +823,7 @@
|
||||
mac_ptr += offset_size;
|
||||
break;
|
||||
|
||||
- case DW_MACINFO_vendor_ext:
|
||||
+ case DW_MACRO_hi_user:
|
||||
/* Only skip the data by MAC_PTR. */
|
||||
if (!section_is_gnu)
|
||||
{
|
|
@ -1,11 +0,0 @@
|
|||
--- src/gdb/gdb/probe.c.orig 2019-10-26 00:03:38 UTC
|
||||
+++ src/gdb/gdb/probe.c
|
||||
@@ -43,6 +43,8 @@
|
||||
class any_static_probe_ops : public static_probe_ops
|
||||
{
|
||||
public:
|
||||
+ any_static_probe_ops() {}
|
||||
+
|
||||
/* See probe.h. */
|
||||
bool is_linespec (const char **linespecp) const override;
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- src/gdb/gdb/python/python-config.py.orig 2018-05-04 21:32:36 UTC
|
||||
+++ src/gdb/gdb/python/python-config.py
|
||||
@@ -58,7 +58,7 @@ for opt in opt_flags:
|
||||
print (to_unix_path(' '.join(flags)))
|
||||
|
||||
elif opt in ('--libs', '--ldflags'):
|
||||
- libs = ['-lpython' + pyver + abiflags]
|
||||
+ libs = ['-L' + sysconfig.PREFIX + "/lib", '-lpython' + pyver + abiflags]
|
||||
if getvar('LIBS') is not None:
|
||||
libs.extend(getvar('LIBS').split())
|
||||
if getvar('SYSLIBS') is not None:
|
|
@ -1,12 +0,0 @@
|
|||
--- src/gdb/gdb/target-float.c.orig 2019-10-26 00:03:38 UTC
|
||||
+++ src/gdb/gdb/target-float.c
|
||||
@@ -1153,7 +1153,9 @@ host_float_ops<T>::compare (const gdb_byte *x, const s
|
||||
|
||||
#ifdef HAVE_LIBMPFR
|
||||
|
||||
+#ifndef MPFR_USE_INTMAX_T
|
||||
#define MPFR_USE_INTMAX_T
|
||||
+#endif
|
||||
|
||||
#include <mpfr.h>
|
||||
|
|
@ -1,20 +1,12 @@
|
|||
FSF binutils/gcc/gdb toolchain for ARM Cortex-M & Cortex-R
|
||||
processors (Cortex-M0/M0+/M3/M4, Cortex-R4/R5/R7).
|
||||
This port brings C and C++ compilers. Gloss and libc layer
|
||||
are provided through newlib embedded C library.
|
||||
This is complete package prepated by "GNU Tools for ARM Embedded
|
||||
Processors" project (which is maintained by ARM company itself).
|
||||
The GNU Toolchain for the Arm Architecture releases produced by Arm
|
||||
(referred to as “Arm GNU Toolchain”) enable partners, developers
|
||||
the community to use new features from recent Arm Architecture and
|
||||
from open-source projects GCC, Binutils, glibc, Newlib, and GDB.
|
||||
|
||||
It includes:
|
||||
binutils
|
||||
gcc 5.3 with LTO and GRAPHITE support.
|
||||
newlib optimized for speed
|
||||
newlib-nano optimized for
|
||||
two versions of libstdc++, optimized for speed and size.
|
||||
gdb without sim.
|
||||
* Contains integrated and validated packages.
|
||||
* Supports C and C++ languages.
|
||||
* Supports CPUs based on the A, R and M profiles of the Arm architecture
|
||||
(including Cortex-A, Cortex-R, Cortex-M and Neoverse processors).
|
||||
* Provides different variants of the toolchain which can be used for bare-metal
|
||||
embedded development.
|
||||
|
||||
All this is built with support for armv6-m, armv7-ar,
|
||||
armv7-m and armv7e-m targets, armv7e-m with and without
|
||||
FPU support and armv8-m too.
|
||||
This port gives bit-to-bit compatibility with "official"
|
||||
embedded ARM toolchain for MacOS X, Linux and Windows.
|
||||
|
|
File diff suppressed because it is too large
Load diff
4557
devel/gcc-arm-embedded/pkg-plist.aarch64
Normal file
4557
devel/gcc-arm-embedded/pkg-plist.aarch64
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue