From 1d724767bdedac22682fe23e88b4fe0033cb58f4 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Fri, 1 Sep 2017 14:24:29 -0700 Subject: config: Add package versioning flexibility Some users (like myself) may want to omit the crosstool-NG version from the binaries' versioning output, as it can be incredibly long and not too helpful. Add a config option to disable it. The possible combinations are as follows: - crosstool-NG version (default) - crosstool-NG version - custom toolchain ID - Custom toolchain ID - No crosstool-NG version OR custom toolchain ID Signed-off-by: Nathan Chancellor diff --git a/config/toolchain.in b/config/toolchain.in index f9a56b9..6d3ff29 100644 --- a/config/toolchain.in +++ b/config/toolchain.in @@ -76,6 +76,22 @@ config STATIC_TOOLCHAIN NOTE: this has no connection to whether the target libraries will be dynamic or static. This only applies to the tools themselves. +config SHOW_CT_VERSION + bool + prompt "Add crosstool-NG version to --version output" + default y + help + If yes, the crosstool-NG version will be included in the output of + gcc --version, and also in binutils, glibc, gdb and gdbserver. + + If this is enabled, the package version will include: + "crosstool-NG ${CT_VERSION}" + + If this is disabled and no ID string is given below, the default + of each individual package will be used. + + This is passed to the configure flag --with-pkgversion. + config TOOLCHAIN_PKGVERSION string prompt "Toolchain ID string" @@ -86,10 +102,10 @@ config TOOLCHAIN_PKGVERSION the output of gcc --version, and also in binutils, glibc, gdb and gdbserver. - If this string is left empty, the actual package version will be: - "crosstool-NG ${CT_VERSION}" - Otherwise, it will be: + If this is enabled, it will either be added to the crosstool-NG version: "crosstool-NG ${CT_VERSION} - ${CT_TOOLCHAIN_PKGVERSION}" + Or it will be entirely on its own: + "${CT_TOOLCHAIN_PKGVERSION}" This is passed to the configure flag --with-pkgversion. diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh index e0fe7f4..703a6fa 100644 --- a/scripts/build/binutils/binutils.sh +++ b/scripts/build/binutils/binutils.sh @@ -154,7 +154,7 @@ do_binutils_backend() { extra_config+=( --enable-plugins ) fi if [ "${CT_BINUTILS_HAS_PKGVERSION_BUGURL}" = "y" ]; then - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") fi if [ "${CT_MULTILIB}" = "y" ]; then @@ -307,7 +307,7 @@ do_binutils_for_target() { CT_DoLog EXTRA "Configuring binutils for target" if [ "${CT_BINUTILS_HAS_PKGVERSION_BUGURL}" = "y" ]; then - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") fi if [ "${CT_MULTILIB}" = "y" ]; then diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index 54dd514..2609873 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -357,7 +357,7 @@ do_gcc_core_backend() { fi done - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then @@ -874,7 +874,7 @@ do_gcc_backend() { done [ "${CT_SHARED_LIBS}" = "y" ] || extra_config+=("--disable-shared") - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") case "${CT_CC_GCC_SJLJ_EXCEPTIONS}" in diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh index 19d9d6d..e3a40d0 100644 --- a/scripts/build/debug/300-gdb.sh +++ b/scripts/build/debug/300-gdb.sh @@ -19,7 +19,7 @@ do_debug_gdb_build() { esac if [ "${CT_GDB_HAS_PKGVERSION_BUGURL}" = "y" ]; then - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") fi diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index c09ff5c..0cf58f3 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -168,7 +168,7 @@ do_libc_backend_once() { *) extra_config+=("--enable-add-ons=$(do_libc_add_ons_list ,)");; esac - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") touch config.cache @@ -484,7 +484,7 @@ do_libc_locales() { # a harmless: `configure: WARNING: unrecognized options: --with-bugurl...` # If it's set, use it, if is a recognized option. if [ ! "${CT_TOOLCHAIN_PKGVERSION}" = "" ]; then - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") fi if [ ! "${CT_TOOLCHAIN_BUGURL}" = "" ]; then [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index d5066e2..9c09b5e 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -168,7 +168,11 @@ CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_CORE_EXTRA_CONFIG} "${CT_CC_GCC CT_CC_GCC_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_EXTRA_CONFIG} "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}" ) # Compute the package version string -CT_PKGVERSION="crosstool-NG ${CT_VERSION}${CT_TOOLCHAIN_PKGVERSION:+ - ${CT_TOOLCHAIN_PKGVERSION}}" +if [ "${CT_SHOW_CT_VERSION}" = "y" ]; then + CT_PKGVERSION="crosstool-NG ${CT_VERSION}${CT_TOOLCHAIN_PKGVERSION:+ - ${CT_TOOLCHAIN_PKGVERSION}}" +else + CT_PKGVERSION="${CT_TOOLCHAIN_PKGVERSION}" +fi # Compute the working directories names CT_TARBALLS_DIR="${CT_WORK_DIR}/tarballs" -- cgit v0.10.2-6-g49f6