At long last, switch us to using GCC 4.4 as the default compiler.
authorSascha Wildner <saw@online.de>
Fri, 4 Mar 2011 11:19:25 +0000 (12:19 +0100)
committerSascha Wildner <saw@online.de>
Fri, 4 Mar 2011 13:12:36 +0000 (14:12 +0100)
[I've put some notes into UPGRADING which I quote here.]

That means that any settings that set CCVER to 'gcc44' are not needed
anymore. Instead, CCVER can be set to 'gcc41' to go back to using
GCC 4.1.

The NO_GCC44 options has been removed and will not affect the build
anymore. There is now a NO_GCC41 option that will prevent GCC 4.1 from
building in a similar fashion.

Also, we recommend to do a full buildworld/buildkernel for upgrading.

Thanks-to: sephe, Max Herrgard and everybody else who helped with
           testing and fixing.

13 files changed:
Makefile.inc1
UPDATING
etc/defaults/make.conf
gnu/lib/Makefile
gnu/usr.bin/Makefile
gnu/usr.bin/cc41/cc/Makefile
gnu/usr.bin/cc44/cc/Makefile
share/man/man5/make.conf.5
share/mk/bsd.cpu.mk
share/mk/bsd.sys.mk
sys/conf/kern.pre.mk
test/x86_64/Makefile
usr.bin/objformat/objformat.c

index e7e31c5..bfcc8c2 100644 (file)
@@ -1,6 +1,5 @@
 #
 # $FreeBSD: src/Makefile.inc1,v 1.141.2.62 2003/04/06 19:54:00 dwmalone Exp $
-# $DragonFly: src/Makefile.inc1,v 1.118 2008/06/24 20:22:30 thomas Exp $
 #
 # Build-time options are documented in make.conf(5).
 #
@@ -120,7 +119,7 @@ DESTDIRBASE?=               ${OBJTREE}${.CURDIR}
 .MAKEFLAGS:=   ${.MAKEFLAGS:NDESTDIR=*}
 
 # This sets the compiler we use to build the world/kernel with
-WORLD_CCVER?=  gcc41
+WORLD_CCVER?=  gcc44
 WORLD_BINUTILSVER?=    binutils217
 
 # temporary until everybody has converted to x86_64
@@ -794,12 +793,12 @@ bootstrap-tools:
 _share=        share/syscons/scrnmaps
 .endif
 
+.if !defined(NO_GCC41)
 _gcc41_cross= gnu/usr.bin/cc41
 _gcc41_tools= gnu/usr.bin/cc41/cc_prep gnu/usr.bin/cc41/cc_tools
-.if !defined(NO_GCC44)
+.endif
 _gcc44_cross= gnu/usr.bin/cc44
 _gcc44_tools= gnu/usr.bin/cc44/cc_prep gnu/usr.bin/cc44/cc_tools
-.endif
 _custom_cross= libexec/customcc
 _binutils= gnu/usr.bin/${WORLD_BINUTILSVER}
 
@@ -851,14 +850,14 @@ hierarchy:
 # to specify the correct CCVER or 'cc' will not exec the correct compiler.
 #
 libraries:
+.if !defined(NO_GCC41)
        cd ${.CURDIR}; \
            HOST_CCVER=${HOST_CCVER} CCVER=gcc41 \
                ${MAKE} -f Makefile.inc1 _startup_libs41;
-.if !defined(NO_GCC44)
+.endif
        cd ${.CURDIR}; \
            HOST_CCVER=${HOST_CCVER} CCVER=gcc44 \
                ${MAKE} -f Makefile.inc1 _startup_libs44;
-.endif
        cd ${.CURDIR}; \
            ${MAKE} -f Makefile.inc1 _startup_libs; \
            ${MAKE} -f Makefile.inc1 _prebuild_libs; \
index 04f43eb..1198a7f 100644 (file)
--- a/UPDATING
+++ b/UPDATING
 +         UPGRADING DRAGONFLY FROM 2.8 to later versions                +
 +-----------------------------------------------------------------------+
 
+GCC 4.4
+-------
+
+GCC 4.4 has been made DragonFly's default compiler.
+
+That means that any settings that set CCVER to 'gcc44' are not needed
+anymore. Instead, CCVER can be set to 'gcc41' to go back to using
+GCC 4.1.
+
+The NO_GCC44 options has been removed and will not affect the build
+anymore. There is now a NO_GCC41 option that will prevent GCC 4.1 from
+building in a similar fashion.
+
+Also, we recommend to do a full buildworld/buildkernel for upgrading.
+
 pkg_radd settings
 -----------------
 
index dbd6b9d..d524212 100644 (file)
@@ -40,7 +40,7 @@
 # an experimental compiler might be broken at any time.  We currently
 # recommend that an override NOT be set in /etc/make.conf.
 #
-#CCVER?=gcc41  # (use GCC 4.1, default)
+#CCVER?=gcc44  # (use GCC 4.4, default)
 #
 # CFLAGS controls the compiler settings used when compiling C code.
 # Note that optimization settings above -O (-O2, ...) are not recommended
@@ -101,7 +101,7 @@ THREAD_LIB?=        thread_xu
 #NO_CRYPT=     true    # do not build crypto code
 #NO_CVS=       true    # do not build CVS
 #NO_GAMES=     true    # do not enter the games subdirectory
-#NO_GCC44=     true    # do not build gcc-4.4
+#NO_GCC41=     true    # do not build gcc-4.1
 #NO_GDB=       true    # do not build GDB
 #NO_I4B=       true    # do not build isdn4bsd package
 #NO_IPFILTER=  true    # do not build IP Filter package
index d3a79a9..d65b58f 100644 (file)
@@ -1,9 +1,9 @@
 # $FreeBSD: src/gnu/lib/Makefile,v 1.25.2.4 2001/01/06 23:16:53 obrien Exp $
 
-SUBDIR= gcc41 libcryptsetup libdevmapper libdialog libluks liblvm libregex
+SUBDIR= gcc44 libcryptsetup libdevmapper libdialog libluks liblvm libregex
 
-.if !defined(NO_GCC44)
-SUBDIR+= gcc44
+.if !defined(NO_GCC41)
+SUBDIR+= gcc41
 .endif
 
 .include <bsd.subdir.mk>
index b540513..ca6855d 100644 (file)
@@ -1,5 +1,4 @@
 # $FreeBSD: src/gnu/usr.bin/Makefile,v 1.51 2000/01/16 00:11:34 obrien Exp $
-# $DragonFly: src/gnu/usr.bin/Makefile,v 1.32 2007/09/05 21:40:10 pavalos Exp $
 
 SUBDIR= dialog diff diff3 grep groff man rcs sdiff sort texinfo
 
@@ -14,12 +13,12 @@ SUBDIR+=gdb
 SUBDIR+= binutils217
 SUBDIR+= binutils220
 
+.if !defined(NO_GCC41)
 SUBDIR+= cc41
 .ORDER: binutils217 cc41
+.endif
 
-.if !defined(NO_GCC44)
 SUBDIR+= cc44
 .ORDER: binutils217 cc44
-.endif
 
 .include <bsd.subdir.mk>
index 55fef22..77abe0e 100644 (file)
@@ -1,5 +1,3 @@
-# $DragonFly: src/gnu/usr.bin/cc41/cc/Makefile,v 1.2 2007/09/08 09:48:59 swildner Exp $
-
 .include "../Makefile.inc"
 .include "../cc_tools/Makefile.tools"
 .include "../Makefile.langs"
@@ -7,7 +5,6 @@
 PROG=  cc
 LINKS= ${BINDIR}/cc ${BINDIR}/gcc
 MAN=   gcc41.1
-MLINKS=        gcc41.1 cc.1 gcc41.1 c++.1 gcc41.1 g++.1 gcc41.1 gcc.1 gcc41.1 CC.1
 
 SRCS=  gcc.c gccspec.c intl.c prefix.c version.c
 
index 7369d73..2799353 100644 (file)
@@ -4,6 +4,11 @@
 PROG=  cc
 LINKS= ${BINDIR}/cc ${BINDIR}/gcc
 MAN=   gcc${GCCSHORTVER}.1
+MLINKS=        gcc${GCCSHORTVER}.1 cc.1 \
+       gcc${GCCSHORTVER}.1 c++.1 \
+       gcc${GCCSHORTVER}.1 g++.1 \
+       gcc${GCCSHORTVER}.1 gcc.1 \
+       gcc${GCCSHORTVER}.1 CC.1
 
 .if ${GCCDOCSUFFIX} != ${GCCSHORTVER}
 MLINKS=        gcc${GCCSHORTVER}.1 cc${GCCDOCSUFFIX}.1
index 7bf00b3..1faef84 100644 (file)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD: src/share/man/man5/make.conf.5,v 1.12.2.30 2003/05/18 17:05:55 brueffer Exp $
 .\"
-.Dd May 5, 2010
+.Dd March 4, 2011
 .Dt MAKE.CONF 5
 .Os
 .Sh NAME
@@ -119,8 +119,9 @@ Currently accepted values for compilers which are part of
 .Dx
 are
 .Dq gcc41
-(default) and
-.Dq gcc44 .
+and
+.Dq gcc44
+(default).
 All other values will handled according to the settings in
 .Xr compilers.conf 5 .
 .It Va BINUTILSVER
@@ -349,9 +350,9 @@ Set to not build CVS.
 .It Va NO_GAMES
 .Pq Vt bool
 Set to not build games.
-.It Va NO_GCC44
+.It Va NO_GCC41
 .Pq Vt bool
-Set to not build the newer version of GCC (4.4).
+Set to not build the older version of GCC (4.1).
 .It Va NO_GDB
 .Pq Vt bool
 Set to not build
index e2cb7ab..8ea6b38 100644 (file)
@@ -1,5 +1,4 @@
 # $FreeBSD: src/share/mk/bsd.cpu.mk,v 1.2.2.5 2002/07/19 08:09:32 ru Exp $
-# $DragonFly: src/share/mk/bsd.cpu.mk,v 1.16 2007/09/26 22:14:17 dillon Exp $
 
 # include compiler-specific bsd.cpu.mk.  Note that CCVER may or may not
 # be passed as an environment variable.  If not set we make it consistent
@@ -15,7 +14,7 @@
 # If the host system does not have the desired compiler for HOST_CCVER
 # we back off to something it probably does have.
 
-_DEFAULT_CCVER=        gcc41
+_DEFAULT_CCVER=        gcc44
 
 CCVER ?= ${_DEFAULT_CCVER}
 _CCVER := ${CCVER}
index 5f4e0f4..9c76250 100644 (file)
@@ -1,5 +1,4 @@
 # $FreeBSD: src/share/mk/bsd.sys.mk,v 1.3.2.5 2002/07/03 16:59:14 des Exp $
-# $DragonFly: src/share/mk/bsd.sys.mk,v 1.12 2008/11/14 15:04:42 swildner Exp $
 #
 # This file contains common settings used for building DragonFly
 # sources.
@@ -25,7 +24,7 @@ CFLAGS                += -std=${CSTD}
 . if defined(WARNS)
 .  if ${WARNS} >= 1
 CWARNFLAGS     +=      -Wsystem-headers
-.   if !defined(NO_WERROR) && ${CCVER} == "gcc41"
+.   if !defined(NO_WERROR) && (${CCVER} == "gcc41" || ${CCVER} == "gcc44")
 CWARNFLAGS     +=      -Werror
 .   endif
 .  endif
@@ -57,7 +56,7 @@ WFORMAT               =       1
 . if defined(WFORMAT)
 .  if ${WFORMAT} > 0
 CWARNFLAGS     +=      -Wformat=2 -Wno-format-extra-args
-.   if !defined(NO_WERROR) && ${CCVER} == "gcc41"
+.   if !defined(NO_WERROR) && (${CCVER} == "gcc41" || ${CCVER} == "gcc44")
 CWARNFLAGS     +=      -Werror
 .   endif
 .  endif
index 357f0b1..d203b80 100644 (file)
@@ -1,4 +1,3 @@
-# $DragonFly: src/sys/conf/kern.pre.mk,v 1.8 2008/11/17 11:55:19 swildner Exp $
 #
 # This Makefile covers the top part of the MI kernel build instructions
 #
@@ -84,7 +83,7 @@ PROFILE_C= ${CC} -c ${CFLAGS} ${.IMPSRC}
 NORMAL_M= awk -f $S/tools/makeobjops.awk -- -c $<; \
        ${CC} -c ${CFLAGS} ${PROF} ${.PREFIX}.c
 
-.if !defined(NO_WERROR) && ${CCVER} == "gcc41"
+.if !defined(NO_WERROR) && (${CCVER} == "gcc41" || ${CCVER} == "gcc44")
 WERROR=-Werror
 .endif
 
index 9ad42ff..b7acd9c 100644 (file)
@@ -122,7 +122,7 @@ world32: checkq
 
 world64: checkq
        cd ${SRCDIR} && \
-           make -j 4 TARGET_ARCH=x86_64 TARGET_PLATFORM=pc64 NO_GCC44=1 \
+           make -j 4 TARGET_ARCH=x86_64 TARGET_PLATFORM=pc64 NO_GCC41=1 \
            buildworld
 
 kernel64: checkq
@@ -135,7 +135,7 @@ kernel64: checkq
 #
 quickworld64: checkq
        cd ${SRCDIR} && \
-           make -j 4 TARGET_ARCH=x86_64 TARGET_PLATFORM=pc64 NO_GCC44=1 \
+           make -j 4 TARGET_ARCH=x86_64 TARGET_PLATFORM=pc64 NO_GCC41=1 \
            quickworld
 
 quickkernel64: checkq
@@ -176,7 +176,7 @@ umount: check
 install64: mount
        cd ${SRCDIR} && \
            make -j 4 TARGET_ARCH=x86_64 TARGET_PLATFORM=pc64 \
-                DESTDIR=${QEMUDIR}/root NO_GCC44=1 installworld
+                DESTDIR=${QEMUDIR}/root NO_GCC41=1 installworld
        cd ${SRCDIR}/etc && \
            make -j 4 TARGET_ARCH=x86_64 TARGET_PLATFORM=pc64 \
                 DESTDIR=${QEMUDIR}/root distribution
@@ -201,7 +201,7 @@ reinstall64: mount
        @echo "      64 bit kernel"
        cd ${SRCDIR} && \
            make -j 4 TARGET_ARCH=x86_64 TARGET_PLATFORM=pc64 \
-                DESTDIR=${QEMUDIR}/root NO_GCC44=1 installworld
+                DESTDIR=${QEMUDIR}/root NO_GCC41=1 installworld
 
 reinstallkernel64: mount
        cd ${SRCDIR} && \
index b8f1db4..c7a95e2 100644 (file)
@@ -25,7 +25,6 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/usr.bin/objformat/objformat.c,v 1.6 1998/10/24 02:01:30 jdp Exp $
- * $DragonFly: src/usr.bin/objformat/objformat.c,v 1.25 2008/05/14 15:02:48 hasso Exp $
  */
 
 #include <err.h>
@@ -36,7 +35,7 @@
 #include <unistd.h>
 
 #ifndef CCVER_DEFAULT
-#define CCVER_DEFAULT "gcc41"
+#define CCVER_DEFAULT "gcc44"
 #endif
 
 #ifndef BINUTILSVER_DEFAULT