diff options
author | marino <marino@FreeBSD.org> | 2015-04-28 23:57:59 +0800 |
---|---|---|
committer | marino <marino@FreeBSD.org> | 2015-04-28 23:57:59 +0800 |
commit | fdeafcced19a16f6205e27a7ddb0a9d5bfabf1f0 (patch) | |
tree | 13a3af2bfe72a98ed58cd04277eb9e64f655fb82 /lang/gcc5-aux | |
parent | 1f90a7ea67b061a31e4efc6421eca3fcd4b2238e (diff) | |
download | freebsd-ports-gnome-fdeafcced19a16f6205e27a7ddb0a9d5bfabf1f0.tar.gz freebsd-ports-gnome-fdeafcced19a16f6205e27a7ddb0a9d5bfabf1f0.tar.zst freebsd-ports-gnome-fdeafcced19a16f6205e27a7ddb0a9d5bfabf1f0.zip |
lang/gcc5-aux: Build in one stage by default, new bootstrap for DF
The original intention was to build update all the bootstrap compilers
to be based on GCC5, but right now I'm only doing that for DragonFly.
After June 30, I might rebuild the bootstrap compiler on FreeBSD 10.1,
but right now gcc5-aux is building fine on FreeBSD in one stage, even
though their bootstrap is based on GCC 4.9.
Right now, gcc5-aux is building with 3 full stages. I'm switching it to
a single stage build, but adding an off-by-default option to build it
in three stages again. With one stage, libcc1 is not built, but with
three stages it is. LibCC1 is meant to support the upcoming release of
GDB so it's currently not needed (it fails to build if gcc is not fully
bootstrapping which is why it's disabled)
This brings the build down to about 9-14 minutes versus 60-90 minutes
depending on the (average power) machine.
Also, I've explicitly limited the build to i386 and amd64 on FreeBSD and
I have dropped i386 support on DragonFly, which could only have been
build on DragonFly 3.8 or earlier.
Also, I removed the iconv dependency when a bootstrap compiler is being
created (the all-overriding BOOTSTRAP option for the maintainer)
Diffstat (limited to 'lang/gcc5-aux')
-rw-r--r-- | lang/gcc5-aux/Makefile | 21 | ||||
-rw-r--r-- | lang/gcc5-aux/Makefile.common | 2 | ||||
-rw-r--r-- | lang/gcc5-aux/distinfo | 6 |
3 files changed, 17 insertions, 12 deletions
diff --git a/lang/gcc5-aux/Makefile b/lang/gcc5-aux/Makefile index d15d08fd4515..d7d42f8a7f95 100644 --- a/lang/gcc5-aux/Makefile +++ b/lang/gcc5-aux/Makefile @@ -31,7 +31,7 @@ CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib OPTIONS_GROUP= Standard Bootstrap -OPTIONS_GROUP_Standard= FORT OBJC NLS TESTSUITE STATIC +OPTIONS_GROUP_Standard= FORT OBJC NLS TESTSUITE ALLSTAGES STATIC OPTIONS_GROUP_Bootstrap=BOOTSTRAP OPTIONS_DEFAULT= FORT OBJC NO_OPTIONS_SORT= yes @@ -39,6 +39,7 @@ NO_OPTIONS_SORT= yes FORT_DESC= Fortran language support OBJC_DESC= Objective-C language support TESTSUITE_DESC= Activate test support +ALLSTAGES_DESC= Build compiler with itself (twice, brings in libcc1) STATIC_DESC= Link compilers and drivers statically BOOTSTRAP_DESC= Create bootstrap compiler (overrides other options) @@ -50,6 +51,7 @@ BOOTSTRAP_DESC= Create bootstrap compiler (overrides other options) .include <bsd.port.options.mk> .if ${OPSYS} == FreeBSD +ONLY_FOR_ARCHS= amd64 i386 MODERN_BINUTILS= yes . if ${OSVERSION} < 900000 BOOTSTRAP_COMPILER= ada-bootstrap.${GARCH}.freebsd.84.tar.bz2 @@ -58,7 +60,8 @@ BOOTSTRAP_COMPILER= ada-bootstrap.${GARCH}.freebsd.100B.tar.bz2 . endif .endif .if ${OPSYS} == DragonFly -BOOTSTRAP_COMPILER= ada-bootstrap.${GARCH}.dragonfly.36A.tar.bz2 +ONLY_FOR_ARCHS= x86_64 +BOOTSTRAP_COMPILER= ada-bootstrap.${GARCH}.dragonfly.41.tar.bz2 .endif .if defined(MODERN_BINUTILS) @@ -109,10 +112,9 @@ DISTFILES+= ${BOOTSTRAP_COMPILER}:boot .if defined(PLUS_BOOTSTRAPS) DISTFILES= \ ${IDENTIFICATION}.tar.bz2 \ - ada-bootstrap.i386.dragonfly.36A.tar.bz2:boot \ ada-bootstrap.i386.freebsd.84.tar.bz2:boot \ ada-bootstrap.i386.freebsd.100B.tar.bz2:boot \ - ada-bootstrap.x86_64.dragonfly.36A.tar.bz2:boot \ + ada-bootstrap.x86_64.dragonfly.41.tar.bz2:boot \ ada-bootstrap.x86_64.freebsd.84.tar.bz2:boot \ ada-bootstrap.x86_64.freebsd.100B.tar.bz2:boot .endif @@ -151,8 +153,14 @@ EXTRA_CONFIG+= --with-stage1-ldflags=-static EXTRA_CONFIG+= --disable-shared --disable-lto EXTRA_CONFIG+= --with-boot-ldflags=-static .else -# For some reason, libcc1.a can't be build with bootstrap (only) in poudriere -#EXTRA_CONFIG+= --disable-bootstrap +. if !${PORT_OPTIONS:MALLSTAGES} +# For reasons unknown, build fails at libcc1 when the compiler is not +# not bootstrapping. It appears to be an upstream error. LibCC1 is used +# for gdb 7.9 exclusively, so it's not really needed. Let's disable it +# by default, but let people that want it suffer a 3-stage build. +EXTRA_CONFIG+= --disable-bootstrap --disable-libcc1 +. endif +USES+= iconv .endif # Establish Ada-aware compiler for use @@ -164,7 +172,6 @@ ADA_CONFIGURE_ENV+= CXXFLAGS="${CXXFLAGS}" ADA_CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}" ADA_CONFIGURE_ENV+= PATH=${FULL_PATH} ADA_MAKE_ENV+= PATH=${FULL_PATH} -ADA_MAKE_ENV+= LD_LIBRARY_PATH=${BUILDDIR}/gcc # The standard configuration options ADA_CONFIG_ARGS= --enable-languages=${LANGS:Q} diff --git a/lang/gcc5-aux/Makefile.common b/lang/gcc5-aux/Makefile.common index 6f76983ffa22..0c77347d51f0 100644 --- a/lang/gcc5-aux/Makefile.common +++ b/lang/gcc5-aux/Makefile.common @@ -9,7 +9,7 @@ LIB_DEPENDS+= libmpc.so:${PORTSDIR}/math/mpc ONLY_FOR_ARCHS= i386 amd64 GNU_CONFIGURE= yes -USES= gmake iconv libtool perl5 tar:bzip2 +USES= gmake libtool perl5 tar:bzip2 USE_PERL5= build ALL_TARGET= default diff --git a/lang/gcc5-aux/distinfo b/lang/gcc5-aux/distinfo index 89cb7b30c1a6..cb732c5fe1b0 100644 --- a/lang/gcc5-aux/distinfo +++ b/lang/gcc5-aux/distinfo @@ -1,13 +1,11 @@ SHA256 (gcc-5.1.0.tar.bz2) = b7dafdf89cbb0e20333dbf5b5349319ae06e3d1a30bf3515b5488f7e89dca5ad SIZE (gcc-5.1.0.tar.bz2) = 94954411 -SHA256 (ada-bootstrap.i386.dragonfly.36A.tar.bz2) = 6b1a6ff0fe0e3bf13c667db2fef177b811329cd998400a1303969a86911cb1c8 -SIZE (ada-bootstrap.i386.dragonfly.36A.tar.bz2) = 39357314 SHA256 (ada-bootstrap.i386.freebsd.84.tar.bz2) = b410336cb0e71c8a29dd5f831a17b4b7282e7d590f452475a94c6a625cfc8846 SIZE (ada-bootstrap.i386.freebsd.84.tar.bz2) = 39727003 SHA256 (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 7231209f2600275f554f788ad1d036cf633c4339ebd25bd479a5bb1ddcddedf3 SIZE (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 41229192 -SHA256 (ada-bootstrap.x86_64.dragonfly.36A.tar.bz2) = ba9b193f1f5c780c0e94086a9af6f1c8e843b6782c133b9948789b95b2e605c4 -SIZE (ada-bootstrap.x86_64.dragonfly.36A.tar.bz2) = 40747242 +SHA256 (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = eb7785d8b842aee2bb04b43adfb1346b178ee4e83d8775b4e6705fd23f1586f0 +SIZE (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = 44956630 SHA256 (ada-bootstrap.x86_64.freebsd.84.tar.bz2) = ba1a407d936e7b3f2bfe825d1fb5a1f0e85e8edbdd9e8440bb49ef643fec05fc SIZE (ada-bootstrap.x86_64.freebsd.84.tar.bz2) = 40227668 SHA256 (ada-bootstrap.x86_64.freebsd.100B.tar.bz2) = 1066d7c5e71d78b4416de3b73348227678ca07db52488409e270db7b00467f55 |