This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 2 of 2] Promote PKGVERSION and BUGURL options to toolchain level


# HG changeset patch
# User "BenoÃt THÃBAUDEAU" <benoit.thebaudeau@advansee.com>
# Date 1306241923 -7200
# Node ID 4eea102ac0a521a9f69dcdfe90a93f5b71e53416
# Parent  185015975b8850bbba70b60047c31085d84a6fee
Promote PKGVERSION and BUGURL options to toolchain level

This patch promotes the PKGVERSION and BUGURL options to toolchain level so that
all toolchain components supporting them can benefit from them.

These options are passed to configure through --with-pkgversion and
--with-bugurl.

They are supported by binutils 2.18+, gcc 4.3+, eglibc 2.9+ and gdb 7.0+.

Signed-off-by: "BenoÃt THÃBAUDEAU" <benoit.thebaudeau@advansee.com>

diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -1,25 +1,5 @@
 # gcc configuration options
 
-config CC_PKGVERSION
-    string
-    prompt "gcc ID string"
-    depends on CC_GCC_4_3_or_later
-    default "crosstool-NG-${CT_VERSION}"
-    help
-      Specify a string that identifies your package. You may wish to include
-      a build number or build date. This version string will be included in
-      the output of gcc --version.
-
-      This is passed to the configure flag --with-pkgversion.
-
-config CC_BUGURL
-    string
-    prompt "gcc bug URL"
-    depends on CC_GCC_4_3_or_later
-    default ""
-    help
-      Specify the URL that users should visit if they wish to report a bug.
-
 config CC_ENABLE_CXX_FLAGS
     string
     prompt "Flags to pass to --enable-cxx-flags"
diff --git a/config/toolchain.in b/config/toolchain.in
--- a/config/toolchain.in
+++ b/config/toolchain.in
@@ -68,6 +68,25 @@
       NOTE: this has no connection to whether the target libraries will be
       dynamic or static. This only applies to the tools themselves.
 
+config TOOLCHAIN_PKGVERSION
+    string
+    prompt "Toolchain ID string"
+    default "crosstool-NG-${CT_VERSION}"
+    help
+      Specify a string that identifies your package. You may wish to include
+      a build number or build date. This version string will be included in
+      the output of gcc --version, and also in binutils, eglibc, gdb and
+      gdbserver.
+
+      This is passed to the configure flag --with-pkgversion.
+
+config TOOLCHAIN_BUGURL
+    string
+    prompt "Toolchain bug URL"
+    default ""
+    help
+      Specify the URL that users should visit if they wish to report a bug.
+
 comment "Tuple completion and aliasing"
 
 config TARGET_VENDOR
diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh
--- a/scripts/build/binutils/binutils.sh
+++ b/scripts/build/binutils/binutils.sh
@@ -55,6 +55,10 @@
     if [ "${CT_BINUTILS_PLUGINS}" = "y" ]; then
         extra_config+=( --enable-plugins )
     fi
+    if [ "${CT_BINUTILS_2_18_or_later}" = "y" ]; then
+        [ -n "${CT_TOOLCHAIN_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_TOOLCHAIN_PKGVERSION}")
+        [ -n "${CT_TOOLCHAIN_BUGURL}" ]     && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
+    fi
 
     CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
 
@@ -141,6 +145,12 @@
         CT_Pushd "${CT_BUILD_DIR}/build-binutils-for-target"
 
         CT_DoLog EXTRA "Configuring binutils for target"
+
+        if [ "${CT_BINUTILS_2_18_or_later}" = "y" ]; then
+            [ -n "${CT_TOOLCHAIN_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_TOOLCHAIN_PKGVERSION}")
+            [ -n "${CT_TOOLCHAIN_BUGURL}" ]     && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
+        fi
+
         CT_DoExecLog CFG                                            \
         "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure"   \
             --build=${CT_BUILD}                                     \
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -159,9 +159,11 @@
     mkdir -p "${CT_BUILD_DIR}/build-cc-core-${mode}"
     cd "${CT_BUILD_DIR}/build-cc-core-${mode}"
 
-    # Bare metal delivers the core compiler as final compiler, so add version info and bugurl
-    [ -n "${CT_CC_BUGURL}" ]     && extra_config+=("--with-bugurl=${CT_CC_BUGURL}")
-    [ -n "${CT_CC_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_CC_PKGVERSION}")
+    if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
+        # Bare metal delivers the core compiler as final compiler, so add version info and bugurl
+        [ -n "${CT_TOOLCHAIN_BUGURL}" ]     && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
+        [ -n "${CT_TOOLCHAIN_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_TOOLCHAIN_PKGVERSION}")
+    fi
 
     if [ "${copy_headers}" = "y" ]; then
         CT_DoLog DEBUG "Copying headers to install area of bootstrap gcc, so it can build libgcc2"
@@ -401,9 +403,11 @@
         fi
     done
 
-    [ "${CT_SHARED_LIBS}" = "y" ]                   || extra_config+=("--disable-shared")
-    [ -n "${CT_CC_PKGVERSION}" ]                    && extra_config+=("--with-pkgversion=${CT_CC_PKGVERSION}")
-    [ -n "${CT_CC_BUGURL}" ]                        && extra_config+=("--with-bugurl=${CT_CC_BUGURL}")
+    [ "${CT_SHARED_LIBS}" = "y" ]       || extra_config+=("--disable-shared")
+    if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
+        [ -n "${CT_TOOLCHAIN_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_TOOLCHAIN_PKGVERSION}")
+        [ -n "${CT_TOOLCHAIN_BUGURL}" ]     && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
+    fi
     case "${CT_CC_GCC_SJLJ_EXCEPTIONS}" in
         y)  extra_config+=("--enable-sjlj-exceptions");;
         m)  ;;
diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh
--- a/scripts/build/debug/300-gdb.sh
+++ b/scripts/build/debug/300-gdb.sh
@@ -98,6 +98,11 @@
         6.2*|6.3)   extra_config+=("--disable-gdbmi");;
     esac
 
+    if [ "${CT_GDB_7_0_or_later}" = "y" ]; then
+        [ -n "${CT_TOOLCHAIN_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_TOOLCHAIN_PKGVERSION}")
+        [ -n "${CT_TOOLCHAIN_BUGURL}" ]     && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
+    fi
+
     if [ "${CT_GDB_CROSS}" = "y" ]; then
         local -a cross_extra_config
 
diff --git a/scripts/build/libc/glibc-eglibc.sh-common b/scripts/build/libc/glibc-eglibc.sh-common
--- a/scripts/build/libc/glibc-eglibc.sh-common
+++ b/scripts/build/libc/glibc-eglibc.sh-common
@@ -190,6 +190,11 @@
         *)  extra_config+=("--enable-add-ons=$(do_libc_add_ons_list ,)");;
     esac
 
+    if [ "${CT_LIBC_EGLIBC_2_9_or_later}" = "y" ]; then
+        [ -n "${CT_TOOLCHAIN_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_TOOLCHAIN_PKGVERSION}")
+        [ -n "${CT_TOOLCHAIN_BUGURL}" ]     && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
+    fi
+
     extra_cc_args="${extra_cc_args} ${CT_ARCH_ENDIAN_OPT}"
 
     touch config.cache

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]