aboutsummaryrefslogtreecommitdiffstats
path: root/lang/gcc5-aux
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2015-04-28 23:57:59 +0800
committermarino <marino@FreeBSD.org>2015-04-28 23:57:59 +0800
commitfdeafcced19a16f6205e27a7ddb0a9d5bfabf1f0 (patch)
tree13a3af2bfe72a98ed58cd04277eb9e64f655fb82 /lang/gcc5-aux
parent1f90a7ea67b061a31e4efc6421eca3fcd4b2238e (diff)
downloadfreebsd-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/Makefile21
-rw-r--r--lang/gcc5-aux/Makefile.common2
-rw-r--r--lang/gcc5-aux/distinfo6
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