svn commit: r384911 - head/lang/gcc5-aux
John Marino
marino at FreeBSD.org
Tue Apr 28 15:58:01 UTC 2015
Author: marino
Date: Tue Apr 28 15:57:59 2015
New Revision: 384911
URL: https://svnweb.freebsd.org/changeset/ports/384911
Log:
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)
Modified:
head/lang/gcc5-aux/Makefile
head/lang/gcc5-aux/Makefile.common
head/lang/gcc5-aux/distinfo
Modified: head/lang/gcc5-aux/Makefile
==============================================================================
--- head/lang/gcc5-aux/Makefile Tue Apr 28 15:56:30 2015 (r384910)
+++ head/lang/gcc5-aux/Makefile Tue Apr 28 15:57:59 2015 (r384911)
@@ -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 compil
.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.${GARC
. 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=-s
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}
Modified: head/lang/gcc5-aux/Makefile.common
==============================================================================
--- head/lang/gcc5-aux/Makefile.common Tue Apr 28 15:56:30 2015 (r384910)
+++ head/lang/gcc5-aux/Makefile.common Tue Apr 28 15:57:59 2015 (r384911)
@@ -9,7 +9,7 @@ LIB_DEPENDS+= libmpc.so:${PORTSDIR}/mat
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
Modified: head/lang/gcc5-aux/distinfo
==============================================================================
--- head/lang/gcc5-aux/distinfo Tue Apr 28 15:56:30 2015 (r384910)
+++ head/lang/gcc5-aux/distinfo Tue Apr 28 15:57:59 2015 (r384911)
@@ -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
More information about the svn-ports-head
mailing list