Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
HardenedBSD
hardenedbsd-ports
Commits
4d661641
Commit
4d661641
authored
Feb 15, 2014
by
lev
Browse files
Add gcc-arm-embedded port -- full ARM Cortex-Mx/Rx toolchain, officialy
packaged by ARM Holding.
parent
658c9b11
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
devel/Makefile
View file @
4d661641
...
...
@@ -491,6 +491,7 @@
SUBDIR
+=
gauche-readline
SUBDIR
+=
gaul
SUBDIR
+=
gazpacho
SUBDIR
+=
gcc-arm-embedded
SUBDIR
+=
gccmakedep
SUBDIR
+=
gconf2
SUBDIR
+=
gconf2-reference
...
...
devel/gcc-arm-embedded/Makefile
0 → 100644
View file @
4d661641
# $FreeBSD$
PORTNAME
=
gcc-arm-embedded
PORTVERSION
=
4.8.20131204
CATEGORIES
=
devel
MASTER_SITES
=
http://launchpad.net/gcc-arm-embedded/4.8/4.8-2013-q4-major/+download/
DISTNAME
=
${ORIGINAL_PACKAGE_NAME}
-src
MAINTAINER
=
lev@FreeBSD.org
COMMENT
=
Complete gcc-based toolcahin
for
embedded ARM development
LICENSE
=
GPLv2 LGPL20 LGPL21 GPLv3 LGPL3
LICENSE_COMB
=
multi
LIB_DEPENDS
=
libgmp.so:
${PORTSDIR}
/math/gmp
\
libmpfr.so:
${PORTSDIR}
/math/mpfr
\
libmpc.so:
${PORTSDIR}
/math/mpc
\
libcloog-isl.so:
${PORTSDIR}
/math/cloog
\
libelf.so:
${PORTSDIR}
/devel/libelf
OPTIONS_DEFINE
=
EXAMPLES HTML PDF
OPTIONS_DEFAULT
=
EXAMPLES
HTML_DESC
=
Install HTML documentation
PDF_DESC
=
Install PDF documentation
(
requires TeX, it is huge
)
PDF_USE
=
TEX
=
base:build,tex:build
PDF_BUILD_DEPENDS
=
texi2dvi:
${PORTSDIR}
/print/texinfo
OPTIONS_SUB
=
yes
USE_BZIP2
=
yes
USES
=
gmake bison iconv compiler
GNU_CONFIGURE
=
yes
BUILD_WRKSRC
=
${WRKDIR}
FULL_VERSION
=
4_8-2013q4-20131204
TARGET
=
arm-none-eabi
ORIGINAL_PACKAGE_NAME
=
gcc-
${TARGET}
-
${FULL_VERSION}
INFO_PATH
=
${PORTNAME}
-
${FULL_VERSION}
/share/doc/gcc-
${TARGET}
/info
INFO
=
annotate as bfd binutils configure cpp cppinternals gcc
\
gccinstall gccint gdb gdbint gprof ld stabs standards
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}
DOCS_SUFFIX
=
share/doc/gcc-
${TARGET}
SRC_DIR
=
${WRKDIR}
/
${ORIGINAL_PACKAGE_NAME}
/src
BUILD_DIR
=
${WRKDIR}
/build
INTERIM_PREFIX
=
${WRKDIR}
/install/
${PORTNAME}
-
${FULL_VERSION}
VAR_TO_SUBMAKE
=
BUILD_DIR CC CFLAGS CHOSEN_COMPILER_TYPE CONFIG_SITE
\
CONFIGURE_MAX_CMD_LEN CP CPP CPPFLAGS CXX CXXFLAGS
\
DOCS_SUFFIX ECHO_MSG EXAMPLESDIR FILE FIND GMAKE GREP
\
INSTALL_MACROS INTERIM_PREFIX LD LDFLAGS LIBDIR LN LOCALBASE
\
MAKE_JOBS_NUMBER MKDIR ORIGINAL_PACKAGE_NAME PORT_OPTIONS
\
PREFIX RM SED SH SRC_DIR STRIP_CMD TAR TARGET WRKDIR
VAR_TO_SUBMAKE_NOEXPAND
=
CONFIGURE_ENV MAKE_ENV
.
include
<bsd.port.pre.mk>
post-extract
:
@
${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 gcc plugins"
@
${TAR}
-xf
${SRC_DIR}
/gcc-plugins.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}
@
${ECHO_MSG}
"====> Extracting bundled newlib-nano"
@
${TAR}
-xf
${SRC_DIR}
/newlib-nano-2.0.tar.bz2
-C
${SRC_DIR}
do-configure
:
@
${RM}
-rf
${BUILD_DIR}
@
${MKDIR}
${BUILD_DIR}
@
${RM}
-rf
${INTERIM_PREFIX}
@
${MKDIR}
${INTERIM_PREFIX}
@
${CP}
${FILESDIR}
/Makefile
${WRKDIR}
@
${RM}
-f
${WRKDIR}
/Makefile.inc
.for
VAR
in
${VAR_TO_SUBMAKE}
@${ECHO}
'${VAR}=${${VAR}}'
>>
${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}
.
include
<bsd.port.post.mk>
devel/gcc-arm-embedded/distinfo
0 → 100644
View file @
4d661641
SHA256 (gcc-arm-none-eabi-4_8-2013q4-20131204-src.tar.bz2) = d3550fbb3592ba9ab160248990db8857d5d1611a75fa593b3841f3fdf92c6b2f
SIZE (gcc-arm-none-eabi-4_8-2013q4-20131204-src.tar.bz2) = 151411986
devel/gcc-arm-embedded/files/Makefile
0 → 100644
View file @
4d661641
# $FreeBSD$
.
include
"Makefile.inc"
MULTILIB_LIST
=
armv6-m,armv7-m,armv7e-m,armv7-r
PKGVERSION
=
GNU Tools
for
ARM Embedded Processors
BUILD_PREFIX
=
${WRKDIR}
/build
DOC_PREFIX
=
${INTERIM_PREFIX}
/
${DOCS_SUFFIX}
LDFLAGS
+=
-L
${LOCALBASE}
/lib
.if
${CHOSEN_COMPILER_TYPE}
==
clang
CFLAGS
+=
-Wno-string-plus-int
-Wno-empty-body
-Wno-self-assign
-Wno-shadow
CXXFLAGS
+=
-Wno-string-plus-int
-Wno-empty-body
-Wno-self-assign
-Wno-shadow
.
endif
MISC_DOCS
=
license.txt readme.txt release.txt
ALL_BUILD
=
build-binutils
\
build-gcc-first
\
build-newlib
\
build-newlib-nano
\
build-gcc-final
\
build-gcc-plugins
\
build-libstdcxx
\
build-gdb
\
install-samples
\
install-misc
\
strip-binaries
\
strip-target-libraries
.PHONY
:
${ALL_BUILD}
all
:
${ALL_BUILD}
build-binutils
:
@
${ECHO_MSG}
"====> Build binutils (log file:
${WRKDIR}
/binutils.log)"
@
${RM}
-rf
${BUILD_PREFIX}
/binutils
>
${WRKDIR}
/binutils.log 2>&1
@
${MKDIR}
${BUILD_PREFIX}
/binutils
>>
${WRKDIR}
/binutils.log 2>&1
@
${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
\
--enable-plugins
\
--with-sysroot
=
${INTERIM_PREFIX}
/
${TARGET}
\
--with-pkgversion
=
"
${PKGVERSION}
"
>>
${WRKDIR}
/binutils.log 2>&1
@
${ECHO_MSG}
"=====> Build"
@
${MAKE_ENV}
${GMAKE}
-j
${MAKE_JOBS_NUMBER}
-C
${BUILD_PREFIX}
/binutils all
>>
${WRKDIR}
/binutils.log 2>&1
@
${ECHO_MSG}
"=====> Install into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/binutils
install
>>
${WRKDIR}
/binutils.log 2>&1
@
${ECHO_MSG}
"=====> Prepare working area for library builds"
@
${MKDIR}
${BUILD_PREFIX}
/target-libs
>>
${WRKDIR}
/binutils.log 2>&1
@
${TAR}
-cf
-
-C
${INTERIM_PREFIX}
.
|
${TAR}
-xf
-
-C
${BUILD_PREFIX}
/target-libs
>>
${WRKDIR}
/binutils.log 2>&1
.if ${PORT_OPTIONS
:
MHTML} && ${PORT_OPTIONS:MDOCS}
@
${ECHO_MSG}
"=====> Build HTML documentation"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/binutils html
>>
${WRKDIR}
/binutils.log 2>&1
@
${ECHO_MSG}
"=====> Install HTML documentation into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/binutils install-html
>>
${WRKDIR}
/binutils.log 2>&1
.
endif
.if ${PORT_OPTIONS
:
MPDF} && ${PORT_OPTIONS:MDOCS}
@
${ECHO_MSG}
"=====> Build PDF documentation"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/binutils pdf
>>
${WRKDIR}
/binutils.log 2>&1
@
${ECHO_MSG}
"=====> Install PDF documentation into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/binutils install-pdf
>>
${WRKDIR}
/binutils.log 2>&1
.
endif
@${ECHO_MSG}
"=====> Cleanup installation"
@${RM}
-rf
${INTERIM_PREFIX}/lib
>>
${WRKDIR}/binutils.log
2>&1
build-gcc-first
:
@
${ECHO_MSG}
"====> Build preliminary gcc (log file:
${WRKDIR}
/gcc-first.log)"
@
${RM}
-rf
${BUILD_PREFIX}
/gcc-first
>
${WRKDIR}
/gcc-first.log 2>&1
@
${MKDIR}
${BUILD_PREFIX}
/gcc-first
>>
${WRKDIR}
/gcc-first.log 2>&1
@
${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
=
${LOCALBASE}
\
--with-mpfr
=
${LOCALBASE}
\
--with-mpc
=
${LOCALBASE}
\
--with-isl
=
${LOCALBASE}
\
--disable-isl-version-check
\
--with-cloog
=
${LOCALBASE}
\
--with-libelf
=
${LOCALBASE}
\
--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-pkgversion
=
"
${PKGVERSION}
"
>>
${WRKDIR}
/gcc-first.log 2>&1
@
${ECHO_MSG}
"=====> Build"
@
${MAKE_ENV}
${GMAKE}
-j
${MAKE_JOBS_NUMBER}
-C
${BUILD_PREFIX}
/gcc-first all
>>
${WRKDIR}
/gcc-first.log 2>&1
@
${ECHO_MSG}
"=====> Install into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gcc-first install-gcc
>>
${WRKDIR}
/gcc-first.log 2>&1
@
${RM}
-f
${INTERIM_PREFIX}
/bin/
${TARGET}
-gccbug
>>
${WRKDIR}
/gcc-first.log 2>&1
@
${RM}
-f
${INTERIM_PREFIX}
/lib/libiberty.a
>>
${WRKDIR}
/gcc-first.log 2>&1
@
${RM}
-rf
${INTERIM_PREFIX}
/include
>>
${WRKDIR}
/gcc-first.log 2>&1
build-newlib
:
@
${ECHO_MSG}
"====> Build newlib (log file:
${WRKDIR}
/newlib.log)"
@
${RM}
-rf
${BUILD_PREFIX}
/newlib
>
${WRKDIR}
/newlib.log 2>&1
@
${MKDIR}
${BUILD_PREFIX}
/newlib
>>
${WRKDIR}
/newlib.log 2>&1
@
${ECHO_MSG}
"=====> Configure"
@
cd
${BUILD_PREFIX}
/newlib
&&
\
${MAKE_ENV}
${CONFIGURE_ENV}
PATH
=
"
${INTERIM_PREFIX}
/bin:
${PATH}
"
CFLAGS_FOR_TARGET
=
"-g -O2 -fno-unroll-loops -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-register-fini
\
--disable-newlib-supplied-syscalls
\
--disable-nls
>>
${WRKDIR}
/newlib.log 2>&1
@
${ECHO_MSG}
"=====> Build"
@
${MAKE_ENV}
PATH
=
"
${INTERIM_PREFIX}
/bin:
${PATH}
"
${GMAKE}
-j
${MAKE_JOBS_NUMBER}
-C
${BUILD_PREFIX}
/newlib all
>>
${WRKDIR}
/newlib.log 2>&1
@
${ECHO_MSG}
"=====> Install into stage directory"
@
${MAKE_ENV}
PATH
=
"
${INTERIM_PREFIX}
/bin:
${PATH}
"
${GMAKE}
-C
${BUILD_PREFIX}
/newlib
install
>>
${WRKDIR}
/newlib.log 2>&1
.if ${PORT_OPTIONS
:
MHTML} && ${PORT_OPTIONS:MDOCS}
@
${ECHO_MSG}
"=====> Build HTML documentation"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/newlib html
>>
${WRKDIR}
/newlib.log 2>&1
@
${ECHO_MSG}
"=====> Install HTML documentation into stage directory"
@
${MKDIR}
${DOC_PREFIX}
/html/libc
>>
${WRKDIR}
/newlib.log 2>&1
@
${TAR}
-cf
-
-C
${BUILD_PREFIX}
/newlib/
${TARGET}
/newlib/libc/libc.html
.
|
${TAR}
-xf
-
-C
${DOC_PREFIX}
/html/libc
>>
${WRKDIR}
/newlib.log 2>&1
@
${MKDIR}
${DOC_PREFIX}
/html/libm
>>
${WRKDIR}
/newlib.log 2>&1
@
${TAR}
-cf
-
-C
${BUILD_PREFIX}
/newlib/
${TARGET}
/newlib/libm/libm.html
.
|
${TAR}
-xf
-
-C
${DOC_PREFIX}
/html/libm
>>
${WRKDIR}
/newlib.log 2>&1
.
endif
.if ${PORT_OPTIONS
:
MPDF} && ${PORT_OPTIONS:MDOCS}
@
${ECHO_MSG}
"=====> Build PDF documentation (ignore errors)"
@
-
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/newlib/
${TARGET}
/newlib/libc pdf
>>
${WRKDIR}
/newlib.log 2>&1
@
-
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/newlib/
${TARGET}
/newlib/libm pdf
>>
${WRKDIR}
/newlib.log 2>&1
@
${ECHO_MSG}
"=====> Install PDF documentation into stage directory"
@
${CP}
-f
${BUILD_PREFIX}
/newlib/
${TARGET}
/newlib/libc/libc.pdf
${DOC_PREFIX}
/pdf/libc.pdf
>>
${WRKDIR}
/newlib.log 2>&1
@
${CP}
-f
${BUILD_PREFIX}
/newlib/
${TARGET}
/newlib/libm/libm.pdf
${DOC_PREFIX}
/pdf/libm.pdf
>>
${WRKDIR}
/newlib.log 2>&1
.
endif
build-newlib-nano
:
@
${ECHO_MSG}
"====> Build newlib-nano (log file:
${WRKDIR}
/newlib-nano.log)"
@
${RM}
-rf
${BUILD_PREFIX}
/newlib-nano
>
${WRKDIR}
/newlib-nano.log 2>&1
@
${MKDIR}
${BUILD_PREFIX}
/newlib-nano
>>
${WRKDIR}
/newlib-nano.log 2>&1
@
${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-nano-2.0/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-small
\
--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
\
--disable-nls
>>
${WRKDIR}
/newlib-nano.log 2>&1
@
${ECHO_MSG}
"=====> Build"
@
${MAKE_ENV}
PATH
=
"
${INTERIM_PREFIX}
/bin:
${PATH}
"
${GMAKE}
-j
${MAKE_JOBS_NUMBER}
-C
${BUILD_PREFIX}
/newlib-nano all
>>
${WRKDIR}
/newlib-nano.log 2>&1
@
${ECHO_MSG}
"=====> Install into intermediate directory"
@
${MAKE_ENV}
PATH
=
"
${INTERIM_PREFIX}
/bin:
${PATH}
"
${GMAKE}
-C
${BUILD_PREFIX}
/newlib-nano
install
>>
${WRKDIR}
/newlib-nano.log 2>&1
build-gcc-final
:
@
${ECHO_MSG}
"====> Build final gcc and g++ (log file:
${WRKDIR}
/gcc-final.log)"
@
${RM}
-f
${INTERIM_PREFIX}
/
${TARGET}
/usr
>
${WRKDIR}
/gcc-final.log 2>&1
@
${LN}
-s
.
${INTERIM_PREFIX}
/
${TARGET}
/usr
>>
${WRKDIR}
/gcc-final.log 2>&1
@
${RM}
-rf
${BUILD_PREFIX}
/gcc-final
>>
${WRKDIR}
/gcc-final.log 2>&1
@
${MKDIR}
${BUILD_PREFIX}
/gcc-final
>>
${WRKDIR}
/gcc-final.log 2>&1
@
${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
=
${LOCALBASE}
\
--with-mpfr
=
${LOCALBASE}
\
--with-mpc
=
${LOCALBASE}
\
--with-isl
=
${LOCALBASE}
\
--disable-isl-version-check
\
--with-cloog
=
${LOCALBASE}
\
--with-libelf
=
${LOCALBASE}
\
--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-pkgversion
=
"
${PKGVERSION}
"
>>
${WRKDIR}
/gcc-final.log 2>&1
@
${ECHO_MSG}
"=====> Build"
@
${MAKE_ENV}
${GMAKE}
-j
${MAKE_JOBS_NUMBER}
-C
${BUILD_PREFIX}
/gcc-final
INHIBIT_LIBC_CFLAGS
=
"-DUSE_TM_CLONE_REGISTRY=0"
all
>>
${WRKDIR}
/gcc-final.log 2>&1
@
${ECHO_MSG}
"=====> Install into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gcc-final
install
>>
${WRKDIR}
/gcc-final.log 2>&1
.if ${PORT_OPTIONS
:
MHTML} && ${PORT_OPTIONS:MDOCS}
@
${ECHO_MSG}
"=====> Build HTML documentation"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gcc-final html
>>
${WRKDIR}
/gcc-final.log 2>&1
@
${ECHO_MSG}
"=====> Install HTML documentation into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gcc-final install-html
>>
${WRKDIR}
/gcc-final.log 2>&1
.
endif
.if ${PORT_OPTIONS
:
MPDF} && ${PORT_OPTIONS:MDOCS}
@
${ECHO_MSG}
"=====> Build PDF documentation"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gcc-final pdf
>>
${WRKDIR}
/gcc-final.log 2>&1
@
${ECHO_MSG}
"=====> Install PDF documentation into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gcc-final install-pdf
>>
${WRKDIR}
/gcc-final.log 2>&1
.
endif
@${ECHO_MSG}
"=====> Cleanup installation"
@${RM}
-f
${INTERIM_PREFIX}/bin/${TARGET}-gccbug
>>
${WRKDIR}/gcc-final.log
2>&1
@${FIND}
${INTERIM_PREFIX}/${TARGET}/lib
-name
libiberty.a
-delete
>>
${WRKDIR}/gcc-final.log
2>&1
@${RM}
-f
${INTERIM_PREFIX}/lib/libiberty.a
>>
${WRKDIR}/gcc-final.log
2>&1
@${RM}
-rf
${INTERIM_PREFIX}/
include
>> ${WRKDIR}/gcc-final.log 2>&1
@${RM}
-f
${INTERIM_PREFIX}/${TARGET}/usr
>>
${WRKDIR}/gcc-final.log
2>&1
build-gcc-plugins
:
@
${ECHO_MSG}
"====> Build gcc plugins (log file:
${WRKDIR}
/gcc-plugins.log)"
@
${RM}
-f
${WRKDIR}
/gcc-plugins.log
@
plugin_target_dir
=
$$
(
${INTERIM_PREFIX}
/bin/
${TARGET}
-gcc
-print-file-name
=
plugin
)
&&
\
plugins
=
$$
(
${FIND}
${SRC_DIR}
/gcc-plugins
-mindepth
1
-maxdepth
1
-type
d
-name
'[^\.]*'
)
&&
\
for
plugin_dir
in
$
${plugins}
;
do
\
plugin_name
=
$
$(
basename
"
$
${plugin_dir}
"
)
&&
\
src_files
=
$$
(
${FIND}
$
${plugin_dir}
-name
\*
.c
-or
-name
\*
.cc
)
&&
\
${ECHO_MSG}
"=====> Build plugin
$
${plugin_name}
from
$
${src_files}
"
&&
\
${ECHO_MSG}
"Build plugin
$
${plugin_name}
from
$
${src_files}
"
>>
${WRKDIR}
/gcc-plugins.log
&&
\
${CXX}
${CXXFLAGS}
${CPPFLAGS}
-fPIC
-fno-rtti
-O2
-shared
-I
$
${plugin_target_dir}
/include
-I
${LOCALBASE}
/include
$
${src_files}
\
-o
$
${plugin_target_dir}
/
$
${plugin_name}
.so
>>
${WRKDIR}
/gcc-plugins.log 2>&1
;
\
done
build-libstdcxx
:
@
${ECHO_MSG}
"====> Build size-optimized C++ runtime (log file:
${WRKDIR}
/gcc-size-libstdcxx.log)"
@
${RM}
-f
${BUILD_PREFIX}
/target-libs/
${TARGET}
/usr
>
${WRKDIR}
/gcc-size-libstdcxx.log 2>&1
@
${LN}
-s
.
${BUILD_PREFIX}
/target-libs/
${TARGET}
/usr
>>
${WRKDIR}
/gcc-size-libstdcxx.log 2>&1
@
${RM}
-rf
${BUILD_PREFIX}
/gcc-size-libstdcxx
>>
${WRKDIR}
/gcc-size-libstdcxx.log 2>&1
@
${MKDIR}
${BUILD_PREFIX}
/gcc-size-libstdcxx
>>
${WRKDIR}
/gcc-size-libstdcxx.log 2>&1
@
${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
=
${LOCALBASE}
\
--with-mpfr
=
${LOCALBASE}
\
--with-mpc
=
${LOCALBASE}
\
--with-isl
=
${LOCALBASE}
\
--disable-isl-version-check
\
--with-cloog
=
${LOCALBASE}
\
--with-libelf
=
${LOCALBASE}
\
--enable-languages
=
c,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-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-pkgversion
=
"
${PKGVERSION}
"
>>
${WRKDIR}
/gcc-size-libstdcxx.log 2>&1
@
${ECHO_MSG}
"=====> Build"
@
${MAKE_ENV}
${GMAKE}
-j
${MAKE_JOBS_NUMBER}
-C
${BUILD_PREFIX}
/gcc-size-libstdcxx
\
CXXFLAGS_FOR_TARGET
=
"-g -Os -ffunction-sections -fdata-sections -fno-exceptions"
all
>>
${WRKDIR}
/gcc-size-libstdcxx.log 2>&1
@
${ECHO_MSG}
"=====> Install into intermediate directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gcc-size-libstdcxx
install
>>
${WRKDIR}
/gcc-size-libstdcxx.log 2>&1
@
${ECHO_MSG}
"=====> Copy all target libraries into stage directory"
@
for
multilib
in
$$
(
${BUILD_PREFIX}
/target-libs/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$$/_s.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
>>
${WRKDIR}
/gcc-size-libstdcxx.log 2>&1
build-gdb
:
@
${ECHO_MSG}
"====> Build gdb (log file:
${WRKDIR}
/gdb.log)"
@
${RM}
-rf
${BUILD_PREFIX}
/gdb
>
${WRKDIR}
/gdb.log 2>&1
@
${MKDIR}
${BUILD_PREFIX}
/gdb
>>
${WRKDIR}
/gdb.log 2>&1
@
${ECHO_MSG}
"=====> Configure"
@
cd
${BUILD_PREFIX}
/gdb
&&
\
${MAKE_ENV}
${CONFIGURE_ENV}
${SRC_DIR}
/gdb/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-sim
\
--with-libexpat
\
--with-libexpat-prefix
=
${LOCALBASE}
\
--with-python
=
no
\
--with-system-gdbinit
=
${INTERIM_PREFIX}
/xxxx/
${TARGET}
/lib/gdbinit
\
--with-gdb-datadir
=
'$
${prefix}
/
${TARGET}
/share/gdb'
\
--with-pkgversion
=
"
${PKGVERSION}
"
>>
${WRKDIR}
/gdb.log 2>&1
@
${ECHO_MSG}
"=====> Build"
@
${MAKE_ENV}
${GMAKE}
-j
${MAKE_JOBS_NUMBER}
-C
${BUILD_PREFIX}
/gdb all
>>
${WRKDIR}
/gdb.log 2>&1
@
${ECHO_MSG}
"=====> Install into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gdb
install
>>
${WRKDIR}
/gdb.log 2>&1
@
${RM}
-rf
${INTERIM_PREFIX}
/include
.if ${PORT_OPTIONS
:
MHTML} && ${PORT_OPTIONS:MDOCS}
@
${ECHO_MSG}
"=====> Build HTML documentation"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gdb html
>>
${WRKDIR}
/gdb.log 2>&1
@
${ECHO_MSG}
"=====> Install HTML documentation into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gdb install-html
>>
${WRKDIR}
/gdb.log 2>&1
.
endif
.if ${PORT_OPTIONS
:
MPDF} && ${PORT_OPTIONS:MDOCS}
@
${ECHO_MSG}
"=====> Build PDF documentation"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gdb pdf
>>
${WRKDIR}
/gdb.log 2>&1
@
${ECHO_MSG}
"=====> Install PDF documentation into stage directory"
@
${MAKE_ENV}
${GMAKE}
-C
${BUILD_PREFIX}
/gdb install-pdf
>>
${WRKDIR}
/gdb.log 2>&1
.
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
@
for
bin
in
$$
(
${FIND}
${INTERIM_PREFIX}
/lib/gcc/
${TARGET}
/4.8.3
-maxdepth
1
-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}
/4.8.3
-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
devel/gcc-arm-embedded/pkg-descr
0 → 100644
View file @
4d661641
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).
It includes:
binutils
gcc 4.8 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.
All this is built with support for armv6-m, armv7-ar,
armv7-m and armv7e-m targets, armv7e-m with and without
FPU support.
This port gives bit-to-bit compatibility with "official"
embedded ARM toolchain for MacOS X, Linux and Windows.
WWW: https://launchpad.net/gcc-arm-embedded
devel/gcc-arm-embedded/pkg-plist
0 → 100644
View file @
4d661641
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment