diff options
author | imp <imp@FreeBSD.org> | 2014-04-18 17:03:58 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2014-04-18 17:03:58 +0000 |
commit | 05af977d7ba66a5a516211f67fae465e5bf34863 (patch) | |
tree | 04a3a7ae5a3e2ee005a82992aa612466d9e72ea6 /tools | |
parent | 45481ab5835a397fc7869e0509e561e115d872e6 (diff) | |
download | FreeBSD-src-05af977d7ba66a5a516211f67fae465e5bf34863.zip FreeBSD-src-05af977d7ba66a5a516211f67fae465e5bf34863.tar.gz |
Separate out enabling building clang and/or gcc for the system and
building clang and/or gcc as the bootstrap compiler. Normally, the
default compiler is used. WITH_CLANG_BOOTSTRAP and/or
WITH_GCC_BOOTSTRAP will enable building these compilers as part
bootstrap phase. WITH/WITHOUT_CLANG_IS_CC controls which compiler is
used by default for the bootstrap phase, as well as which compiler is
installed as cc. buildworld now successfully completes building the
cross compiler with WITHOUT_CLANG=t and WITHOUT_GCC=t and produces a
built system with neither of these included.
Similarlly, MK_BINUTILS_BOOTSTRAP controls whether binutils is built
during this phase.
WITHOUT_CROSS_COMPILER will now force MK_BINUTILS_BOOTSTRAP=no,
MK_CLANG_BOOTSTRAP=no and MK_GCC_BOOTSTRAP=no.
BOOTSTRAP_COMPILER was considered, but rejected, since pc98 needs both
clang and gcc to bootstrap still. It should be revisisted in the
future if this requirement goes away. Values should be gcc, clang or
none. It could also be a list.
The odd interaction with Xfoo cross/external tools needs work, but
is beyond the scope of this change as well.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/build/options/WITHOUT_BINUTILS | 12 | ||||
-rw-r--r-- | tools/build/options/WITHOUT_BINUTILS_BOOTSTRAP | 8 | ||||
-rw-r--r-- | tools/build/options/WITHOUT_CLANG | 2 | ||||
-rw-r--r-- | tools/build/options/WITHOUT_CLANG_BOOTSTRAP | 5 | ||||
-rw-r--r-- | tools/build/options/WITHOUT_CROSS_COMPILER | 14 | ||||
-rw-r--r-- | tools/build/options/WITHOUT_GCC | 2 | ||||
-rw-r--r-- | tools/build/options/WITHOUT_GCC_BOOTSTRAP | 5 | ||||
-rw-r--r-- | tools/build/options/WITH_CLANG | 2 | ||||
-rw-r--r-- | tools/build/options/WITH_CLANG_BOOTSTRAP | 2 | ||||
-rw-r--r-- | tools/build/options/WITH_GCC_BOOTSTRAP | 2 |
10 files changed, 43 insertions, 11 deletions
diff --git a/tools/build/options/WITHOUT_BINUTILS b/tools/build/options/WITHOUT_BINUTILS index 62a614e..5270bd7 100644 --- a/tools/build/options/WITHOUT_BINUTILS +++ b/tools/build/options/WITHOUT_BINUTILS @@ -1,7 +1,7 @@ .\" $FreeBSD$ -Set to not install binutils (as, c++-filt, gconv, -ld, nm, objcopy, objdump, readelf, size and strip). -.Bf -symbolic -The option does not generally work for build targets, unless some alternative -toolchain is enabled. -.Ef +Set to not build or install binutils (as, c++-filt, gconv, +ld, nm, objcopy, objdump, readelf, size and strip) as part +of the normal system build. +The resulting system cannot build programs from source. + + diff --git a/tools/build/options/WITHOUT_BINUTILS_BOOTSTRAP b/tools/build/options/WITHOUT_BINUTILS_BOOTSTRAP new file mode 100644 index 0000000..84ae1a17 --- /dev/null +++ b/tools/build/options/WITHOUT_BINUTILS_BOOTSTRAP @@ -0,0 +1,8 @@ +.\" $FreeBSD$ +Set to not build binutils (as, c++-filt, gconv, +ld, nm, objcopy, objdump, readelf, size and strip) +as part of the bootstrap process. +.Bf -symbolic +The option does not work for build targets unless some alternative +toolchain is provided. +.Ef diff --git a/tools/build/options/WITHOUT_CLANG b/tools/build/options/WITHOUT_CLANG index 62a90ba..51c9c51 100644 --- a/tools/build/options/WITHOUT_CLANG +++ b/tools/build/options/WITHOUT_CLANG @@ -1,2 +1,2 @@ .\" $FreeBSD$ -Set to not build the Clang C/C++ compiler. +Set to not build the Clang C/C++ compiler during the regular phase of the build. diff --git a/tools/build/options/WITHOUT_CLANG_BOOTSTRAP b/tools/build/options/WITHOUT_CLANG_BOOTSTRAP new file mode 100644 index 0000000..a22046d --- /dev/null +++ b/tools/build/options/WITHOUT_CLANG_BOOTSTRAP @@ -0,0 +1,5 @@ +.\" $FreeBSD$ +Set to not build the Clang C/C++ compiler during the bootstrap phase of the build. +You must enable wither gcc or clang bootstrap to be able to build the system, +unless an alternative compiiler is provided via +XCC. diff --git a/tools/build/options/WITHOUT_CROSS_COMPILER b/tools/build/options/WITHOUT_CROSS_COMPILER index 1ded25b..ab1bd23 100644 --- a/tools/build/options/WITHOUT_CROSS_COMPILER +++ b/tools/build/options/WITHOUT_CROSS_COMPILER @@ -1,3 +1,13 @@ .\" $FreeBSD$ -Set to not build a cross compiler in the cross-tools stage of -buildworld, buildkernel, etc. +Set to not build any cross compiler in the cross-tools stage of buildworld. +If you are compiling a different version of +.Fx +than what is installed on the system, you will need to provide an alternate +compiler with XCC to ensure success. +If you are compiling with an identical version of +.Fx +to the host, this option may be safely used. +This option may also be safe when the host version of +.Fx +is close to the sources being built, but all bets are off if there have +been any changes to the toolchain between the versions. diff --git a/tools/build/options/WITHOUT_GCC b/tools/build/options/WITHOUT_GCC index 7bb21f8..c746d16 100644 --- a/tools/build/options/WITHOUT_GCC +++ b/tools/build/options/WITHOUT_GCC @@ -1,2 +1,2 @@ .\" $FreeBSD$ -Set to not build and install gcc and g++. +Set to not build and install gcc and g++ as part of the normal build process. diff --git a/tools/build/options/WITHOUT_GCC_BOOTSTRAP b/tools/build/options/WITHOUT_GCC_BOOTSTRAP new file mode 100644 index 0000000..668ff14 --- /dev/null +++ b/tools/build/options/WITHOUT_GCC_BOOTSTRAP @@ -0,0 +1,5 @@ +.\" $FreeBSD$ +Set to not build gcc and g++ as part of the bootstrap process. +You must enable wither gcc or clang bootstrap to be able to build the system, +unless an alternative compiiler is provided via +XCC. diff --git a/tools/build/options/WITH_CLANG b/tools/build/options/WITH_CLANG index b0e300a..0174b4d 100644 --- a/tools/build/options/WITH_CLANG +++ b/tools/build/options/WITH_CLANG @@ -1,2 +1,2 @@ .\" $FreeBSD$ -Set to build the Clang C/C++ compiler. +Set to build the Clang C/C++ compiler during the normal phase of the build. diff --git a/tools/build/options/WITH_CLANG_BOOTSTRAP b/tools/build/options/WITH_CLANG_BOOTSTRAP new file mode 100644 index 0000000..792512d --- /dev/null +++ b/tools/build/options/WITH_CLANG_BOOTSTRAP @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Set to build the Clang C/C++ compiler during the bootstrap phase of the build. diff --git a/tools/build/options/WITH_GCC_BOOTSTRAP b/tools/build/options/WITH_GCC_BOOTSTRAP new file mode 100644 index 0000000..8e04b11 --- /dev/null +++ b/tools/build/options/WITH_GCC_BOOTSTRAP @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Set to build gcc and g++ as part of the bootstrap process. |