public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0 of 1 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb
@ 2012-10-04  4:46 David Holsgrove
  2012-10-04  4:47 ` [PATCH 1 of 1] config+scripts: Custom gcc, binutils, libc, gdb version David Holsgrove
                   ` (2 more replies)
  0 siblings, 3 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-04  4:46 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

Hi Yann, All,

Im sending the following feature addition as a request for interest on inclusion in CT-NG.

Similar to the existing KERNEL_LINUX_CUSTOM option, I added a 'custom' version option for gcc, binutils, eglibc, glibc, newlib and gdb. These can be grabbed from a common source directory, or specified individually as a directory path or path to a tarball.

This is useful for building against source during development on that component, or if the user wants to source control the component themselves using their own favourite system.

The resultant CT_SRC_DIR could be setup like the following example then, depending on versions selected / paths provided;

binutils-2.20.1a
eglibc-custom -> ~/src_dev/rebase/eglibc
gcc-custom -> ~/src_dev/gcc
gdb-custom -> ~/src_dev/gdb
gmp-5.0.2
linux-custom -> ~/src_dev/v2/linux
mpc-0.9
mpfr-3.1.0

I also considered making this depend on a DEVELOPER config option instead of just EXPERIMENTAL, would that be preferable?

thanks,
David

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 1 of 1] config+scripts: Custom gcc, binutils, libc, gdb version
  2012-10-04  4:46 [PATCH 0 of 1 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb David Holsgrove
@ 2012-10-04  4:47 ` David Holsgrove
  2012-10-05  8:48   ` Florian Fainelli
  2012-10-05  7:57 ` [PATCH 0 of 1 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb Bryan Hundven
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
  2 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-04  4:47 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349321174 -36000
# Node ID 4d1c400c76a061ef1e5f8c3f28f1f8712e903e2d
# Parent  43ace4bb005eef085437e3d4fbaef528ef0ef005
config+scripts: Custom gcc, binutils, libc, gdb version

Extract CUSTOM / CUSTOM_LOCATION functionality currently in linux.sh
and generalise in scripts/functions as GetCustom

Add CUSTOM version and CUSTOM_LOCATION config options, along with call
to GetCustom for;
 * gcc
 * binutils
 * glibc
 * eglibc
 * newlib
 * gdb

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Add CUSTOM_LOCATION_ROOT_DIR to config/paths.in as a root directory
which will be used if CUSTOM is selected as version, and no CUSTOM_LOCATION
given for a component.

Allows a developer to have a source directory (eg ~/src) containing under-
developement source components (eg ~/src/gcc, ~/src/binutils, etc)

Will also take a custom tarball via CUSTOM_LOCATION, link into
CT_TARBALLS_DIR and extract as usual.

Bundled patches will not apply, as the version 'custom' will not match any
bundled patch directory. (Same as with custom linux currently)

If a user wishes patches to be applied, they can create the directory
${CT_LOCAL_PATCH_DIR}/${pkgname}/custom and insert manually any patches
which they have not applied to their custom source already.

Selecting CUSTOM version for gcc, binutils, eglibc, gdb also assumes
latest of these versions.

diff -r 43ace4bb005e -r 4d1c400c76a0 config/binutils/binutils.in
--- a/config/binutils/binutils.in	Wed Sep 26 16:37:31 2012 +0200
+++ b/config/binutils/binutils.in	Thu Oct 04 13:26:14 2012 +1000
@@ -50,8 +50,26 @@
     prompt "2.16.1a (OBSOLETE)"
     depends on OBSOLETE
 
+config BINUTILS_CUSTOM
+    bool
+    prompt "Custom binutils"
+    depends on EXPERIMENTAL
+    select BINUTILS_2_22_or_later
+
 endchoice
 
+if BINUTILS_CUSTOM
+
+config BINUTILS_CUSTOM_LOCATION
+    string
+    prompt "full path to custom binutils source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for binutils,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/binutils
+
+endif # BINUTILS_CUSTOM
+
 config BINUTILS_VERSION
     string
 # Don't remove next line
@@ -64,6 +82,7 @@
     default "2.18a" if BINUTILS_V_2_18a
     default "2.17a" if BINUTILS_V_2_17a
     default "2.16.1a" if BINUTILS_V_2_16_1a
+    default "custom" if BINUTILS_CUSTOM
 
 config BINUTILS_2_22_or_later
     bool
diff -r 43ace4bb005e -r 4d1c400c76a0 config/cc/gcc.in
--- a/config/cc/gcc.in	Wed Sep 26 16:37:31 2012 +0200
+++ b/config/cc/gcc.in	Thu Oct 04 13:26:14 2012 +1000
@@ -239,6 +239,12 @@
     prompt "3.4.6 (OBSOLETE)"
     depends on OBSOLETE
 
+config CC_CUSTOM
+    bool
+    prompt "Custom gcc"
+    depends on EXPERIMENTAL
+    select CC_GCC_latest
+
 endchoice
 
 if CC_V_SVN
@@ -297,6 +303,18 @@
 
 endif
 
+if CC_CUSTOM
+
+config CC_CUSTOM_LOCATION
+    string
+    prompt "full path to custom gcc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for gcc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
+
+endif #CC_CUSTOM
+
 config CC_GCC_4_2
     bool
     select CC_GCC_4_2_or_later
@@ -484,6 +502,7 @@
     default "4.1.2" if CC_V_4_1_2
     default "4.0.4" if CC_V_4_0_4
     default "3.4.6" if CC_V_3_4_6
+    default "custom" if CC_CUSTOM
 
 config CC_LANG_JAVA_USE_ECJ
     bool
diff -r 43ace4bb005e -r 4d1c400c76a0 config/debug/gdb.in
--- a/config/debug/gdb.in	Wed Sep 26 16:37:31 2012 +0200
+++ b/config/debug/gdb.in	Thu Oct 04 13:26:14 2012 +1000
@@ -119,6 +119,13 @@
     bool
     prompt "6.8a"
 
+config GDB_CUSTOM
+    bool
+    prompt "Custom gdb"
+    depends on EXPERIMENTAL
+    select GDB_7_0_or_later
+    select GDB_7_2_or_later
+
 endchoice
 
 config GDB_7_2_or_later
@@ -152,5 +159,19 @@
     default "7.0.1a" if GDB_V_7_0_1a
     default "7.0a" if GDB_V_7_0a
     default "6.8a" if GDB_V_6_8a
+    default "custom" if GDB_CUSTOM
+
+if GDB_CUSTOM
+
+config GDB_CUSTOM_LOCATION
+    string
+    prompt "full path to custom gdb source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for gdb,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gdb
+
+endif # GDB_CUSTOM
 
 endif
+
diff -r 43ace4bb005e -r 4d1c400c76a0 config/global/paths.in
--- a/config/global/paths.in	Wed Sep 26 16:37:31 2012 +0200
+++ b/config/global/paths.in	Thu Oct 04 13:26:14 2012 +1000
@@ -60,6 +60,15 @@
 #      The reason you might also want to install elsewhere is if you are going
 #      to package your shinny new toolchain for distribution.
 
+
+config CUSTOM_LOCATION_ROOT_DIR
+    string
+    depends on EXPERIMENTAL
+    prompt "directory containing custom source components"
+    help
+      This is the path CT-NG will attempt to use as a root for locating
+      local copies of source components (CUSTOM_LOCATION_ROOT_DIR/component)
+
 config RM_RF_PREFIX_DIR
     bool
     prompt "|  Remove the prefix dir prior to building"
diff -r 43ace4bb005e -r 4d1c400c76a0 config/libc/eglibc.in
--- a/config/libc/eglibc.in	Wed Sep 26 16:37:31 2012 +0200
+++ b/config/libc/eglibc.in	Thu Oct 04 13:26:14 2012 +1000
@@ -85,6 +85,13 @@
     help
       Selecting this will export the trunk of the eglibc subversion repository.
 
+config LIBC_EGLIBC_CUSTOM
+    bool
+    prompt "Custom eglibc"
+    depends on EXPERIMENTAL
+    select LIBC_EGLIBC_2_16_or_later
+    select LIBC_CUSTOM
+
 endchoice
 
 config LIBC_VERSION
@@ -104,6 +111,7 @@
     default "2_6" if LIBC_EGLIBC_V_2_6
     default "2_5" if LIBC_EGLIBC_V_2_5
     default "trunk" if LIBC_EGLIBC_V_TRUNK
+    default "custom" if LIBC_EGLIBC_CUSTOM
 
 config LIBC_EGLIBC_2_16_or_later
     bool
@@ -140,6 +148,22 @@
 config LIBC_EGLIBC_HAS_PKGVERSION_BUGURL
     bool
 
+config LIBC_CUSTOM
+    bool
+
+if LIBC_EGLIBC_CUSTOM
+
+config LIBC_EGLIBC_CUSTOM_LOCATION
+    string
+    prompt "full path to custom eglibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for eglibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/eglibc
+
+endif # LIBC_EGLIBC_CUSTOM
+if ! LIBC_EGLIBC_CUSTOM
+
 if CONFIGURE_has_svn
 
 config EGLIBC_REVISION
@@ -189,6 +213,7 @@
 comment "otherwise you won't be able to download eglibc"
 
 endif # ! CONFIGURE_has_svn
+endif # ! LIBC_EGLIBC_CUSTOM
 
 config EGLIBC_OPT_SIZE
     bool
diff -r 43ace4bb005e -r 4d1c400c76a0 config/libc/glibc.in
--- a/config/libc/glibc.in	Wed Sep 26 16:37:31 2012 +0200
+++ b/config/libc/glibc.in	Thu Oct 04 13:26:14 2012 +1000
@@ -9,34 +9,6 @@
 
 choice
     bool
-    prompt "Retrieval method"
-    default LIBC_GLIBC_TARBALL
-
-config LIBC_GLIBC_TARBALL
-    bool
-    prompt "Released tarball"
-    help
-      Until end of Februrary 2009, there was no tarball for glibc releases
-      2.8 and later. This was intentional.
-      
-      Then, all of a sudden, tarballs for those releases have appeared at the
-      traditional download place (ftp.gnu.org).
-      
-      Some of the glibc people argue that fixes are committed to the maintenance
-      branch, and thus it is the best plac e to retrieve the glibc from.
-      On the other hand, it might be preferable to always generate a toolchain
-      using a known code-base, so the toolchain can be reproducible.
-      
-      For version prior to 2.8, tarballs were readily available.
-      
-      If you want your toolchain to really be reproducible, say 'Y' here.
-      If you can live with a moving code-base, look at the other choice
-      entries, below.
-
-endchoice
-
-choice
-    bool
     prompt "glibc version"
 # Don't remove next line
 # CT_INSERT_VERSION_BELOW
@@ -109,8 +81,60 @@
     depends on OBSOLETE
     select LIBC_SUPPORT_LINUXTHREADS
 
+config LIBC_GLIBC_CUSTOM
+    bool
+    prompt "Custom glibc"
+    depends on EXPERIMENTAL
+    select LIBC_CUSTOM
+
 endchoice
 
+config LIBC_CUSTOM
+    bool
+
+if LIBC_GLIBC_CUSTOM
+
+config LIBC_GLIBC_CUSTOM_LOCATION
+    string
+    prompt "full path to custom glibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for glibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/glibc
+
+endif # LIBC_GLIBC_CUSTOM
+if ! LIBC_GLIBC_CUSTOM
+
+choice
+    bool
+    prompt "Retrieval method"
+    default LIBC_GLIBC_TARBALL
+
+config LIBC_GLIBC_TARBALL
+    bool
+    prompt "Released tarball"
+    help
+      Until end of Februrary 2009, there was no tarball for glibc releases
+      2.8 and later. This was intentional.
+      
+      Then, all of a sudden, tarballs for those releases have appeared at the
+      traditional download place (ftp.gnu.org).
+      
+      Some of the glibc people argue that fixes are committed to the maintenance
+      branch, and thus it is the best plac e to retrieve the glibc from.
+      On the other hand, it might be preferable to always generate a toolchain
+      using a known code-base, so the toolchain can be reproducible.
+      
+      For version prior to 2.8, tarballs were readily available.
+      
+      If you want your toolchain to really be reproducible, say 'Y' here.
+      If you can live with a moving code-base, look at the other choice
+      entries, below.
+
+endchoice
+
+endif # ! LIBC_GLIBC_CUSTOM
+
 config LIBC_VERSION
     string
 # Don't remove next line
@@ -130,3 +154,4 @@
     default "2.6" if LIBC_GLIBC_V_2_6
     default "2.5.1" if LIBC_GLIBC_V_2_5_1
     default "2.5" if LIBC_GLIBC_V_2_5
+    default "custom" if LIBC_GLIBC_CUSTOM
diff -r 43ace4bb005e -r 4d1c400c76a0 config/libc/newlib.in
--- a/config/libc/newlib.in	Wed Sep 26 16:37:31 2012 +0200
+++ b/config/libc/newlib.in	Thu Oct 04 13:26:14 2012 +1000
@@ -52,8 +52,25 @@
       
       In a word: use the CVS snapshot at your own risk! 
 
+config LIBC_NEWLIB_CUSTOM
+    bool
+    prompt "Custom newlib"
+    depends on EXPERIMENTAL
+
 endchoice
 
+if LIBC_NEWLIB_CUSTOM
+
+config LIBC_NEWLIB_CUSTOM_LOCATION
+    string
+    prompt "full path to custom newlib source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for newlib,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/newlib
+
+endif # LIBC_NEWLIB_CUSTOM
+
 config LIBC_VERSION
     string
     prompt "use CVS tag" if LIBC_NEWLIB_CVS
@@ -63,6 +80,7 @@
     default "1.19.0" if LIBC_NEWLIB_V_1_19_0
     default "1.18.0" if LIBC_NEWLIB_V_1_18_0
     default "1.17.0" if LIBC_NEWLIB_V_1_17_0
+    default "custom" if LIBC_NEWLIB_CUSTOM
     help
       Enter the tag you want to use.
       Leave empty to use the 'head' of the repository.
diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/binutils/binutils.sh
--- a/scripts/build/binutils/binutils.sh	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/build/binutils/binutils.sh	Thu Oct 04 13:26:14 2012 +1000
@@ -4,14 +4,26 @@
 
 # Download binutils
 do_binutils_get() {
-    CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        \
-               {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
-               ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
+    if [ "${CT_BINUTILS_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom binutils: CT_CUSTOM_LOCATION_ROOT_DIR or CT_BINUTILS_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_BINUTILS_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_BINUTILS_CUSTOM_LOCATION}" ]; then
+            CT_BINUTILS_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/binutils"
+        fi
+        CT_GetCustom "binutils-${CT_BINUTILS_VERSION}" "${CT_BINUTILS_CUSTOM_LOCATION}"
+    else
+        CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        \
+                   {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
+                   ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
+    fi
 }
 
 # Extract binutils
 do_binutils_extract() {
-    CT_Extract "binutils-${CT_BINUTILS_VERSION}"
+    if [ "${CT_BINUTILS_CUSTOM}" != "y" \
+         -o ! -d "${CT_BINUTILS_CUSTOM_LOCATION}" ]; then
+        CT_Extract "binutils-${CT_BINUTILS_VERSION}"
+    fi
     CT_Patch "binutils" "${CT_BINUTILS_VERSION}"
 }
 
diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/cc/gcc.sh
--- a/scripts/build/cc/gcc.sh	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/build/cc/gcc.sh	Thu Oct 04 13:26:14 2012 +1000
@@ -4,7 +4,14 @@
 
 # Download gcc
 do_cc_get() {
-    if [ -n "${CT_CC_V_SVN}" ]; then
+    if [ "${CT_CC_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom gcc: CT_CUSTOM_LOCATION_ROOT_DIR or CT_CC_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_CC_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_CC_CUSTOM_LOCATION}" ]; then
+            CT_CC_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/gcc"
+        fi
+        CT_GetCustom "gcc-${CT_CC_VERSION}" "${CT_CC_CUSTOM_LOCATION}"
+    elif [ -n "${CT_CC_V_SVN}" ]; then
         # Get gcc from SVN!
         local svn_base
 
@@ -59,7 +66,10 @@
 
 # Extract gcc
 do_cc_extract() {
-    CT_Extract "gcc-${CT_CC_VERSION}"
+    if [ "${CT_CC_CUSTOM}" != "y" \
+         -o ! -d "${CT_CC_CUSTOM_LOCATION}" ]; then
+        CT_Extract "gcc-${CT_CC_VERSION}"
+    fi
     CT_Patch "gcc" "${CT_CC_VERSION}"
 
     # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree
diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/debug/300-gdb.sh
--- a/scripts/build/debug/300-gdb.sh	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/build/debug/300-gdb.sh	Thu Oct 04 13:26:14 2012 +1000
@@ -48,10 +48,19 @@
     do_debug_gdb_parts
 
     if [ "${do_gdb}" = "y" ]; then
-        CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
-                   {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
-                   ftp://sources.redhat.com/pub/gdb/{,old-}releases \
-                   "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
+        if [ "${CT_GDB_CUSTOM}" = "y" ]; then
+            CT_TestAndAbort "Custom gdb: CT_CUSTOM_LOCATION_ROOT_DIR or CT_GDB_CUSTOM_LOCATION must be set." \
+            -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_GDB_CUSTOM_LOCATION}"
+            if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_GDB_CUSTOM_LOCATION}" ]; then
+                CT_GDB_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/gdb"
+            fi
+            CT_GetCustom "gdb-${CT_GDB_VERSION}" "${CT_GDB_CUSTOM_LOCATION}"
+        else
+            CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
+                       {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
+                       ftp://sources.redhat.com/pub/gdb/{,old-}releases \
+                       "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
+        fi
     fi
 
     if [ "${do_ncurses}" = "y" ]; then
@@ -70,7 +79,10 @@
     do_debug_gdb_parts
 
     if [ "${do_gdb}" = "y" ]; then
-        CT_Extract "gdb-${CT_GDB_VERSION}"
+        if [ "${CT_GDB_CUSTOM}" != "y" \
+             -o ! -d "${CT_GDB_CUSTOM_LOCATION}" ]; then
+            CT_Extract "gdb-${CT_GDB_VERSION}"
+        fi
         CT_Patch "gdb" "${CT_GDB_VERSION}"
     fi
 
diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/kernel/linux.sh
--- a/scripts/build/kernel/linux.sh	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/build/kernel/linux.sh	Thu Oct 04 13:26:14 2012 +1000
@@ -29,23 +29,12 @@
     fi
 
     if [ "${CT_KERNEL_LINUX_CUSTOM}" = "y" ]; then
-        if [ ! -d "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
-            # Wee need to know the custom tarball extension,
-            # so we can create a properly-named symlink, which
-            # we use later on in 'extract'
-            case "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" in
-                *.tar.bz2)      custom_name="linux-custom.tar.bz2";;
-                *.tar.gz|*.tgz) custom_name="linux-custom.tar.gz";;
-                *.tar)          custom_name="linux-custom.tar";;
-                *)  CT_Abort "Unknown extension for custom linux tarball '${CT_KERNEL_LINUX_CUSTOM_LOCATION}'";;
-            esac
-            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  \
-                                      "${CT_TARBALLS_DIR}/${custom_name}"
-        else
-            custom_name="linux-custom"
-            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  \
-                                      "${CT_SRC_DIR}/${custom_name}"
+        CT_TestAndAbort "Custom linux: CT_CUSTOM_LOCATION_ROOT_DIR or CT_KERNEL_LINUX_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
+            CT_KERNEL_LINUX_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/linux"
         fi
+        CT_GetCustom "linux-${CT_KERNEL_VERSION}" "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"
     else # Not a custom tarball
         case "${CT_KERNEL_VERSION}" in
             2.6.*.*|3.*.*)
diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/libc/eglibc.sh
--- a/scripts/build/libc/eglibc.sh	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/build/libc/eglibc.sh	Thu Oct 04 13:26:14 2012 +1000
@@ -28,9 +28,19 @@
         *)      svn_base+="/branches/eglibc-${CT_LIBC_VERSION}";;
     esac
 
-    CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
-              "${svn_base}/libc"            \
-              "${CT_EGLIBC_REVISION:-HEAD}"
+    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom eglibc: CT_CUSTOM_LOCATION_ROOT_DIR or CT_LIBC_EGLIBC_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_EGLIBC_CUSTOM_LOCATION}"
+        CT_LIBC_CUSTOM_LOCATION="${CT_LIBC_EGLIBC_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_EGLIBC_CUSTOM_LOCATION}" ]; then
+            CT_LIBC_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/eglibc"
+        fi
+        CT_GetCustom "eglibc-${CT_LIBC_VERSION}" "${CT_LIBC_CUSTOM_LOCATION}"
+    else
+        CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
+                  "${svn_base}/libc"            \
+                  "${CT_EGLIBC_REVISION:-HEAD}"
+    fi
 
     if [ "${CT_LIBC_LOCALES}" = "y" ]; then
         extra_addons+=("localedef")
diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/libc/glibc-eglibc.sh-common
--- a/scripts/build/libc/glibc-eglibc.sh-common	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/build/libc/glibc-eglibc.sh-common	Thu Oct 04 13:26:14 2012 +1000
@@ -5,7 +5,10 @@
     local addon
 
     # Extract the main tarball
-    CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
+    if [ "${CT_LIBC_CUSTOM}" != "y" \
+         -o ! -d "${CT_LIBC_CUSTOM_LOCATION}" ]; then
+        CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
+    fi
     CT_Pushd "${CT_SRC_DIR}/${CT_LIBC}-${CT_LIBC_VERSION}"
     CT_Patch nochdir "${CT_LIBC}" "${CT_LIBC_VERSION}"
 
diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/libc/glibc.sh
--- a/scripts/build/libc/glibc.sh	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/build/libc/glibc.sh	Thu Oct 04 13:26:14 2012 +1000
@@ -20,10 +20,20 @@
     addons_list=($(do_libc_add_ons_list " "))
 
     # Main source
-    CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
-               {ftp,http}://ftp.gnu.org/gnu/glibc       \
-               ftp://gcc.gnu.org/pub/glibc/releases     \
-               ftp://gcc.gnu.org/pub/glibc/snapshots
+    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom glibc: CT_CUSTOM_LOCATION_ROOT_DIR or CT_LIBC_GLIBC_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_GLIBC_CUSTOM_LOCATION}"
+        CT_LIBC_CUSTOM_LOCATION="${CT_LIBC_GLIBC_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_GLIBC_CUSTOM_LOCATION}" ]; then
+            CT_LIBC_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/glibc"
+        fi
+        CT_GetCustom "glibc-${CT_LIBC_VERSION}" "${CT_LIBC_CUSTOM_LOCATION}"
+    else
+        CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
+                   {ftp,http}://ftp.gnu.org/gnu/glibc       \
+                   ftp://gcc.gnu.org/pub/glibc/releases     \
+                   ftp://gcc.gnu.org/pub/glibc/snapshots
+    fi
 
     # C library addons
     for addon in "${addons_list[@]}"; do
diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/libc/newlib.sh
--- a/scripts/build/libc/newlib.sh	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/build/libc/newlib.sh	Thu Oct 04 13:26:14 2012 +1000
@@ -20,7 +20,14 @@
     libc_src="ftp://sources.redhat.com/pub/newlib"
     avr32headers_src="http://dev.doredevelopment.dk/avr32-toolchain/sources"
 
-    if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
+    if [ "${CT_LIBC_NEWLIB_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom newlib: CT_CUSTOM_LOCATION_ROOT_DIR or CT_LIBC_NEWLIB_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}" ]; then
+            CT_LIBC_NEWLIB_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/newlib"
+        fi
+        CT_GetCustom "newlib-${CT_LIBC_VERSION}" "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}"
+    elif [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
         CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src}
     else
         CT_GetCVS "newlib-$(libc_newlib_version)"                   \
@@ -36,7 +43,10 @@
 }
 
 do_libc_extract() {
-    CT_Extract "newlib-$(libc_newlib_version)"
+    if [ "${CT_LIBC_NEWLIB_CUSTOM}" != "y" \
+         -o ! -d "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}" ]; then
+        CT_Extract "newlib-$(libc_newlib_version)"
+    fi
     CT_Patch "newlib" "$(libc_newlib_version)"
 
     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/functions
--- a/scripts/functions	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/functions	Thu Oct 04 13:26:14 2012 +1000
@@ -516,6 +516,32 @@
     return 1
 }
 
+# This function gets the custom source from either a tarball or directory
+# Usage: CT_GetCustom custom_name <custom_location>
+CT_GetCustom() {
+    local custom_name="$1"
+    local custom_location="$2"
+
+    if [ ! -d "${custom_location}" ]; then
+        # We need to know the custom tarball extension,
+        # so we can create a properly-named symlink, which
+        # we use later on in 'extract'
+        case "${custom_location}" in
+            *.tar.bz2)      custom_name="${custom_name}.tar.bz2";;
+            *.tar.gz|*.tgz) custom_name="${custom_name}.tar.gz";;
+            *.tar)          custom_name="${custom_name}.tar";;
+            *)  CT_Abort "Unknown extension for custom tarball '${custom_location}'";;
+        esac
+        CT_DoLog EXTRA "Using '${custom_name}' from local storage"
+        CT_DoExecLog DEBUG ln -sf "${custom_location}"  \
+                                  "${CT_TARBALLS_DIR}/${custom_name}"
+    else
+        CT_DoLog EXTRA "Using '${custom_name}' from local storage"
+        CT_DoExecLog DEBUG ln -snf "${custom_location}"  \
+                                  "${CT_SRC_DIR}/${custom_name}"
+    fi
+}
+
 # This function saves the specified to local storage if possible,
 # and if so, symlinks it for later usage
 # Usage: CT_SaveLocal </full/path/file.name>

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 0 of 1 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb
  2012-10-04  4:46 [PATCH 0 of 1 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb David Holsgrove
  2012-10-04  4:47 ` [PATCH 1 of 1] config+scripts: Custom gcc, binutils, libc, gdb version David Holsgrove
@ 2012-10-05  7:57 ` Bryan Hundven
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
  2 siblings, 0 replies; 47+ messages in thread
From: Bryan Hundven @ 2012-10-05  7:57 UTC (permalink / raw)
  To: David Holsgrove; +Cc: yann.morin.1998, crossgcc

On Wed, Oct 3, 2012 at 9:46 PM, David Holsgrove
<david.holsgrove@xilinx.com> wrote:
> Hi Yann, All,
>
> Im sending the following feature addition as a request for interest on inclusion in CT-NG.
>
> Similar to the existing KERNEL_LINUX_CUSTOM option, I added a 'custom' version option for gcc, binutils, eglibc, glibc, newlib and gdb. These can be grabbed from a common source directory, or specified individually as a directory path or path to a tarball.
>
> This is useful for building against source during development on that component, or if the user wants to source control the component themselves using their own favourite system.
>
> The resultant CT_SRC_DIR could be setup like the following example then, depending on versions selected / paths provided;
>
> binutils-2.20.1a
> eglibc-custom -> ~/src_dev/rebase/eglibc
> gcc-custom -> ~/src_dev/gcc
> gdb-custom -> ~/src_dev/gdb
> gmp-5.0.2
> linux-custom -> ~/src_dev/v2/linux
> mpc-0.9
> mpfr-3.1.0
>
> I also considered making this depend on a DEVELOPER config option instead of just EXPERIMENTAL, would that be preferable?
>
> thanks,
> David
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>

David, All,

Yann and I have talked about unifying the source acquisition helper
functions (CT_Get*) with a wrapper function to make getting custom
sources simpler.

Personally, I would like to see a way to add custom git, svn, cvs, hg,
(put your vcs here... maybe p4 :shrug:), individual files (think
sstrip.c), and tarballs in a clean maintainable way.

I have some changes laying around that need some finessing and
testing, and then I plan on pushing them here.

If we went down the route that you've proposed, I know that Yann would
want each component in a separate change. So gcc in one patch,
(e)glibc in another, etc. Just a tip.

-Bryan

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1 of 1] config+scripts: Custom gcc, binutils, libc, gdb version
  2012-10-04  4:47 ` [PATCH 1 of 1] config+scripts: Custom gcc, binutils, libc, gdb version David Holsgrove
@ 2012-10-05  8:48   ` Florian Fainelli
  0 siblings, 0 replies; 47+ messages in thread
From: Florian Fainelli @ 2012-10-05  8:48 UTC (permalink / raw)
  To: crossgcc; +Cc: David Holsgrove, yann.morin.1998

Hi David,

On Thursday 04 October 2012 14:46:29 David Holsgrove wrote:
> # HG changeset patch
> # User David Holsgrove <david.holsgrove@xilinx.com>
> # Date 1349321174 -36000
> # Node ID 4d1c400c76a061ef1e5f8c3f28f1f8712e903e2d
> # Parent  43ace4bb005eef085437e3d4fbaef528ef0ef005
> config+scripts: Custom gcc, binutils, libc, gdb version
> 
> Extract CUSTOM / CUSTOM_LOCATION functionality currently in linux.sh
> and generalise in scripts/functions as GetCustom
> 
> Add CUSTOM version and CUSTOM_LOCATION config options, along with call
> to GetCustom for;
>  * gcc
>  * binutils
>  * glibc
>  * eglibc
>  * newlib
>  * gdb

This sounds like an useful feature, especially when bisecting one of listed 
software component, could you also please consider adding uClibc in the list 
of supported "custom" locations?

Thanks!

> 
> CUSTOM_LOCATION config options only presented in menuconfig if component
> CUSTOM version selected.
> 
> Add CUSTOM_LOCATION_ROOT_DIR to config/paths.in as a root directory
> which will be used if CUSTOM is selected as version, and no CUSTOM_LOCATION
> given for a component.
> 
> Allows a developer to have a source directory (eg ~/src) containing under-
> developement source components (eg ~/src/gcc, ~/src/binutils, etc)
> 
> Will also take a custom tarball via CUSTOM_LOCATION, link into
> CT_TARBALLS_DIR and extract as usual.
> 
> Bundled patches will not apply, as the version 'custom' will not match any
> bundled patch directory. (Same as with custom linux currently)
> 
> If a user wishes patches to be applied, they can create the directory
> ${CT_LOCAL_PATCH_DIR}/${pkgname}/custom and insert manually any patches
> which they have not applied to their custom source already.
> 
> Selecting CUSTOM version for gcc, binutils, eglibc, gdb also assumes
> latest of these versions.
> 
> diff -r 43ace4bb005e -r 4d1c400c76a0 config/binutils/binutils.in
> --- a/config/binutils/binutils.in	Wed Sep 26 16:37:31 2012 +0200
> +++ b/config/binutils/binutils.in	Thu Oct 04 13:26:14 2012 +1000
> @@ -50,8 +50,26 @@
>      prompt "2.16.1a (OBSOLETE)"
>      depends on OBSOLETE
>  
> +config BINUTILS_CUSTOM
> +    bool
> +    prompt "Custom binutils"
> +    depends on EXPERIMENTAL
> +    select BINUTILS_2_22_or_later
> +
>  endchoice
>  
> +if BINUTILS_CUSTOM
> +
> +config BINUTILS_CUSTOM_LOCATION
> +    string
> +    prompt "full path to custom binutils source"
> +    default ""
> +    help
> +      Enter the path to the directory (or tarball) of your source for 
binutils,
> +      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/binutils
> +
> +endif # BINUTILS_CUSTOM
> +
>  config BINUTILS_VERSION
>      string
>  # Don't remove next line
> @@ -64,6 +82,7 @@
>      default "2.18a" if BINUTILS_V_2_18a
>      default "2.17a" if BINUTILS_V_2_17a
>      default "2.16.1a" if BINUTILS_V_2_16_1a
> +    default "custom" if BINUTILS_CUSTOM
>  
>  config BINUTILS_2_22_or_later
>      bool
> diff -r 43ace4bb005e -r 4d1c400c76a0 config/cc/gcc.in
> --- a/config/cc/gcc.in	Wed Sep 26 16:37:31 2012 +0200
> +++ b/config/cc/gcc.in	Thu Oct 04 13:26:14 2012 +1000
> @@ -239,6 +239,12 @@
>      prompt "3.4.6 (OBSOLETE)"
>      depends on OBSOLETE
>  
> +config CC_CUSTOM
> +    bool
> +    prompt "Custom gcc"
> +    depends on EXPERIMENTAL
> +    select CC_GCC_latest
> +
>  endchoice
>  
>  if CC_V_SVN
> @@ -297,6 +303,18 @@
>  
>  endif
>  
> +if CC_CUSTOM
> +
> +config CC_CUSTOM_LOCATION
> +    string
> +    prompt "full path to custom gcc source"
> +    default ""
> +    help
> +      Enter the path to the directory (or tarball) of your source for gcc,
> +      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
> +
> +endif #CC_CUSTOM
> +
>  config CC_GCC_4_2
>      bool
>      select CC_GCC_4_2_or_later
> @@ -484,6 +502,7 @@
>      default "4.1.2" if CC_V_4_1_2
>      default "4.0.4" if CC_V_4_0_4
>      default "3.4.6" if CC_V_3_4_6
> +    default "custom" if CC_CUSTOM
>  
>  config CC_LANG_JAVA_USE_ECJ
>      bool
> diff -r 43ace4bb005e -r 4d1c400c76a0 config/debug/gdb.in
> --- a/config/debug/gdb.in	Wed Sep 26 16:37:31 2012 +0200
> +++ b/config/debug/gdb.in	Thu Oct 04 13:26:14 2012 +1000
> @@ -119,6 +119,13 @@
>      bool
>      prompt "6.8a"
>  
> +config GDB_CUSTOM
> +    bool
> +    prompt "Custom gdb"
> +    depends on EXPERIMENTAL
> +    select GDB_7_0_or_later
> +    select GDB_7_2_or_later
> +
>  endchoice
>  
>  config GDB_7_2_or_later
> @@ -152,5 +159,19 @@
>      default "7.0.1a" if GDB_V_7_0_1a
>      default "7.0a" if GDB_V_7_0a
>      default "6.8a" if GDB_V_6_8a
> +    default "custom" if GDB_CUSTOM
> +
> +if GDB_CUSTOM
> +
> +config GDB_CUSTOM_LOCATION
> +    string
> +    prompt "full path to custom gdb source"
> +    default ""
> +    help
> +      Enter the path to the directory (or tarball) of your source for gdb,
> +      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gdb
> +
> +endif # GDB_CUSTOM
>  
>  endif
> +
> diff -r 43ace4bb005e -r 4d1c400c76a0 config/global/paths.in
> --- a/config/global/paths.in	Wed Sep 26 16:37:31 2012 +0200
> +++ b/config/global/paths.in	Thu Oct 04 13:26:14 2012 +1000
> @@ -60,6 +60,15 @@
>  #      The reason you might also want to install elsewhere is if you are 
going
>  #      to package your shinny new toolchain for distribution.
>  
> +
> +config CUSTOM_LOCATION_ROOT_DIR
> +    string
> +    depends on EXPERIMENTAL
> +    prompt "directory containing custom source components"
> +    help
> +      This is the path CT-NG will attempt to use as a root for locating
> +      local copies of source components 
(CUSTOM_LOCATION_ROOT_DIR/component)
> +
>  config RM_RF_PREFIX_DIR
>      bool
>      prompt "|  Remove the prefix dir prior to building"
> diff -r 43ace4bb005e -r 4d1c400c76a0 config/libc/eglibc.in
> --- a/config/libc/eglibc.in	Wed Sep 26 16:37:31 2012 +0200
> +++ b/config/libc/eglibc.in	Thu Oct 04 13:26:14 2012 +1000
> @@ -85,6 +85,13 @@
>      help
>        Selecting this will export the trunk of the eglibc subversion 
repository.
>  
> +config LIBC_EGLIBC_CUSTOM
> +    bool
> +    prompt "Custom eglibc"
> +    depends on EXPERIMENTAL
> +    select LIBC_EGLIBC_2_16_or_later
> +    select LIBC_CUSTOM
> +
>  endchoice
>  
>  config LIBC_VERSION
> @@ -104,6 +111,7 @@
>      default "2_6" if LIBC_EGLIBC_V_2_6
>      default "2_5" if LIBC_EGLIBC_V_2_5
>      default "trunk" if LIBC_EGLIBC_V_TRUNK
> +    default "custom" if LIBC_EGLIBC_CUSTOM
>  
>  config LIBC_EGLIBC_2_16_or_later
>      bool
> @@ -140,6 +148,22 @@
>  config LIBC_EGLIBC_HAS_PKGVERSION_BUGURL
>      bool
>  
> +config LIBC_CUSTOM
> +    bool
> +
> +if LIBC_EGLIBC_CUSTOM
> +
> +config LIBC_EGLIBC_CUSTOM_LOCATION
> +    string
> +    prompt "full path to custom eglibc source"
> +    default ""
> +    help
> +      Enter the path to the directory (or tarball) of your source for 
eglibc,
> +      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/eglibc
> +
> +endif # LIBC_EGLIBC_CUSTOM
> +if ! LIBC_EGLIBC_CUSTOM
> +
>  if CONFIGURE_has_svn
>  
>  config EGLIBC_REVISION
> @@ -189,6 +213,7 @@
>  comment "otherwise you won't be able to download eglibc"
>  
>  endif # ! CONFIGURE_has_svn
> +endif # ! LIBC_EGLIBC_CUSTOM
>  
>  config EGLIBC_OPT_SIZE
>      bool
> diff -r 43ace4bb005e -r 4d1c400c76a0 config/libc/glibc.in
> --- a/config/libc/glibc.in	Wed Sep 26 16:37:31 2012 +0200
> +++ b/config/libc/glibc.in	Thu Oct 04 13:26:14 2012 +1000
> @@ -9,34 +9,6 @@
>  
>  choice
>      bool
> -    prompt "Retrieval method"
> -    default LIBC_GLIBC_TARBALL
> -
> -config LIBC_GLIBC_TARBALL
> -    bool
> -    prompt "Released tarball"
> -    help
> -      Until end of Februrary 2009, there was no tarball for glibc releases
> -      2.8 and later. This was intentional.
> -      
> -      Then, all of a sudden, tarballs for those releases have appeared at 
the
> -      traditional download place (ftp.gnu.org).
> -      
> -      Some of the glibc people argue that fixes are committed to the 
maintenance
> -      branch, and thus it is the best plac e to retrieve the glibc from.
> -      On the other hand, it might be preferable to always generate a 
toolchain
> -      using a known code-base, so the toolchain can be reproducible.
> -      
> -      For version prior to 2.8, tarballs were readily available.
> -      
> -      If you want your toolchain to really be reproducible, say 'Y' here.
> -      If you can live with a moving code-base, look at the other choice
> -      entries, below.
> -
> -endchoice
> -
> -choice
> -    bool
>      prompt "glibc version"
>  # Don't remove next line
>  # CT_INSERT_VERSION_BELOW
> @@ -109,8 +81,60 @@
>      depends on OBSOLETE
>      select LIBC_SUPPORT_LINUXTHREADS
>  
> +config LIBC_GLIBC_CUSTOM
> +    bool
> +    prompt "Custom glibc"
> +    depends on EXPERIMENTAL
> +    select LIBC_CUSTOM
> +
>  endchoice
>  
> +config LIBC_CUSTOM
> +    bool
> +
> +if LIBC_GLIBC_CUSTOM
> +
> +config LIBC_GLIBC_CUSTOM_LOCATION
> +    string
> +    prompt "full path to custom glibc source"
> +    default ""
> +    help
> +      Enter the path to the directory (or tarball) of your source for 
glibc,
> +      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/glibc
> +
> +endif # LIBC_GLIBC_CUSTOM
> +if ! LIBC_GLIBC_CUSTOM
> +
> +choice
> +    bool
> +    prompt "Retrieval method"
> +    default LIBC_GLIBC_TARBALL
> +
> +config LIBC_GLIBC_TARBALL
> +    bool
> +    prompt "Released tarball"
> +    help
> +      Until end of Februrary 2009, there was no tarball for glibc releases
> +      2.8 and later. This was intentional.
> +      
> +      Then, all of a sudden, tarballs for those releases have appeared at 
the
> +      traditional download place (ftp.gnu.org).
> +      
> +      Some of the glibc people argue that fixes are committed to the 
maintenance
> +      branch, and thus it is the best plac e to retrieve the glibc from.
> +      On the other hand, it might be preferable to always generate a 
toolchain
> +      using a known code-base, so the toolchain can be reproducible.
> +      
> +      For version prior to 2.8, tarballs were readily available.
> +      
> +      If you want your toolchain to really be reproducible, say 'Y' here.
> +      If you can live with a moving code-base, look at the other choice
> +      entries, below.
> +
> +endchoice
> +
> +endif # ! LIBC_GLIBC_CUSTOM
> +
>  config LIBC_VERSION
>      string
>  # Don't remove next line
> @@ -130,3 +154,4 @@
>      default "2.6" if LIBC_GLIBC_V_2_6
>      default "2.5.1" if LIBC_GLIBC_V_2_5_1
>      default "2.5" if LIBC_GLIBC_V_2_5
> +    default "custom" if LIBC_GLIBC_CUSTOM
> diff -r 43ace4bb005e -r 4d1c400c76a0 config/libc/newlib.in
> --- a/config/libc/newlib.in	Wed Sep 26 16:37:31 2012 +0200
> +++ b/config/libc/newlib.in	Thu Oct 04 13:26:14 2012 +1000
> @@ -52,8 +52,25 @@
>        
>        In a word: use the CVS snapshot at your own risk! 
>  
> +config LIBC_NEWLIB_CUSTOM
> +    bool
> +    prompt "Custom newlib"
> +    depends on EXPERIMENTAL
> +
>  endchoice
>  
> +if LIBC_NEWLIB_CUSTOM
> +
> +config LIBC_NEWLIB_CUSTOM_LOCATION
> +    string
> +    prompt "full path to custom newlib source"
> +    default ""
> +    help
> +      Enter the path to the directory (or tarball) of your source for 
newlib,
> +      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/newlib
> +
> +endif # LIBC_NEWLIB_CUSTOM
> +
>  config LIBC_VERSION
>      string
>      prompt "use CVS tag" if LIBC_NEWLIB_CVS
> @@ -63,6 +80,7 @@
>      default "1.19.0" if LIBC_NEWLIB_V_1_19_0
>      default "1.18.0" if LIBC_NEWLIB_V_1_18_0
>      default "1.17.0" if LIBC_NEWLIB_V_1_17_0
> +    default "custom" if LIBC_NEWLIB_CUSTOM
>      help
>        Enter the tag you want to use.
>        Leave empty to use the 'head' of the repository.
> diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/binutils/binutils.sh
> --- a/scripts/build/binutils/binutils.sh	Wed Sep 26 16:37:31 2012 +0200
> +++ b/scripts/build/binutils/binutils.sh	Thu Oct 04 13:26:14 2012 +1000
> @@ -4,14 +4,26 @@
>  
>  # Download binutils
>  do_binutils_get() {
> -    CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        
\
> -               
{ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
> -               ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
> +    if [ "${CT_BINUTILS_CUSTOM}" = "y" ]; then
> +        CT_TestAndAbort "Custom binutils: CT_CUSTOM_LOCATION_ROOT_DIR or 
CT_BINUTILS_CUSTOM_LOCATION must be set." \
> +        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_BINUTILS_CUSTOM_LOCATION}"
> +        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_BINUTILS_CUSTOM_LOCATION}" ]; then
> +            
CT_BINUTILS_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/binutils"
> +        fi
> +        CT_GetCustom "binutils-${CT_BINUTILS_VERSION}" 
"${CT_BINUTILS_CUSTOM_LOCATION}"
> +    else
> +        CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        
\
> +                   
{ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
> +                   ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
> +    fi
>  }
>  
>  # Extract binutils
>  do_binutils_extract() {
> -    CT_Extract "binutils-${CT_BINUTILS_VERSION}"
> +    if [ "${CT_BINUTILS_CUSTOM}" != "y" \
> +         -o ! -d "${CT_BINUTILS_CUSTOM_LOCATION}" ]; then
> +        CT_Extract "binutils-${CT_BINUTILS_VERSION}"
> +    fi
>      CT_Patch "binutils" "${CT_BINUTILS_VERSION}"
>  }
>  
> diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/cc/gcc.sh
> --- a/scripts/build/cc/gcc.sh	Wed Sep 26 16:37:31 2012 +0200
> +++ b/scripts/build/cc/gcc.sh	Thu Oct 04 13:26:14 2012 +1000
> @@ -4,7 +4,14 @@
>  
>  # Download gcc
>  do_cc_get() {
> -    if [ -n "${CT_CC_V_SVN}" ]; then
> +    if [ "${CT_CC_CUSTOM}" = "y" ]; then
> +        CT_TestAndAbort "Custom gcc: CT_CUSTOM_LOCATION_ROOT_DIR or 
CT_CC_CUSTOM_LOCATION must be set." \
> +        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_CC_CUSTOM_LOCATION}"
> +        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_CC_CUSTOM_LOCATION}" ]; then
> +            CT_CC_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/gcc"
> +        fi
> +        CT_GetCustom "gcc-${CT_CC_VERSION}" "${CT_CC_CUSTOM_LOCATION}"
> +    elif [ -n "${CT_CC_V_SVN}" ]; then
>          # Get gcc from SVN!
>          local svn_base
>  
> @@ -59,7 +66,10 @@
>  
>  # Extract gcc
>  do_cc_extract() {
> -    CT_Extract "gcc-${CT_CC_VERSION}"
> +    if [ "${CT_CC_CUSTOM}" != "y" \
> +         -o ! -d "${CT_CC_CUSTOM_LOCATION}" ]; then
> +        CT_Extract "gcc-${CT_CC_VERSION}"
> +    fi
>      CT_Patch "gcc" "${CT_CC_VERSION}"
>  
>      # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree
> diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/debug/300-gdb.sh
> --- a/scripts/build/debug/300-gdb.sh	Wed Sep 26 16:37:31 2012 +0200
> +++ b/scripts/build/debug/300-gdb.sh	Thu Oct 04 13:26:14 2012 +1000
> @@ -48,10 +48,19 @@
>      do_debug_gdb_parts
>  
>      if [ "${do_gdb}" = "y" ]; then
> -        CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
> -                   {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
> -                   ftp://sources.redhat.com/pub/gdb/{,old-}releases \
> -                   
"${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
> +        if [ "${CT_GDB_CUSTOM}" = "y" ]; then
> +            CT_TestAndAbort "Custom gdb: CT_CUSTOM_LOCATION_ROOT_DIR or 
CT_GDB_CUSTOM_LOCATION must be set." \
> +            -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_GDB_CUSTOM_LOCATION}"
> +            if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_GDB_CUSTOM_LOCATION}" ]; then
> +                CT_GDB_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/gdb"
> +            fi
> +            CT_GetCustom "gdb-${CT_GDB_VERSION}" 
"${CT_GDB_CUSTOM_LOCATION}"
> +        else
> +            CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
> +                       {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
> +                       ftp://sources.redhat.com/pub/gdb/{,old-}releases \
> +                       
"${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
> +        fi
>      fi
>  
>      if [ "${do_ncurses}" = "y" ]; then
> @@ -70,7 +79,10 @@
>      do_debug_gdb_parts
>  
>      if [ "${do_gdb}" = "y" ]; then
> -        CT_Extract "gdb-${CT_GDB_VERSION}"
> +        if [ "${CT_GDB_CUSTOM}" != "y" \
> +             -o ! -d "${CT_GDB_CUSTOM_LOCATION}" ]; then
> +            CT_Extract "gdb-${CT_GDB_VERSION}"
> +        fi
>          CT_Patch "gdb" "${CT_GDB_VERSION}"
>      fi
>  
> diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/kernel/linux.sh
> --- a/scripts/build/kernel/linux.sh	Wed Sep 26 16:37:31 2012 +0200
> +++ b/scripts/build/kernel/linux.sh	Thu Oct 04 13:26:14 2012 +1000
> @@ -29,23 +29,12 @@
>      fi
>  
>      if [ "${CT_KERNEL_LINUX_CUSTOM}" = "y" ]; then
> -        if [ ! -d "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
> -            # Wee need to know the custom tarball extension,
> -            # so we can create a properly-named symlink, which
> -            # we use later on in 'extract'
> -            case "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" in
> -                *.tar.bz2)      custom_name="linux-custom.tar.bz2";;
> -                *.tar.gz|*.tgz) custom_name="linux-custom.tar.gz";;
> -                *.tar)          custom_name="linux-custom.tar";;
> -                *)  CT_Abort "Unknown extension for custom linux tarball 
'${CT_KERNEL_LINUX_CUSTOM_LOCATION}'";;
> -            esac
> -            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  
\
> -                                      "${CT_TARBALLS_DIR}/${custom_name}"
> -        else
> -            custom_name="linux-custom"
> -            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  
\
> -                                      "${CT_SRC_DIR}/${custom_name}"
> +        CT_TestAndAbort "Custom linux: CT_CUSTOM_LOCATION_ROOT_DIR or 
CT_KERNEL_LINUX_CUSTOM_LOCATION must be set." \
> +        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_KERNEL_LINUX_CUSTOM_LOCATION}"
> +        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
> +            
CT_KERNEL_LINUX_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/linux"
>          fi
> +        CT_GetCustom "linux-${CT_KERNEL_VERSION}" 
"${CT_KERNEL_LINUX_CUSTOM_LOCATION}"
>      else # Not a custom tarball
>          case "${CT_KERNEL_VERSION}" in
>              2.6.*.*|3.*.*)
> diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/libc/eglibc.sh
> --- a/scripts/build/libc/eglibc.sh	Wed Sep 26 16:37:31 2012 +0200
> +++ b/scripts/build/libc/eglibc.sh	Thu Oct 04 13:26:14 2012 +1000
> @@ -28,9 +28,19 @@
>          *)      svn_base+="/branches/eglibc-${CT_LIBC_VERSION}";;
>      esac
>  
> -    CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
> -              "${svn_base}/libc"            \
> -              "${CT_EGLIBC_REVISION:-HEAD}"
> +    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
> +        CT_TestAndAbort "Custom eglibc: CT_CUSTOM_LOCATION_ROOT_DIR or 
CT_LIBC_EGLIBC_CUSTOM_LOCATION must be set." \
> +        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_LIBC_EGLIBC_CUSTOM_LOCATION}"
> +        CT_LIBC_CUSTOM_LOCATION="${CT_LIBC_EGLIBC_CUSTOM_LOCATION}"
> +        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_LIBC_EGLIBC_CUSTOM_LOCATION}" ]; then
> +            CT_LIBC_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/eglibc"
> +        fi
> +        CT_GetCustom "eglibc-${CT_LIBC_VERSION}" 
"${CT_LIBC_CUSTOM_LOCATION}"
> +    else
> +        CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
> +                  "${svn_base}/libc"            \
> +                  "${CT_EGLIBC_REVISION:-HEAD}"
> +    fi
>  
>      if [ "${CT_LIBC_LOCALES}" = "y" ]; then
>          extra_addons+=("localedef")
> diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/libc/glibc-eglibc.sh-
common
> --- a/scripts/build/libc/glibc-eglibc.sh-common	Wed Sep 26 16:37:31 2012 
+0200
> +++ b/scripts/build/libc/glibc-eglibc.sh-common	Thu Oct 04 13:26:14 2012 
+1000
> @@ -5,7 +5,10 @@
>      local addon
>  
>      # Extract the main tarball
> -    CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
> +    if [ "${CT_LIBC_CUSTOM}" != "y" \
> +         -o ! -d "${CT_LIBC_CUSTOM_LOCATION}" ]; then
> +        CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
> +    fi
>      CT_Pushd "${CT_SRC_DIR}/${CT_LIBC}-${CT_LIBC_VERSION}"
>      CT_Patch nochdir "${CT_LIBC}" "${CT_LIBC_VERSION}"
>  
> diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/libc/glibc.sh
> --- a/scripts/build/libc/glibc.sh	Wed Sep 26 16:37:31 2012 +0200
> +++ b/scripts/build/libc/glibc.sh	Thu Oct 04 13:26:14 2012 +1000
> @@ -20,10 +20,20 @@
>      addons_list=($(do_libc_add_ons_list " "))
>  
>      # Main source
> -    CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
> -               {ftp,http}://ftp.gnu.org/gnu/glibc       \
> -               ftp://gcc.gnu.org/pub/glibc/releases     \
> -               ftp://gcc.gnu.org/pub/glibc/snapshots
> +    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
> +        CT_TestAndAbort "Custom glibc: CT_CUSTOM_LOCATION_ROOT_DIR or 
CT_LIBC_GLIBC_CUSTOM_LOCATION must be set." \
> +        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_LIBC_GLIBC_CUSTOM_LOCATION}"
> +        CT_LIBC_CUSTOM_LOCATION="${CT_LIBC_GLIBC_CUSTOM_LOCATION}"
> +        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_LIBC_GLIBC_CUSTOM_LOCATION}" ]; then
> +            CT_LIBC_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/glibc"
> +        fi
> +        CT_GetCustom "glibc-${CT_LIBC_VERSION}" 
"${CT_LIBC_CUSTOM_LOCATION}"
> +    else
> +        CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
> +                   {ftp,http}://ftp.gnu.org/gnu/glibc       \
> +                   ftp://gcc.gnu.org/pub/glibc/releases     \
> +                   ftp://gcc.gnu.org/pub/glibc/snapshots
> +    fi
>  
>      # C library addons
>      for addon in "${addons_list[@]}"; do
> diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/build/libc/newlib.sh
> --- a/scripts/build/libc/newlib.sh	Wed Sep 26 16:37:31 2012 +0200
> +++ b/scripts/build/libc/newlib.sh	Thu Oct 04 13:26:14 2012 +1000
> @@ -20,7 +20,14 @@
>      libc_src="ftp://sources.redhat.com/pub/newlib"
>      avr32headers_src="http://dev.doredevelopment.dk/avr32-
toolchain/sources"
>  
> -    if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
> +    if [ "${CT_LIBC_NEWLIB_CUSTOM}" = "y" ]; then
> +        CT_TestAndAbort "Custom newlib: CT_CUSTOM_LOCATION_ROOT_DIR or 
CT_LIBC_NEWLIB_CUSTOM_LOCATION must be set." \
> +        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_LIBC_NEWLIB_CUSTOM_LOCATION}"
> +        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z 
"${CT_LIBC_NEWLIB_CUSTOM_LOCATION}" ]; then
> +            
CT_LIBC_NEWLIB_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/newlib"
> +        fi
> +        CT_GetCustom "newlib-${CT_LIBC_VERSION}" 
"${CT_LIBC_NEWLIB_CUSTOM_LOCATION}"
> +    elif [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
>          CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src}
>      else
>          CT_GetCVS "newlib-$(libc_newlib_version)"                   \
> @@ -36,7 +43,10 @@
>  }
>  
>  do_libc_extract() {
> -    CT_Extract "newlib-$(libc_newlib_version)"
> +    if [ "${CT_LIBC_NEWLIB_CUSTOM}" != "y" \
> +         -o ! -d "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}" ]; then
> +        CT_Extract "newlib-$(libc_newlib_version)"
> +    fi
>      CT_Patch "newlib" "$(libc_newlib_version)"
>  
>      if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
> diff -r 43ace4bb005e -r 4d1c400c76a0 scripts/functions
> --- a/scripts/functions	Wed Sep 26 16:37:31 2012 +0200
> +++ b/scripts/functions	Thu Oct 04 13:26:14 2012 +1000
> @@ -516,6 +516,32 @@
>      return 1
>  }
>  
> +# This function gets the custom source from either a tarball or directory
> +# Usage: CT_GetCustom custom_name <custom_location>
> +CT_GetCustom() {
> +    local custom_name="$1"
> +    local custom_location="$2"
> +
> +    if [ ! -d "${custom_location}" ]; then
> +        # We need to know the custom tarball extension,
> +        # so we can create a properly-named symlink, which
> +        # we use later on in 'extract'
> +        case "${custom_location}" in
> +            *.tar.bz2)      custom_name="${custom_name}.tar.bz2";;
> +            *.tar.gz|*.tgz) custom_name="${custom_name}.tar.gz";;
> +            *.tar)          custom_name="${custom_name}.tar";;
> +            *)  CT_Abort "Unknown extension for custom tarball 
'${custom_location}'";;
> +        esac
> +        CT_DoLog EXTRA "Using '${custom_name}' from local storage"
> +        CT_DoExecLog DEBUG ln -sf "${custom_location}"  \
> +                                  "${CT_TARBALLS_DIR}/${custom_name}"
> +    else
> +        CT_DoLog EXTRA "Using '${custom_name}' from local storage"
> +        CT_DoExecLog DEBUG ln -snf "${custom_location}"  \
> +                                  "${CT_SRC_DIR}/${custom_name}"
> +    fi
> +}
> +
>  # This function saves the specified to local storage if possible,
>  # and if so, symlinks it for later usage
>  # Usage: CT_SaveLocal </full/path/file.name>
> 
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
> 

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 1 of 6] config+scripts: Extract CUSTOM / CUSTOM_LOCATION currently in linux.sh
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
@ 2012-10-10  6:08   ` David Holsgrove
  2012-10-10 22:19     ` Yann E. MORIN
  2012-10-10  6:08   ` [PATCH 5 of 6] binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
                     ` (6 subsequent siblings)
  7 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-10  6:08 UTC (permalink / raw)
  To: bryanhundven, yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349321174 -36000
# Node ID 54e6f8f3b141d3502e51e35cdda8aded03b597f4
# Parent  43ace4bb005eef085437e3d4fbaef528ef0ef005
config+scripts: Extract CUSTOM / CUSTOM_LOCATION currently in linux.sh

Generalise in scripts/functions as GetCustom

Add CUSTOM_LOCATION_ROOT_DIR to config/paths.in as a root directory
which will be used if CUSTOM is selected as version, and no CUSTOM_LOCATION
given for a component.

diff -r 43ace4bb005e -r 54e6f8f3b141 config/global/paths.in
--- a/config/global/paths.in	Wed Sep 26 16:37:31 2012 +0200
+++ b/config/global/paths.in	Thu Oct 04 13:26:14 2012 +1000
@@ -60,6 +60,15 @@
 #      The reason you might also want to install elsewhere is if you are going
 #      to package your shinny new toolchain for distribution.
 
+
+config CUSTOM_LOCATION_ROOT_DIR
+    string
+    depends on EXPERIMENTAL
+    prompt "directory containing custom source components"
+    help
+      This is the path CT-NG will attempt to use as a root for locating
+      local copies of source components (CUSTOM_LOCATION_ROOT_DIR/component)
+
 config RM_RF_PREFIX_DIR
     bool
     prompt "|  Remove the prefix dir prior to building"
diff -r 43ace4bb005e -r 54e6f8f3b141 scripts/functions
--- a/scripts/functions	Wed Sep 26 16:37:31 2012 +0200
+++ b/scripts/functions	Thu Oct 04 13:26:14 2012 +1000
@@ -516,6 +516,32 @@
     return 1
 }
 
+# This function gets the custom source from either a tarball or directory
+# Usage: CT_GetCustom custom_name <custom_location>
+CT_GetCustom() {
+    local custom_name="$1"
+    local custom_location="$2"
+
+    if [ ! -d "${custom_location}" ]; then
+        # We need to know the custom tarball extension,
+        # so we can create a properly-named symlink, which
+        # we use later on in 'extract'
+        case "${custom_location}" in
+            *.tar.bz2)      custom_name="${custom_name}.tar.bz2";;
+            *.tar.gz|*.tgz) custom_name="${custom_name}.tar.gz";;
+            *.tar)          custom_name="${custom_name}.tar";;
+            *)  CT_Abort "Unknown extension for custom tarball '${custom_location}'";;
+        esac
+        CT_DoLog EXTRA "Using '${custom_name}' from local storage"
+        CT_DoExecLog DEBUG ln -sf "${custom_location}"  \
+                                  "${CT_TARBALLS_DIR}/${custom_name}"
+    else
+        CT_DoLog EXTRA "Using '${custom_name}' from local storage"
+        CT_DoExecLog DEBUG ln -snf "${custom_location}"  \
+                                  "${CT_SRC_DIR}/${custom_name}"
+    fi
+}
+
 # This function saves the specified to local storage if possible,
 # and if so, symlinks it for later usage
 # Usage: CT_SaveLocal </full/path/file.name>

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 2 of 6] kernel/linux: Extract custom location function and use generic GetCustom
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
                     ` (4 preceding siblings ...)
  2012-10-10  6:08   ` [PATCH 4 of 6] libc: " David Holsgrove
@ 2012-10-10  6:08   ` David Holsgrove
  2012-10-10 22:25     ` Yann E. MORIN
  2012-10-10 21:56   ` [PATCH 0 of 6 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb Yann E. MORIN
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
  7 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-10  6:08 UTC (permalink / raw)
  To: bryanhundven, yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349847853 -36000
# Node ID b6b1b07f7ab14184f457e907db6269057cdd6126
# Parent  54e6f8f3b141d3502e51e35cdda8aded03b597f4
kernel/linux: Extract custom location function and use generic GetCustom

Config options remain the same as before, just generalised to be used by other
components also

diff -r 54e6f8f3b141 -r b6b1b07f7ab1 scripts/build/kernel/linux.sh
--- a/scripts/build/kernel/linux.sh	Thu Oct 04 13:26:14 2012 +1000
+++ b/scripts/build/kernel/linux.sh	Wed Oct 10 15:44:13 2012 +1000
@@ -29,23 +29,12 @@
     fi
 
     if [ "${CT_KERNEL_LINUX_CUSTOM}" = "y" ]; then
-        if [ ! -d "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
-            # Wee need to know the custom tarball extension,
-            # so we can create a properly-named symlink, which
-            # we use later on in 'extract'
-            case "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" in
-                *.tar.bz2)      custom_name="linux-custom.tar.bz2";;
-                *.tar.gz|*.tgz) custom_name="linux-custom.tar.gz";;
-                *.tar)          custom_name="linux-custom.tar";;
-                *)  CT_Abort "Unknown extension for custom linux tarball '${CT_KERNEL_LINUX_CUSTOM_LOCATION}'";;
-            esac
-            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  \
-                                      "${CT_TARBALLS_DIR}/${custom_name}"
-        else
-            custom_name="linux-custom"
-            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  \
-                                      "${CT_SRC_DIR}/${custom_name}"
+        CT_TestAndAbort "Custom linux: CT_CUSTOM_LOCATION_ROOT_DIR or CT_KERNEL_LINUX_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
+            CT_KERNEL_LINUX_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/linux"
         fi
+        CT_GetCustom "linux-${CT_KERNEL_VERSION}" "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"
     else # Not a custom tarball
         case "${CT_KERNEL_VERSION}" in
             2.6.*.*|3.*.*)

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 3 of 6] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
  2012-10-10  6:08   ` [PATCH 1 of 6] config+scripts: Extract CUSTOM / CUSTOM_LOCATION currently in linux.sh David Holsgrove
  2012-10-10  6:08   ` [PATCH 5 of 6] binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
@ 2012-10-10  6:08   ` David Holsgrove
  2012-10-10  6:08   ` [PATCH 6 of 6] debug/gdb: " David Holsgrove
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-10  6:08 UTC (permalink / raw)
  To: bryanhundven, yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349847854 -36000
# Node ID 7748cfa416638a6d2b808628f6e9a84ed37a89e5
# Parent  b6b1b07f7ab14184f457e907db6269057cdd6126
cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

diff -r b6b1b07f7ab1 -r 7748cfa41663 config/cc/gcc.in
--- a/config/cc/gcc.in	Wed Oct 10 15:44:13 2012 +1000
+++ b/config/cc/gcc.in	Wed Oct 10 15:44:14 2012 +1000
@@ -239,6 +239,12 @@
     prompt "3.4.6 (OBSOLETE)"
     depends on OBSOLETE
 
+config CC_CUSTOM
+    bool
+    prompt "Custom gcc"
+    depends on EXPERIMENTAL
+    select CC_GCC_latest
+
 endchoice
 
 if CC_V_SVN
@@ -297,6 +303,18 @@
 
 endif
 
+if CC_CUSTOM
+
+config CC_CUSTOM_LOCATION
+    string
+    prompt "full path to custom gcc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for gcc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
+
+endif #CC_CUSTOM
+
 config CC_GCC_4_2
     bool
     select CC_GCC_4_2_or_later
@@ -484,6 +502,7 @@
     default "4.1.2" if CC_V_4_1_2
     default "4.0.4" if CC_V_4_0_4
     default "3.4.6" if CC_V_3_4_6
+    default "custom" if CC_CUSTOM
 
 config CC_LANG_JAVA_USE_ECJ
     bool
diff -r b6b1b07f7ab1 -r 7748cfa41663 scripts/build/cc/gcc.sh
--- a/scripts/build/cc/gcc.sh	Wed Oct 10 15:44:13 2012 +1000
+++ b/scripts/build/cc/gcc.sh	Wed Oct 10 15:44:14 2012 +1000
@@ -4,7 +4,14 @@
 
 # Download gcc
 do_cc_get() {
-    if [ -n "${CT_CC_V_SVN}" ]; then
+    if [ "${CT_CC_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom gcc: CT_CUSTOM_LOCATION_ROOT_DIR or CT_CC_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_CC_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_CC_CUSTOM_LOCATION}" ]; then
+            CT_CC_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/gcc"
+        fi
+        CT_GetCustom "gcc-${CT_CC_VERSION}" "${CT_CC_CUSTOM_LOCATION}"
+    elif [ -n "${CT_CC_V_SVN}" ]; then
         # Get gcc from SVN!
         local svn_base
 
@@ -59,7 +66,10 @@
 
 # Extract gcc
 do_cc_extract() {
-    CT_Extract "gcc-${CT_CC_VERSION}"
+    if [ "${CT_CC_CUSTOM}" != "y" \
+         -o ! -d "${CT_CC_CUSTOM_LOCATION}" ]; then
+        CT_Extract "gcc-${CT_CC_VERSION}"
+    fi
     CT_Patch "gcc" "${CT_CC_VERSION}"
 
     # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 6 of 6] debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
                     ` (2 preceding siblings ...)
  2012-10-10  6:08   ` [PATCH 3 of 6] cc/gcc: " David Holsgrove
@ 2012-10-10  6:08   ` David Holsgrove
  2012-10-10 22:45     ` Yann E. MORIN
  2012-10-10  6:08   ` [PATCH 4 of 6] libc: " David Holsgrove
                     ` (3 subsequent siblings)
  7 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-10  6:08 UTC (permalink / raw)
  To: bryanhundven, yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349847856 -36000
# Node ID 95681eaa5cefc8ac01c9fefc12e0785d185c4a84
# Parent  53e0ec83f0eb86286025821388cbdb82a8510941
debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

diff -r 53e0ec83f0eb -r 95681eaa5cef config/debug/gdb.in
--- a/config/debug/gdb.in	Wed Oct 10 15:44:15 2012 +1000
+++ b/config/debug/gdb.in	Wed Oct 10 15:44:16 2012 +1000
@@ -119,6 +119,13 @@
     bool
     prompt "6.8a"
 
+config GDB_CUSTOM
+    bool
+    prompt "Custom gdb"
+    depends on EXPERIMENTAL
+    select GDB_7_0_or_later
+    select GDB_7_2_or_later
+
 endchoice
 
 config GDB_7_2_or_later
@@ -152,5 +159,19 @@
     default "7.0.1a" if GDB_V_7_0_1a
     default "7.0a" if GDB_V_7_0a
     default "6.8a" if GDB_V_6_8a
+    default "custom" if GDB_CUSTOM
+
+if GDB_CUSTOM
+
+config GDB_CUSTOM_LOCATION
+    string
+    prompt "full path to custom gdb source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for gdb,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gdb
+
+endif # GDB_CUSTOM
 
 endif
+
diff -r 53e0ec83f0eb -r 95681eaa5cef scripts/build/debug/300-gdb.sh
--- a/scripts/build/debug/300-gdb.sh	Wed Oct 10 15:44:15 2012 +1000
+++ b/scripts/build/debug/300-gdb.sh	Wed Oct 10 15:44:16 2012 +1000
@@ -48,10 +48,19 @@
     do_debug_gdb_parts
 
     if [ "${do_gdb}" = "y" ]; then
-        CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
-                   {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
-                   ftp://sources.redhat.com/pub/gdb/{,old-}releases \
-                   "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
+        if [ "${CT_GDB_CUSTOM}" = "y" ]; then
+            CT_TestAndAbort "Custom gdb: CT_CUSTOM_LOCATION_ROOT_DIR or CT_GDB_CUSTOM_LOCATION must be set." \
+            -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_GDB_CUSTOM_LOCATION}"
+            if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_GDB_CUSTOM_LOCATION}" ]; then
+                CT_GDB_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/gdb"
+            fi
+            CT_GetCustom "gdb-${CT_GDB_VERSION}" "${CT_GDB_CUSTOM_LOCATION}"
+        else
+            CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
+                       {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
+                       ftp://sources.redhat.com/pub/gdb/{,old-}releases \
+                       "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
+        fi
     fi
 
     if [ "${do_ncurses}" = "y" ]; then
@@ -70,7 +79,10 @@
     do_debug_gdb_parts
 
     if [ "${do_gdb}" = "y" ]; then
-        CT_Extract "gdb-${CT_GDB_VERSION}"
+        if [ "${CT_GDB_CUSTOM}" != "y" \
+             -o ! -d "${CT_GDB_CUSTOM_LOCATION}" ]; then
+            CT_Extract "gdb-${CT_GDB_VERSION}"
+        fi
         CT_Patch "gdb" "${CT_GDB_VERSION}"
     fi
 

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 0 of 6 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb
  2012-10-04  4:46 [PATCH 0 of 1 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb David Holsgrove
  2012-10-04  4:47 ` [PATCH 1 of 1] config+scripts: Custom gcc, binutils, libc, gdb version David Holsgrove
  2012-10-05  7:57 ` [PATCH 0 of 1 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb Bryan Hundven
@ 2012-10-10  6:08 ` David Holsgrove
  2012-10-10  6:08   ` [PATCH 1 of 6] config+scripts: Extract CUSTOM / CUSTOM_LOCATION currently in linux.sh David Holsgrove
                     ` (7 more replies)
  2 siblings, 8 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-10  6:08 UTC (permalink / raw)
  To: bryanhundven, yann.morin.1998; +Cc: crossgcc

Hi Bryan, Yann, All,

Thanks for the comments. A unifying source helper would definitely be
very useful, as I think myself and others would like to be able to
build against our own managed code. 

In the meantime though, I think extracting the existing functionality
that linux.sh uses, and expanding so other components can leverage
the same method would be a good stop-gap? I imagine regardless of the
wrapper function for sourcing, you'll still need to select some sort
of 'custom' version for each component in their kconfigs, so some of
this patch series would probably remain?

I've separated each component out (except for grouping libc together,
made more sense with the common .in and .sh) into separate patches
which follow this reply :-)

thanks again,
David

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 4 of 6] libc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
                     ` (3 preceding siblings ...)
  2012-10-10  6:08   ` [PATCH 6 of 6] debug/gdb: " David Holsgrove
@ 2012-10-10  6:08   ` David Holsgrove
  2012-10-10 22:38     ` Yann E. MORIN
  2012-10-10  6:08   ` [PATCH 2 of 6] kernel/linux: Extract custom location function and use generic GetCustom David Holsgrove
                     ` (2 subsequent siblings)
  7 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-10  6:08 UTC (permalink / raw)
  To: bryanhundven, yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349847854 -36000
# Node ID e3e4a439914d0d206b08a7bed0245fc4854bc374
# Parent  7748cfa416638a6d2b808628f6e9a84ed37a89e5
libc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

diff -r 7748cfa41663 -r e3e4a439914d config/libc/eglibc.in
--- a/config/libc/eglibc.in	Wed Oct 10 15:44:14 2012 +1000
+++ b/config/libc/eglibc.in	Wed Oct 10 15:44:14 2012 +1000
@@ -85,6 +85,13 @@
     help
       Selecting this will export the trunk of the eglibc subversion repository.
 
+config LIBC_EGLIBC_CUSTOM
+    bool
+    prompt "Custom eglibc"
+    depends on EXPERIMENTAL
+    select LIBC_EGLIBC_2_16_or_later
+    select LIBC_CUSTOM
+
 endchoice
 
 config LIBC_VERSION
@@ -104,6 +111,7 @@
     default "2_6" if LIBC_EGLIBC_V_2_6
     default "2_5" if LIBC_EGLIBC_V_2_5
     default "trunk" if LIBC_EGLIBC_V_TRUNK
+    default "custom" if LIBC_EGLIBC_CUSTOM
 
 config LIBC_EGLIBC_2_16_or_later
     bool
@@ -140,6 +148,22 @@
 config LIBC_EGLIBC_HAS_PKGVERSION_BUGURL
     bool
 
+config LIBC_CUSTOM
+    bool
+
+if LIBC_EGLIBC_CUSTOM
+
+config LIBC_EGLIBC_CUSTOM_LOCATION
+    string
+    prompt "full path to custom eglibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for eglibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/eglibc
+
+endif # LIBC_EGLIBC_CUSTOM
+if ! LIBC_EGLIBC_CUSTOM
+
 if CONFIGURE_has_svn
 
 config EGLIBC_REVISION
@@ -189,6 +213,7 @@
 comment "otherwise you won't be able to download eglibc"
 
 endif # ! CONFIGURE_has_svn
+endif # ! LIBC_EGLIBC_CUSTOM
 
 config EGLIBC_OPT_SIZE
     bool
diff -r 7748cfa41663 -r e3e4a439914d config/libc/glibc.in
--- a/config/libc/glibc.in	Wed Oct 10 15:44:14 2012 +1000
+++ b/config/libc/glibc.in	Wed Oct 10 15:44:14 2012 +1000
@@ -9,34 +9,6 @@
 
 choice
     bool
-    prompt "Retrieval method"
-    default LIBC_GLIBC_TARBALL
-
-config LIBC_GLIBC_TARBALL
-    bool
-    prompt "Released tarball"
-    help
-      Until end of Februrary 2009, there was no tarball for glibc releases
-      2.8 and later. This was intentional.
-      
-      Then, all of a sudden, tarballs for those releases have appeared at the
-      traditional download place (ftp.gnu.org).
-      
-      Some of the glibc people argue that fixes are committed to the maintenance
-      branch, and thus it is the best plac e to retrieve the glibc from.
-      On the other hand, it might be preferable to always generate a toolchain
-      using a known code-base, so the toolchain can be reproducible.
-      
-      For version prior to 2.8, tarballs were readily available.
-      
-      If you want your toolchain to really be reproducible, say 'Y' here.
-      If you can live with a moving code-base, look at the other choice
-      entries, below.
-
-endchoice
-
-choice
-    bool
     prompt "glibc version"
 # Don't remove next line
 # CT_INSERT_VERSION_BELOW
@@ -109,8 +81,60 @@
     depends on OBSOLETE
     select LIBC_SUPPORT_LINUXTHREADS
 
+config LIBC_GLIBC_CUSTOM
+    bool
+    prompt "Custom glibc"
+    depends on EXPERIMENTAL
+    select LIBC_CUSTOM
+
 endchoice
 
+config LIBC_CUSTOM
+    bool
+
+if LIBC_GLIBC_CUSTOM
+
+config LIBC_GLIBC_CUSTOM_LOCATION
+    string
+    prompt "full path to custom glibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for glibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/glibc
+
+endif # LIBC_GLIBC_CUSTOM
+if ! LIBC_GLIBC_CUSTOM
+
+choice
+    bool
+    prompt "Retrieval method"
+    default LIBC_GLIBC_TARBALL
+
+config LIBC_GLIBC_TARBALL
+    bool
+    prompt "Released tarball"
+    help
+      Until end of Februrary 2009, there was no tarball for glibc releases
+      2.8 and later. This was intentional.
+      
+      Then, all of a sudden, tarballs for those releases have appeared at the
+      traditional download place (ftp.gnu.org).
+      
+      Some of the glibc people argue that fixes are committed to the maintenance
+      branch, and thus it is the best plac e to retrieve the glibc from.
+      On the other hand, it might be preferable to always generate a toolchain
+      using a known code-base, so the toolchain can be reproducible.
+      
+      For version prior to 2.8, tarballs were readily available.
+      
+      If you want your toolchain to really be reproducible, say 'Y' here.
+      If you can live with a moving code-base, look at the other choice
+      entries, below.
+
+endchoice
+
+endif # ! LIBC_GLIBC_CUSTOM
+
 config LIBC_VERSION
     string
 # Don't remove next line
@@ -130,3 +154,4 @@
     default "2.6" if LIBC_GLIBC_V_2_6
     default "2.5.1" if LIBC_GLIBC_V_2_5_1
     default "2.5" if LIBC_GLIBC_V_2_5
+    default "custom" if LIBC_GLIBC_CUSTOM
diff -r 7748cfa41663 -r e3e4a439914d config/libc/newlib.in
--- a/config/libc/newlib.in	Wed Oct 10 15:44:14 2012 +1000
+++ b/config/libc/newlib.in	Wed Oct 10 15:44:14 2012 +1000
@@ -52,8 +52,25 @@
       
       In a word: use the CVS snapshot at your own risk! 
 
+config LIBC_NEWLIB_CUSTOM
+    bool
+    prompt "Custom newlib"
+    depends on EXPERIMENTAL
+
 endchoice
 
+if LIBC_NEWLIB_CUSTOM
+
+config LIBC_NEWLIB_CUSTOM_LOCATION
+    string
+    prompt "full path to custom newlib source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for newlib,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/newlib
+
+endif # LIBC_NEWLIB_CUSTOM
+
 config LIBC_VERSION
     string
     prompt "use CVS tag" if LIBC_NEWLIB_CVS
@@ -63,6 +80,7 @@
     default "1.19.0" if LIBC_NEWLIB_V_1_19_0
     default "1.18.0" if LIBC_NEWLIB_V_1_18_0
     default "1.17.0" if LIBC_NEWLIB_V_1_17_0
+    default "custom" if LIBC_NEWLIB_CUSTOM
     help
       Enter the tag you want to use.
       Leave empty to use the 'head' of the repository.
diff -r 7748cfa41663 -r e3e4a439914d scripts/build/libc/eglibc.sh
--- a/scripts/build/libc/eglibc.sh	Wed Oct 10 15:44:14 2012 +1000
+++ b/scripts/build/libc/eglibc.sh	Wed Oct 10 15:44:14 2012 +1000
@@ -28,9 +28,19 @@
         *)      svn_base+="/branches/eglibc-${CT_LIBC_VERSION}";;
     esac
 
-    CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
-              "${svn_base}/libc"            \
-              "${CT_EGLIBC_REVISION:-HEAD}"
+    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom eglibc: CT_CUSTOM_LOCATION_ROOT_DIR or CT_LIBC_EGLIBC_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_EGLIBC_CUSTOM_LOCATION}"
+        CT_LIBC_CUSTOM_LOCATION="${CT_LIBC_EGLIBC_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_EGLIBC_CUSTOM_LOCATION}" ]; then
+            CT_LIBC_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/eglibc"
+        fi
+        CT_GetCustom "eglibc-${CT_LIBC_VERSION}" "${CT_LIBC_CUSTOM_LOCATION}"
+    else
+        CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
+                  "${svn_base}/libc"            \
+                  "${CT_EGLIBC_REVISION:-HEAD}"
+    fi
 
     if [ "${CT_LIBC_LOCALES}" = "y" ]; then
         extra_addons+=("localedef")
diff -r 7748cfa41663 -r e3e4a439914d scripts/build/libc/glibc-eglibc.sh-common
--- a/scripts/build/libc/glibc-eglibc.sh-common	Wed Oct 10 15:44:14 2012 +1000
+++ b/scripts/build/libc/glibc-eglibc.sh-common	Wed Oct 10 15:44:14 2012 +1000
@@ -5,7 +5,10 @@
     local addon
 
     # Extract the main tarball
-    CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
+    if [ "${CT_LIBC_CUSTOM}" != "y" \
+         -o ! -d "${CT_LIBC_CUSTOM_LOCATION}" ]; then
+        CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
+    fi
     CT_Pushd "${CT_SRC_DIR}/${CT_LIBC}-${CT_LIBC_VERSION}"
     CT_Patch nochdir "${CT_LIBC}" "${CT_LIBC_VERSION}"
 
diff -r 7748cfa41663 -r e3e4a439914d scripts/build/libc/glibc.sh
--- a/scripts/build/libc/glibc.sh	Wed Oct 10 15:44:14 2012 +1000
+++ b/scripts/build/libc/glibc.sh	Wed Oct 10 15:44:14 2012 +1000
@@ -20,10 +20,20 @@
     addons_list=($(do_libc_add_ons_list " "))
 
     # Main source
-    CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
-               {ftp,http}://ftp.gnu.org/gnu/glibc       \
-               ftp://gcc.gnu.org/pub/glibc/releases     \
-               ftp://gcc.gnu.org/pub/glibc/snapshots
+    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom glibc: CT_CUSTOM_LOCATION_ROOT_DIR or CT_LIBC_GLIBC_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_GLIBC_CUSTOM_LOCATION}"
+        CT_LIBC_CUSTOM_LOCATION="${CT_LIBC_GLIBC_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_GLIBC_CUSTOM_LOCATION}" ]; then
+            CT_LIBC_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/glibc"
+        fi
+        CT_GetCustom "glibc-${CT_LIBC_VERSION}" "${CT_LIBC_CUSTOM_LOCATION}"
+    else
+        CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
+                   {ftp,http}://ftp.gnu.org/gnu/glibc       \
+                   ftp://gcc.gnu.org/pub/glibc/releases     \
+                   ftp://gcc.gnu.org/pub/glibc/snapshots
+    fi
 
     # C library addons
     for addon in "${addons_list[@]}"; do
diff -r 7748cfa41663 -r e3e4a439914d scripts/build/libc/newlib.sh
--- a/scripts/build/libc/newlib.sh	Wed Oct 10 15:44:14 2012 +1000
+++ b/scripts/build/libc/newlib.sh	Wed Oct 10 15:44:14 2012 +1000
@@ -20,7 +20,14 @@
     libc_src="ftp://sources.redhat.com/pub/newlib"
     avr32headers_src="http://dev.doredevelopment.dk/avr32-toolchain/sources"
 
-    if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
+    if [ "${CT_LIBC_NEWLIB_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom newlib: CT_CUSTOM_LOCATION_ROOT_DIR or CT_LIBC_NEWLIB_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}" ]; then
+            CT_LIBC_NEWLIB_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/newlib"
+        fi
+        CT_GetCustom "newlib-${CT_LIBC_VERSION}" "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}"
+    elif [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
         CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src}
     else
         CT_GetCVS "newlib-$(libc_newlib_version)"                   \
@@ -36,7 +43,10 @@
 }
 
 do_libc_extract() {
-    CT_Extract "newlib-$(libc_newlib_version)"
+    if [ "${CT_LIBC_NEWLIB_CUSTOM}" != "y" \
+         -o ! -d "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}" ]; then
+        CT_Extract "newlib-$(libc_newlib_version)"
+    fi
     CT_Patch "newlib" "$(libc_newlib_version)"
 
     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 5 of 6] binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
  2012-10-10  6:08   ` [PATCH 1 of 6] config+scripts: Extract CUSTOM / CUSTOM_LOCATION currently in linux.sh David Holsgrove
@ 2012-10-10  6:08   ` David Holsgrove
  2012-10-10 22:41     ` Yann E. MORIN
  2012-10-10  6:08   ` [PATCH 3 of 6] cc/gcc: " David Holsgrove
                     ` (5 subsequent siblings)
  7 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-10  6:08 UTC (permalink / raw)
  To: bryanhundven, yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349847855 -36000
# Node ID 53e0ec83f0eb86286025821388cbdb82a8510941
# Parent  e3e4a439914d0d206b08a7bed0245fc4854bc374
binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

diff -r e3e4a439914d -r 53e0ec83f0eb config/binutils/binutils.in
--- a/config/binutils/binutils.in	Wed Oct 10 15:44:14 2012 +1000
+++ b/config/binutils/binutils.in	Wed Oct 10 15:44:15 2012 +1000
@@ -50,8 +50,26 @@
     prompt "2.16.1a (OBSOLETE)"
     depends on OBSOLETE
 
+config BINUTILS_CUSTOM
+    bool
+    prompt "Custom binutils"
+    depends on EXPERIMENTAL
+    select BINUTILS_2_22_or_later
+
 endchoice
 
+if BINUTILS_CUSTOM
+
+config BINUTILS_CUSTOM_LOCATION
+    string
+    prompt "full path to custom binutils source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for binutils,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/binutils
+
+endif # BINUTILS_CUSTOM
+
 config BINUTILS_VERSION
     string
 # Don't remove next line
@@ -64,6 +82,7 @@
     default "2.18a" if BINUTILS_V_2_18a
     default "2.17a" if BINUTILS_V_2_17a
     default "2.16.1a" if BINUTILS_V_2_16_1a
+    default "custom" if BINUTILS_CUSTOM
 
 config BINUTILS_2_22_or_later
     bool
diff -r e3e4a439914d -r 53e0ec83f0eb scripts/build/binutils/binutils.sh
--- a/scripts/build/binutils/binutils.sh	Wed Oct 10 15:44:14 2012 +1000
+++ b/scripts/build/binutils/binutils.sh	Wed Oct 10 15:44:15 2012 +1000
@@ -4,14 +4,26 @@
 
 # Download binutils
 do_binutils_get() {
-    CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        \
-               {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
-               ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
+    if [ "${CT_BINUTILS_CUSTOM}" = "y" ]; then
+        CT_TestAndAbort "Custom binutils: CT_CUSTOM_LOCATION_ROOT_DIR or CT_BINUTILS_CUSTOM_LOCATION must be set." \
+        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_BINUTILS_CUSTOM_LOCATION}"
+        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_BINUTILS_CUSTOM_LOCATION}" ]; then
+            CT_BINUTILS_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/binutils"
+        fi
+        CT_GetCustom "binutils-${CT_BINUTILS_VERSION}" "${CT_BINUTILS_CUSTOM_LOCATION}"
+    else
+        CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        \
+                   {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
+                   ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
+    fi
 }
 
 # Extract binutils
 do_binutils_extract() {
-    CT_Extract "binutils-${CT_BINUTILS_VERSION}"
+    if [ "${CT_BINUTILS_CUSTOM}" != "y" \
+         -o ! -d "${CT_BINUTILS_CUSTOM_LOCATION}" ]; then
+        CT_Extract "binutils-${CT_BINUTILS_VERSION}"
+    fi
     CT_Patch "binutils" "${CT_BINUTILS_VERSION}"
 }
 

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 0 of 6 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
                     ` (5 preceding siblings ...)
  2012-10-10  6:08   ` [PATCH 2 of 6] kernel/linux: Extract custom location function and use generic GetCustom David Holsgrove
@ 2012-10-10 21:56   ` Yann E. MORIN
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
  7 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-10 21:56 UTC (permalink / raw)
  To: crossgcc; +Cc: David Holsgrove, bryanhundven

David, Bryan, All,

On Wednesday 10 October 2012 08:07:53 David Holsgrove wrote:
> In the meantime though, I think extracting the existing functionality
> that linux.sh uses, and expanding so other components can leverage
> the same method would be a good stop-gap? I imagine regardless of the
> wrapper function for sourcing, you'll still need to select some sort
> of 'custom' version for each component in their kconfigs, so some of
> this patch series would probably remain?

Yes, that's a first step. If it proves to get in the way of the (still
to come ;-) ) 'unified' CT_Get stuff, it will be time to rethink it.
But only then, not now.

> I've separated each component out (except for grouping libc together,
> made more sense with the common .in and .sh) into separate patches
> which follow this reply :-)

What I think Bryan (rightfuly!) suggested was to split per component (eg.
glibc is one component by itself, uClibc is another component), not per
'familly' as you did ('cc' vs. 'libc' vs. 'kernel'...).

Besides my components coming as replies to each patch, I have a global
comment: you need to sign-off your patches, with a line like:
    Signed-off-by: Your NAME <your.mail@domain>

Otherwise, I like your CUSTOM_LOCATION_ROOT_DIR idea.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1 of 6] config+scripts: Extract CUSTOM / CUSTOM_LOCATION currently in linux.sh
  2012-10-10  6:08   ` [PATCH 1 of 6] config+scripts: Extract CUSTOM / CUSTOM_LOCATION currently in linux.sh David Holsgrove
@ 2012-10-10 22:19     ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-10 22:19 UTC (permalink / raw)
  To: crossgcc; +Cc: David Holsgrove, bryanhundven

David, Bryan, All,

On Wednesday 10 October 2012 08:07:54 David Holsgrove wrote:
> config+scripts: Extract CUSTOM / CUSTOM_LOCATION currently in linux.sh

What about this commit log:

  scripts/functions: add a generic custom location infrastructure

  Add a generic custom location infrastructure (inspired by the one in
  kernel/linux) to allow the user to use custom tarballs or dorectories
  for any component.

  Signed-off-by: You.

[--SNIP--]
> diff -r 43ace4bb005e -r 54e6f8f3b141 config/global/paths.in
[--SNIP--]
> +config CUSTOM_LOCATION_ROOT_DIR
> +    string
> +    depends on EXPERIMENTAL
> +    prompt "directory containing custom source components"

Nit-picking: upper-case for first letter of first word.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2 of 6] kernel/linux: Extract custom location function and use generic GetCustom
  2012-10-10  6:08   ` [PATCH 2 of 6] kernel/linux: Extract custom location function and use generic GetCustom David Holsgrove
@ 2012-10-10 22:25     ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-10 22:25 UTC (permalink / raw)
  To: crossgcc; +Cc: David Holsgrove, bryanhundven

David, Bryan, All,

On Wednesday 10 October 2012 08:07:55 David Holsgrove wrote:
> # HG changeset patch
> # User David Holsgrove <david.holsgrove@xilinx.com>
> # Date 1349847853 -36000
> # Node ID b6b1b07f7ab14184f457e907db6269057cdd6126
> # Parent  54e6f8f3b141d3502e51e35cdda8aded03b597f4
> kernel/linux: Extract custom location function and use generic GetCustom

Nit-picking, but as you need to resend anyway with your SoB-line:

  kernel/linux: use generic custom infrastrcuture

  Config options remain the same as before, just generalised to be used
  by other components also.

  Signed-off-by: You. ;-)
 
> diff -r 54e6f8f3b141 -r b6b1b07f7ab1 scripts/build/kernel/linux.sh
> --- a/scripts/build/kernel/linux.sh	Thu Oct 04 13:26:14 2012 +1000
> +++ b/scripts/build/kernel/linux.sh	Wed Oct 10 15:44:13 2012 +1000
> @@ -29,23 +29,12 @@
[--SNIP--]
> +        CT_TestAndAbort "Custom linux: CT_CUSTOM_LOCATION_ROOT_DIR or CT_KERNEL_LINUX_CUSTOM_LOCATION must be set." \
> +        -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"

Can't we do this check only once in the generic CT_GetCustom function,
instead or repeating it in every components?

> +        if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
> +            CT_KERNEL_LINUX_CUSTOM_LOCATION="${CT_CUSTOM_LOCATION_ROOT_DIR}/linux"
>          fi

Ditto: can't we just pass the component's custom location string to
CT_GetCustom; then in CT_GetCustom, if the string is empty, use the
CT_CUSTOM_LOCATION_ROOT_DIR location, instead of repeating it everywher?

Then, you'd just need this one line:

> +        CT_GetCustom "linux-${CT_KERNEL_VERSION}" "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"

... which you be splitted as it is longer than 80 chars.

Regards,
Yann E. MORIN.


-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 4 of 6] libc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-10  6:08   ` [PATCH 4 of 6] libc: " David Holsgrove
@ 2012-10-10 22:38     ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-10 22:38 UTC (permalink / raw)
  To: crossgcc; +Cc: David Holsgrove, bryanhundven

David, Bryan, All,

On Wednesday 10 October 2012 08:07:57 David Holsgrove wrote:
> libc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

Don't forget your SoB.

[--SNIP--]
> diff -r 7748cfa41663 -r e3e4a439914d config/libc/glibc.in
> --- a/config/libc/glibc.in	Wed Oct 10 15:44:14 2012 +1000
> +++ b/config/libc/glibc.in	Wed Oct 10 15:44:14 2012 +1000
> @@ -9,34 +9,6 @@
>  
>  choice
>      bool
> -    prompt "Retrieval method"
> -    default LIBC_GLIBC_TARBALL
> -
> -config LIBC_GLIBC_TARBALL
> -    bool
> -    prompt "Released tarball"
> -    help
> -      Until end of Februrary 2009, there was no tarball for glibc releases
> -      2.8 and later. This was intentional.
> -      
> -      Then, all of a sudden, tarballs for those releases have appeared at the
> -      traditional download place (ftp.gnu.org).
> -      
> -      Some of the glibc people argue that fixes are committed to the maintenance
> -      branch, and thus it is the best plac e to retrieve the glibc from.
> -      On the other hand, it might be preferable to always generate a toolchain
> -      using a known code-base, so the toolchain can be reproducible.
> -      
> -      For version prior to 2.8, tarballs were readily available.
> -      
> -      If you want your toolchain to really be reproducible, say 'Y' here.
> -      If you can live with a moving code-base, look at the other choice
> -      entries, below.
> -
> -endchoice

While you are at it, would you also provide a (separate) patch that jsut
get rid of this choice entry, it's been unused sine January 2010...

Also, you /forgot/ about uClibc.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 5 of 6] binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-10  6:08   ` [PATCH 5 of 6] binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
@ 2012-10-10 22:41     ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-10 22:41 UTC (permalink / raw)
  To: crossgcc; +Cc: David Holsgrove, bryanhundven

David, Bryan, All,

On Wednesday 10 October 2012 08:07:58 David Holsgrove wrote:
> binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
> 
> CUSTOM_LOCATION config options only presented in menuconfig if component
> CUSTOM version selected.

SoB.

Also, you /forgot/ elf2flt.

Don't bother about sstrip, it's aiming for /dev/null soonish.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 6 of 6] debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-10  6:08   ` [PATCH 6 of 6] debug/gdb: " David Holsgrove
@ 2012-10-10 22:45     ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-10 22:45 UTC (permalink / raw)
  To: crossgcc; +Cc: David Holsgrove, bryanhundven

David, Bryan, All,

On Wednesday 10 October 2012 08:07:59 David Holsgrove wrote:
> # HG changeset patch
> # User David Holsgrove <david.holsgrove@xilinx.com>
> # Date 1349847856 -36000
> # Node ID 95681eaa5cefc8ac01c9fefc12e0785d185c4a84
> # Parent  53e0ec83f0eb86286025821388cbdb82a8510941
> debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

SoB, and it's OK.

Thank you for these patches! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 00 of 13 ] Add CUSTOM version for gcc, binutils, libc, gdb
  2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
                     ` (6 preceding siblings ...)
  2012-10-10 21:56   ` [PATCH 0 of 6 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb Yann E. MORIN
@ 2012-10-11  4:53   ` David Holsgrove
  2012-10-11  4:53     ` [PATCH 01 of 13] libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option David Holsgrove
                       ` (13 more replies)
  7 siblings, 14 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:53 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

Thanks for the review Yann,

I've edited as you suggested, further generialised the CT_GetCustom function and separated by component rather than family.

Please let me know what you think :-)

regards,
David

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 07 of 13] binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (2 preceding siblings ...)
  2012-10-11  4:53     ` [PATCH 06 of 13] binutils/binutils: " David Holsgrove
@ 2012-10-11  4:53     ` David Holsgrove
  2012-10-29 23:27       ` Yann E. MORIN
  2012-10-11  4:53     ` [PATCH 03 of 13] config/paths: add a generic custom location infrastructure David Holsgrove
                       ` (9 subsequent siblings)
  13 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:53 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930382 -36000
# Node ID 288db3721a37844defa55bb6f588c8f7a1ac3dae
# Parent  7a604b5df9c84a1e20c3de3f04df0ed25bd491cb
binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Change elf2flt CT_ELF2FLT_VERSION from 'head' to 'cvs' if cvs selected in config

Also remove hardcoded 'cvs-' from elf2flt component name, used in CT_Extract,
CT_Patch and as the CT_SRC_DIR location for the configure stage.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 7a604b5df9c8 -r 288db3721a37 config/binutils/elf2flt.in
--- a/config/binutils/elf2flt.in	Thu Oct 11 14:39:41 2012 +1000
+++ b/config/binutils/elf2flt.in	Thu Oct 11 14:39:42 2012 +1000
@@ -20,8 +20,26 @@
     bool
     prompt "CVS Snapshot"
 
+config ELF2FLT_CUSTOM
+    bool
+    prompt "Custom elf2flt"
+    depends on EXPERIMENTAL
+
 endchoice
 
+if ELF2FLT_CUSTOM
+
+config ELF2FLT_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom elf2flt source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for elf2flt,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/elf2flt
+
+endif # ELF2FLT_CUSTOM
+if ! ELF2FLT_CUSTOM
+
 config ELF2FLT_CVS_SNAPSHOT_SPEC
     string
     depends on ELF2FLT_CVS_SNAPSHOT
@@ -31,9 +49,12 @@
        What you enter here will be passed verbatim to the cvs checkout command
        so be careful!
 
+endif # ! ELF2FLT_CUSTOM
+
 config ELF2FLT_VERSION
     string
-    default "head" if ELF2FLT_CVSHEAD
+    default "cvs" if ELF2FLT_CVSHEAD
+    default "custom" if ELF2FLT_CUSTOM
 # Don't remove next line
 # CT_INSERT_VERSION_STRING_BELOW
 
diff -r 7a604b5df9c8 -r 288db3721a37 scripts/build/binutils/elf2flt.sh
--- a/scripts/build/binutils/elf2flt.sh	Thu Oct 11 14:39:41 2012 +1000
+++ b/scripts/build/binutils/elf2flt.sh	Thu Oct 11 14:39:42 2012 +1000
@@ -13,17 +13,25 @@
 
 # Download elf2flt
 do_elf2flt_get() {
-    CT_GetCVS "elf2flt-cvs-${CT_ELF2FLT_VERSION}"           \
-              ":pserver:anonymous@cvs.uclinux.org:/var/cvs" \
-              "elf2flt"                                     \
-              "" \
-              "elf2flt-cvs-${CT_ELF2FLT_VERSION}"
+    if [ "${CT_ELF2FLT_CUSTOM}" = "y" ]; then
+        CT_GetCustom "elf2flt" "${ELF2FLT_VERSION}" \
+        "${CT_ELF2FLT_CUSTOM_LOCATION}"
+    else
+        CT_GetCVS "elf2flt-${CT_ELF2FLT_VERSION}"           \
+                  ":pserver:anonymous@cvs.uclinux.org:/var/cvs" \
+                  "elf2flt"                                     \
+                  "" \
+                  "elf2flt-${CT_ELF2FLT_VERSION}"
+    fi
 }
 
 # Extract elf2flt
 do_elf2flt_extract() {
-    CT_Extract "elf2flt-cvs-${CT_ELF2FLT_VERSION}"
-    CT_Patch "elf2flt-cvs" "${CT_ELF2FLT_VERSION}"
+    if [ "${CT_ELF2FLT_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/elf2flt-${CT_ELF2FLT_VERSION}" ]; then
+        CT_Extract "elf2flt-${CT_ELF2FLT_VERSION}"
+    fi
+    CT_Patch "elf2flt" "${CT_ELF2FLT_VERSION}"
 }
 
 # Build elf2flt for build -> target
@@ -111,7 +119,7 @@
     CT_DoLog EXTRA "Configuring elf2flt"
     CT_DoExecLog CFG                                            \
     CFLAGS="${host_cflags}"                                     \
-    "${CT_SRC_DIR}/elf2flt-cvs-${CT_ELF2FLT_VERSION}/configure" \
+    "${CT_SRC_DIR}/elf2flt-${CT_ELF2FLT_VERSION}/configure" \
         --build=${CT_BUILD}                                     \
         --host=${host}                                          \
         --target=${CT_TARGET}                                   \

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 06 of 13] binutils/binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
  2012-10-11  4:53     ` [PATCH 01 of 13] libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option David Holsgrove
  2012-10-11  4:53     ` [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
@ 2012-10-11  4:53     ` David Holsgrove
  2012-10-29 23:27       ` Yann E. MORIN
  2012-10-11  4:53     ` [PATCH 07 of 13] binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom David Holsgrove
                       ` (10 subsequent siblings)
  13 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:53 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930381 -36000
# Node ID 7a604b5df9c84a1e20c3de3f04df0ed25bd491cb
# Parent  f2272ac0f37cedd0bb91346d57681599758ea988
binutils/binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r f2272ac0f37c -r 7a604b5df9c8 config/binutils/binutils.in
--- a/config/binutils/binutils.in	Thu Oct 11 14:39:41 2012 +1000
+++ b/config/binutils/binutils.in	Thu Oct 11 14:39:41 2012 +1000
@@ -50,8 +50,26 @@
     prompt "2.16.1a (OBSOLETE)"
     depends on OBSOLETE
 
+config BINUTILS_CUSTOM
+    bool
+    prompt "Custom binutils"
+    depends on EXPERIMENTAL
+    select BINUTILS_2_22_or_later
+
 endchoice
 
+if BINUTILS_CUSTOM
+
+config BINUTILS_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom binutils source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for binutils,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/binutils
+
+endif # BINUTILS_CUSTOM
+
 config BINUTILS_VERSION
     string
 # Don't remove next line
@@ -64,6 +82,7 @@
     default "2.18a" if BINUTILS_V_2_18a
     default "2.17a" if BINUTILS_V_2_17a
     default "2.16.1a" if BINUTILS_V_2_16_1a
+    default "custom" if BINUTILS_CUSTOM
 
 config BINUTILS_2_22_or_later
     bool
diff -r f2272ac0f37c -r 7a604b5df9c8 scripts/build/binutils/binutils.sh
--- a/scripts/build/binutils/binutils.sh	Thu Oct 11 14:39:41 2012 +1000
+++ b/scripts/build/binutils/binutils.sh	Thu Oct 11 14:39:41 2012 +1000
@@ -4,14 +4,22 @@
 
 # Download binutils
 do_binutils_get() {
-    CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        \
-               {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
-               ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
+    if [ "${CT_BINUTILS_CUSTOM}" = "y" ]; then
+        CT_GetCustom "binutils" "${CT_BINUTILS_VERSION}" \
+        "${CT_BINUTILS_CUSTOM_LOCATION}"
+    else
+        CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        \
+                   {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
+                   ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
+    fi
 }
 
 # Extract binutils
 do_binutils_extract() {
-    CT_Extract "binutils-${CT_BINUTILS_VERSION}"
+    if [ "${CT_BINUTILS_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}" ]; then
+        CT_Extract "binutils-${CT_BINUTILS_VERSION}"
+    fi
     CT_Patch "binutils" "${CT_BINUTILS_VERSION}"
 }
 

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 01 of 13] libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
@ 2012-10-11  4:53     ` David Holsgrove
  2012-10-11 18:53       ` Yann E. MORIN
  2012-10-11  4:53     ` [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
                       ` (12 subsequent siblings)
  13 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:53 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930265 -36000
# Node ID 7a666ba8c0ea5e8f4b18f3c34a8a5bbb170f0233
# Parent  3bc371c2881fe2179808a0ebaceb1cbe4d8215bd
libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option

Unused since January 2010.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 3bc371c2881f -r 7a666ba8c0ea config/libc/glibc.in
--- a/config/libc/glibc.in	Sun Oct 07 23:15:57 2012 +0200
+++ b/config/libc/glibc.in	Thu Oct 11 14:37:45 2012 +1000
@@ -9,34 +9,6 @@
 
 choice
     bool
-    prompt "Retrieval method"
-    default LIBC_GLIBC_TARBALL
-
-config LIBC_GLIBC_TARBALL
-    bool
-    prompt "Released tarball"
-    help
-      Until end of Februrary 2009, there was no tarball for glibc releases
-      2.8 and later. This was intentional.
-      
-      Then, all of a sudden, tarballs for those releases have appeared at the
-      traditional download place (ftp.gnu.org).
-      
-      Some of the glibc people argue that fixes are committed to the maintenance
-      branch, and thus it is the best plac e to retrieve the glibc from.
-      On the other hand, it might be preferable to always generate a toolchain
-      using a known code-base, so the toolchain can be reproducible.
-      
-      For version prior to 2.8, tarballs were readily available.
-      
-      If you want your toolchain to really be reproducible, say 'Y' here.
-      If you can live with a moving code-base, look at the other choice
-      entries, below.
-
-endchoice
-
-choice
-    bool
     prompt "glibc version"
 # Don't remove next line
 # CT_INSERT_VERSION_BELOW

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
  2012-10-11  4:53     ` [PATCH 01 of 13] libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option David Holsgrove
@ 2012-10-11  4:53     ` David Holsgrove
  2012-10-11 20:24       ` Yann E. MORIN
  2012-10-29 23:27       ` Yann E. MORIN
  2012-10-11  4:53     ` [PATCH 06 of 13] binutils/binutils: " David Holsgrove
                       ` (11 subsequent siblings)
  13 siblings, 2 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:53 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930381 -36000
# Node ID f2272ac0f37cedd0bb91346d57681599758ea988
# Parent  50674fe47431174aab80d6c01460aa2d6c901306
cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 50674fe47431 -r f2272ac0f37c config/cc/gcc.in
--- a/config/cc/gcc.in	Thu Oct 11 14:39:40 2012 +1000
+++ b/config/cc/gcc.in	Thu Oct 11 14:39:41 2012 +1000
@@ -239,6 +239,12 @@
     prompt "3.4.6 (OBSOLETE)"
     depends on OBSOLETE
 
+config CC_CUSTOM
+    bool
+    prompt "Custom gcc"
+    depends on EXPERIMENTAL
+    select CC_GCC_latest
+
 endchoice
 
 if CC_V_SVN
@@ -297,6 +303,18 @@
 
 endif
 
+if CC_CUSTOM
+
+config CC_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom gcc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for gcc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
+
+endif #CC_CUSTOM
+
 config CC_GCC_4_2
     bool
     select CC_GCC_4_2_or_later
@@ -484,6 +502,7 @@
     default "4.1.2" if CC_V_4_1_2
     default "4.0.4" if CC_V_4_0_4
     default "3.4.6" if CC_V_3_4_6
+    default "custom" if CC_CUSTOM
 
 config CC_LANG_JAVA_USE_ECJ
     bool
diff -r 50674fe47431 -r f2272ac0f37c scripts/build/cc/gcc.sh
--- a/scripts/build/cc/gcc.sh	Thu Oct 11 14:39:40 2012 +1000
+++ b/scripts/build/cc/gcc.sh	Thu Oct 11 14:39:41 2012 +1000
@@ -4,7 +4,9 @@
 
 # Download gcc
 do_cc_get() {
-    if [ -n "${CT_CC_V_SVN}" ]; then
+    if [ "${CT_CC_CUSTOM}" = "y" ]; then
+        CT_GetCustom "gcc" "${CT_CC_VERSION}" "${CT_CC_CUSTOM_LOCATION}"
+    elif [ -n "${CT_CC_V_SVN}" ]; then
         # Get gcc from SVN!
         local svn_base
 
@@ -59,7 +61,10 @@
 
 # Extract gcc
 do_cc_extract() {
-    CT_Extract "gcc-${CT_CC_VERSION}"
+    if [ "${CT_CC_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
+        CT_Extract "gcc-${CT_CC_VERSION}"
+    fi
     CT_Patch "gcc" "${CT_CC_VERSION}"
 
     # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 03 of 13] config/paths: add a generic custom location infrastructure
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (3 preceding siblings ...)
  2012-10-11  4:53     ` [PATCH 07 of 13] binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom David Holsgrove
@ 2012-10-11  4:53     ` David Holsgrove
  2012-10-13 22:00       ` scripts/functions: " Yann E. MORIN
  2012-10-11  4:53     ` [PATCH 04 of 13] kernel/linux: use generic custom infrastructure David Holsgrove
                       ` (8 subsequent siblings)
  13 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:53 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930361 -36000
# Node ID 0bbaba9190a76ba97f723e9f90b708f7cf040b03
# Parent  131c163c69f9cc81d2beabaa998dca9c9386df38
config/paths: add a generic custom location infrastructure

Add CUSTOM_LOCATION_ROOT_DIR config option as a root directory for local
copies of source components sourced when version is CUSTOM

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 131c163c69f9 -r 0bbaba9190a7 config/global/paths.in
--- a/config/global/paths.in	Thu Oct 04 13:26:14 2012 +1000
+++ b/config/global/paths.in	Thu Oct 11 14:39:21 2012 +1000
@@ -60,6 +60,15 @@
 #      The reason you might also want to install elsewhere is if you are going
 #      to package your shinny new toolchain for distribution.
 
+
+config CUSTOM_LOCATION_ROOT_DIR
+    string
+    depends on EXPERIMENTAL
+    prompt "Directory containing custom source components"
+    help
+      This is the path CT-NG will attempt to use as a root for locating
+      local copies of source components (CUSTOM_LOCATION_ROOT_DIR/component)
+
 config RM_RF_PREFIX_DIR
     bool
     prompt "|  Remove the prefix dir prior to building"

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 04 of 13] kernel/linux: use generic custom infrastructure
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (4 preceding siblings ...)
  2012-10-11  4:53     ` [PATCH 03 of 13] config/paths: add a generic custom location infrastructure David Holsgrove
@ 2012-10-11  4:53     ` David Holsgrove
  2012-10-13 22:00       ` Yann E. MORIN
  2012-10-11  4:53     ` [PATCH 02 of 13] scripts/functions: add a generic custom location infrastructure David Holsgrove
                       ` (7 subsequent siblings)
  13 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:53 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930380 -36000
# Node ID 50674fe47431174aab80d6c01460aa2d6c901306
# Parent  0bbaba9190a76ba97f723e9f90b708f7cf040b03
kernel/linux: use generic custom infrastructure

Config options remain the same as before, just generalised to be used by other
components also.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 0bbaba9190a7 -r 50674fe47431 scripts/build/kernel/linux.sh
--- a/scripts/build/kernel/linux.sh	Thu Oct 11 14:39:21 2012 +1000
+++ b/scripts/build/kernel/linux.sh	Thu Oct 11 14:39:40 2012 +1000
@@ -29,23 +29,8 @@
     fi
 
     if [ "${CT_KERNEL_LINUX_CUSTOM}" = "y" ]; then
-        if [ ! -d "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
-            # Wee need to know the custom tarball extension,
-            # so we can create a properly-named symlink, which
-            # we use later on in 'extract'
-            case "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" in
-                *.tar.bz2)      custom_name="linux-custom.tar.bz2";;
-                *.tar.gz|*.tgz) custom_name="linux-custom.tar.gz";;
-                *.tar)          custom_name="linux-custom.tar";;
-                *)  CT_Abort "Unknown extension for custom linux tarball '${CT_KERNEL_LINUX_CUSTOM_LOCATION}'";;
-            esac
-            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  \
-                                      "${CT_TARBALLS_DIR}/${custom_name}"
-        else
-            custom_name="linux-custom"
-            CT_DoExecLog DEBUG ln -sf "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"  \
-                                      "${CT_SRC_DIR}/${custom_name}"
-        fi
+        CT_GetCustom "linux" "${CT_KERNEL_VERSION}" \
+        "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"
     else # Not a custom tarball
         case "${CT_KERNEL_VERSION}" in
             2.6.*.*|3.*.*)
@@ -75,7 +60,7 @@
 # Extract kernel
 do_kernel_extract() {
     if [ "${CT_KERNEL_LINUX_USE_CUSTOM_HEADERS}" = "y" \
-         -o -d "${CT_KERNEL_LINUX_CUSTOM_LOCATION}" ]; then
+         -o -d "${CT_SRC_DIR}/linux-${CT_KERNEL_VERSION}" ]; then
         return 0
     fi
    

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 02 of 13] scripts/functions: add a generic custom location infrastructure
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (5 preceding siblings ...)
  2012-10-11  4:53     ` [PATCH 04 of 13] kernel/linux: use generic custom infrastructure David Holsgrove
@ 2012-10-11  4:53     ` David Holsgrove
  2012-10-13 22:00       ` Yann E. MORIN
  2012-10-11  4:54     ` [PATCH 13 of 13] libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
                       ` (6 subsequent siblings)
  13 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:53 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349321174 -36000
# Node ID 131c163c69f9cc81d2beabaa998dca9c9386df38
# Parent  7a666ba8c0ea5e8f4b18f3c34a8a5bbb170f0233
scripts/functions: add a generic custom location infrastructure

Add a generic custom location infrastructure (inspired by the one in
kernel/linux) to allow the user to use custom tarballs or directories
for any component.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 7a666ba8c0ea -r 131c163c69f9 scripts/functions
--- a/scripts/functions	Thu Oct 11 14:37:45 2012 +1000
+++ b/scripts/functions	Thu Oct 04 13:26:14 2012 +1000
@@ -516,6 +516,42 @@
     return 1
 }
 
+# This function gets the custom source from either a tarball or directory
+# Usage: CT_GetCustom custom_name <custom_location>
+CT_GetCustom() {
+    local custom_component="$1"
+    local custom_version="$2"
+    local custom_location="$3"
+    local custom_name="${custom_component}-${custom_version}"
+
+    CT_TestAndAbort "${custom_name}: CT_CUSTOM_LOCATION_ROOT_DIR or ${custom_component}'s CUSTOM_LOCATION must be set." \
+    -z "${CT_CUSTOM_LOCATION_ROOT_DIR}" -a -z "${custom_location}"
+
+    if [ -n "${CT_CUSTOM_LOCATION_ROOT_DIR}" \
+         -a -z "${custom_location}" ]; then
+        custom_location="${CT_CUSTOM_LOCATION_ROOT_DIR}/${custom_component}"
+    fi
+
+    if [ ! -d "${custom_location}" ]; then
+        # We need to know the custom tarball extension,
+        # so we can create a properly-named symlink, which
+        # we use later on in 'extract'
+        case "${custom_location}" in
+            *.tar.bz2)      custom_name="${custom_name}.tar.bz2";;
+            *.tar.gz|*.tgz) custom_name="${custom_name}.tar.gz";;
+            *.tar)          custom_name="${custom_name}.tar";;
+            *)  CT_Abort "Unknown extension for custom tarball '${custom_location}'";;
+        esac
+        CT_DoLog EXTRA "Using '${custom_name}' from local storage"
+        CT_DoExecLog DEBUG ln -sf "${custom_location}"  \
+                                  "${CT_TARBALLS_DIR}/${custom_name}"
+    else
+        CT_DoLog EXTRA "Using '${custom_name}' from local storage"
+        CT_DoExecLog DEBUG ln -snf "${custom_location}"  \
+                                  "${CT_SRC_DIR}/${custom_name}"
+    fi
+}
+
 # This function saves the specified to local storage if possible,
 # and if so, symlinks it for later usage
 # Usage: CT_SaveLocal </full/path/file.name>

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 09 of 13] libc/{, e}glibc: Add CUSTOM version, CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (7 preceding siblings ...)
  2012-10-11  4:54     ` [PATCH 13 of 13] libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
@ 2012-10-11  4:54     ` David Holsgrove
  2012-10-11  4:54     ` [PATCH 11 of 13] libc/eglibc: Add CUSTOM version and " David Holsgrove
                       ` (4 subsequent siblings)
  13 siblings, 0 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:54 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930382 -36000
# Node ID 88429fc393d9f0b6eaa7fab080ca6d293a888486
# Parent  9ea1b5021fc77582867f74454cd2811f008109ee
libc/{,e}glibc: Add CUSTOM version, CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 9ea1b5021fc7 -r 88429fc393d9 scripts/build/libc/glibc-eglibc.sh-common
--- a/scripts/build/libc/glibc-eglibc.sh-common	Thu Oct 11 14:39:42 2012 +1000
+++ b/scripts/build/libc/glibc-eglibc.sh-common	Thu Oct 11 14:39:42 2012 +1000
@@ -5,7 +5,10 @@
     local addon
 
     # Extract the main tarball
-    CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
+    if [ "${CT_LIBC_CUSTOM}" != "y" \
+         -o ! -d "${CT_LIBC_CUSTOM_LOCATION}" ]; then
+        CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
+    fi
     CT_Pushd "${CT_SRC_DIR}/${CT_LIBC}-${CT_LIBC_VERSION}"
     CT_Patch nochdir "${CT_LIBC}" "${CT_LIBC_VERSION}"
 

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 08 of 13] debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (11 preceding siblings ...)
  2012-10-11  4:54     ` [PATCH 12 of 13] libc/uClibc: " David Holsgrove
@ 2012-10-11  4:54     ` David Holsgrove
  2012-10-29 23:28       ` Yann E. MORIN
  2012-10-22 21:56     ` [PATCH 00 of 13 ] Add CUSTOM version for gcc, binutils, libc, gdb Yann E. MORIN
  13 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:54 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930382 -36000
# Node ID 9ea1b5021fc77582867f74454cd2811f008109ee
# Parent  288db3721a37844defa55bb6f588c8f7a1ac3dae
debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 288db3721a37 -r 9ea1b5021fc7 config/debug/gdb.in
--- a/config/debug/gdb.in	Thu Oct 11 14:39:42 2012 +1000
+++ b/config/debug/gdb.in	Thu Oct 11 14:39:42 2012 +1000
@@ -119,6 +119,13 @@
     bool
     prompt "6.8a"
 
+config GDB_CUSTOM
+    bool
+    prompt "Custom gdb"
+    depends on EXPERIMENTAL
+    select GDB_7_0_or_later
+    select GDB_7_2_or_later
+
 endchoice
 
 config GDB_7_2_or_later
@@ -152,5 +159,19 @@
     default "7.0.1a" if GDB_V_7_0_1a
     default "7.0a" if GDB_V_7_0a
     default "6.8a" if GDB_V_6_8a
+    default "custom" if GDB_CUSTOM
+
+if GDB_CUSTOM
+
+config GDB_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom gdb source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for gdb,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gdb
+
+endif # GDB_CUSTOM
 
 endif
+
diff -r 288db3721a37 -r 9ea1b5021fc7 scripts/build/debug/300-gdb.sh
--- a/scripts/build/debug/300-gdb.sh	Thu Oct 11 14:39:42 2012 +1000
+++ b/scripts/build/debug/300-gdb.sh	Thu Oct 11 14:39:42 2012 +1000
@@ -48,10 +48,14 @@
     do_debug_gdb_parts
 
     if [ "${do_gdb}" = "y" ]; then
-        CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
-                   {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
-                   ftp://sources.redhat.com/pub/gdb/{,old-}releases \
-                   "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
+        if [ "${CT_GDB_CUSTOM}" = "y" ]; then
+            CT_GetCustom "gdb" "${CT_GDB_VERSION}" "${CT_GDB_CUSTOM_LOCATION}"
+        else
+            CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
+                       {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
+                       ftp://sources.redhat.com/pub/gdb/{,old-}releases \
+                       "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
+        fi
     fi
 
     if [ "${do_ncurses}" = "y" ]; then
@@ -70,7 +74,10 @@
     do_debug_gdb_parts
 
     if [ "${do_gdb}" = "y" ]; then
-        CT_Extract "gdb-${CT_GDB_VERSION}"
+        if [ "${CT_GDB_CUSTOM}" != "y" \
+             -o ! -d "${CT_SRC_DIR}/gdb-${CT_GDB_VERSION}" ]; then
+            CT_Extract "gdb-${CT_GDB_VERSION}"
+        fi
         CT_Patch "gdb" "${CT_GDB_VERSION}"
     fi
 

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 10 of 13] libc/glibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (9 preceding siblings ...)
  2012-10-11  4:54     ` [PATCH 11 of 13] libc/eglibc: Add CUSTOM version and " David Holsgrove
@ 2012-10-11  4:54     ` David Holsgrove
  2012-10-11  4:54     ` [PATCH 12 of 13] libc/uClibc: " David Holsgrove
                       ` (2 subsequent siblings)
  13 siblings, 0 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:54 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930383 -36000
# Node ID 2a9fea5e593095a51ee01fda28b972cb569f6cf4
# Parent  88429fc393d9f0b6eaa7fab080ca6d293a888486
libc/glibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 88429fc393d9 -r 2a9fea5e5930 config/libc/glibc.in
--- a/config/libc/glibc.in	Thu Oct 11 14:39:42 2012 +1000
+++ b/config/libc/glibc.in	Thu Oct 11 14:39:43 2012 +1000
@@ -81,8 +81,29 @@
     depends on OBSOLETE
     select LIBC_SUPPORT_LINUXTHREADS
 
+config LIBC_GLIBC_CUSTOM
+    bool
+    prompt "Custom glibc"
+    depends on EXPERIMENTAL
+    select LIBC_CUSTOM
+
 endchoice
 
+config LIBC_CUSTOM
+    bool
+
+if LIBC_GLIBC_CUSTOM
+
+config LIBC_GLIBC_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom glibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for glibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/glibc
+
+endif # LIBC_GLIBC_CUSTOM
+
 config LIBC_VERSION
     string
 # Don't remove next line
@@ -102,3 +123,4 @@
     default "2.6" if LIBC_GLIBC_V_2_6
     default "2.5.1" if LIBC_GLIBC_V_2_5_1
     default "2.5" if LIBC_GLIBC_V_2_5
+    default "custom" if LIBC_GLIBC_CUSTOM
diff -r 88429fc393d9 -r 2a9fea5e5930 scripts/build/libc/glibc.sh
--- a/scripts/build/libc/glibc.sh	Thu Oct 11 14:39:42 2012 +1000
+++ b/scripts/build/libc/glibc.sh	Thu Oct 11 14:39:43 2012 +1000
@@ -20,10 +20,15 @@
     addons_list=($(do_libc_add_ons_list " "))
 
     # Main source
-    CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
-               {ftp,http}://ftp.gnu.org/gnu/glibc       \
-               ftp://gcc.gnu.org/pub/glibc/releases     \
-               ftp://gcc.gnu.org/pub/glibc/snapshots
+    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
+        CT_GetCustom "glibc" "${CT_LIBC_VERSION}" "${CT_LIBC_CUSTOM_LOCATION}"
+        CT_LIBC_CUSTOM_LOCATION="${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}"
+    else
+        CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
+                   {ftp,http}://ftp.gnu.org/gnu/glibc       \
+                   ftp://gcc.gnu.org/pub/glibc/releases     \
+                   ftp://gcc.gnu.org/pub/glibc/snapshots
+    fi
 
     # C library addons
     for addon in "${addons_list[@]}"; do

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 11 of 13] libc/eglibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (8 preceding siblings ...)
  2012-10-11  4:54     ` [PATCH 09 of 13] libc/{, e}glibc: Add CUSTOM version, " David Holsgrove
@ 2012-10-11  4:54     ` David Holsgrove
  2012-10-11  4:54     ` [PATCH 10 of 13] libc/glibc: " David Holsgrove
                       ` (3 subsequent siblings)
  13 siblings, 0 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:54 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930383 -36000
# Node ID ad791eab5e898b88dac15629f7b1db9915b3385a
# Parent  2a9fea5e593095a51ee01fda28b972cb569f6cf4
libc/eglibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 2a9fea5e5930 -r ad791eab5e89 config/libc/eglibc.in
--- a/config/libc/eglibc.in	Thu Oct 11 14:39:43 2012 +1000
+++ b/config/libc/eglibc.in	Thu Oct 11 14:39:43 2012 +1000
@@ -85,6 +85,13 @@
     help
       Selecting this will export the trunk of the eglibc subversion repository.
 
+config LIBC_EGLIBC_CUSTOM
+    bool
+    prompt "Custom eglibc"
+    depends on EXPERIMENTAL
+    select LIBC_EGLIBC_2_16_or_later
+    select LIBC_CUSTOM
+
 endchoice
 
 config LIBC_VERSION
@@ -104,6 +111,7 @@
     default "2_6" if LIBC_EGLIBC_V_2_6
     default "2_5" if LIBC_EGLIBC_V_2_5
     default "trunk" if LIBC_EGLIBC_V_TRUNK
+    default "custom" if LIBC_EGLIBC_CUSTOM
 
 config LIBC_EGLIBC_2_16_or_later
     bool
@@ -140,6 +148,22 @@
 config LIBC_EGLIBC_HAS_PKGVERSION_BUGURL
     bool
 
+config LIBC_CUSTOM
+    bool
+
+if LIBC_EGLIBC_CUSTOM
+
+config LIBC_EGLIBC_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom eglibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for eglibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/eglibc
+
+endif # LIBC_EGLIBC_CUSTOM
+if ! LIBC_EGLIBC_CUSTOM
+
 if CONFIGURE_has_svn
 
 config EGLIBC_REVISION
@@ -189,6 +213,7 @@
 comment "otherwise you won't be able to download eglibc"
 
 endif # ! CONFIGURE_has_svn
+endif # ! LIBC_EGLIBC_CUSTOM
 
 config EGLIBC_OPT_SIZE
     bool
diff -r 2a9fea5e5930 -r ad791eab5e89 scripts/build/libc/eglibc.sh
--- a/scripts/build/libc/eglibc.sh	Thu Oct 11 14:39:43 2012 +1000
+++ b/scripts/build/libc/eglibc.sh	Thu Oct 11 14:39:43 2012 +1000
@@ -28,9 +28,14 @@
         *)      svn_base+="/branches/eglibc-${CT_LIBC_VERSION}";;
     esac
 
-    CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
-              "${svn_base}/libc"            \
-              "${CT_EGLIBC_REVISION:-HEAD}"
+    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
+        CT_GetCustom "eglibc" "${CT_LIBC_VERSION}" "${CT_LIBC_CUSTOM_LOCATION}"
+        CT_LIBC_CUSTOM_LOCATION="${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}"
+    else
+        CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
+                  "${svn_base}/libc"            \
+                  "${CT_EGLIBC_REVISION:-HEAD}"
+    fi
 
     if [ "${CT_LIBC_LOCALES}" = "y" ]; then
         extra_addons+=("localedef")

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 13 of 13] libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (6 preceding siblings ...)
  2012-10-11  4:53     ` [PATCH 02 of 13] scripts/functions: add a generic custom location infrastructure David Holsgrove
@ 2012-10-11  4:54     ` David Holsgrove
  2012-10-30 22:20       ` Yann E. MORIN
  2012-10-11  4:54     ` [PATCH 09 of 13] libc/{, e}glibc: Add CUSTOM version, " David Holsgrove
                       ` (5 subsequent siblings)
  13 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:54 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930385 -36000
# Node ID d02252752d4dc5e68ae3bfd6697ac76f647a4497
# Parent  712995e3e719fbbe24afba8efd370e4213372405
libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 712995e3e719 -r d02252752d4d config/libc/newlib.in
--- a/config/libc/newlib.in	Thu Oct 11 14:39:44 2012 +1000
+++ b/config/libc/newlib.in	Thu Oct 11 14:39:45 2012 +1000
@@ -52,8 +52,25 @@
       
       In a word: use the CVS snapshot at your own risk! 
 
+config LIBC_NEWLIB_CUSTOM
+    bool
+    prompt "Custom newlib"
+    depends on EXPERIMENTAL
+
 endchoice
 
+if LIBC_NEWLIB_CUSTOM
+
+config LIBC_NEWLIB_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom newlib source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for newlib,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/newlib
+
+endif # LIBC_NEWLIB_CUSTOM
+
 config LIBC_VERSION
     string
     prompt "use CVS tag" if LIBC_NEWLIB_CVS
@@ -63,6 +80,7 @@
     default "1.19.0" if LIBC_NEWLIB_V_1_19_0
     default "1.18.0" if LIBC_NEWLIB_V_1_18_0
     default "1.17.0" if LIBC_NEWLIB_V_1_17_0
+    default "custom" if LIBC_NEWLIB_CUSTOM
     help
       Enter the tag you want to use.
       Leave empty to use the 'head' of the repository.
diff -r 712995e3e719 -r d02252752d4d scripts/build/libc/newlib.sh
--- a/scripts/build/libc/newlib.sh	Thu Oct 11 14:39:44 2012 +1000
+++ b/scripts/build/libc/newlib.sh	Thu Oct 11 14:39:45 2012 +1000
@@ -20,7 +20,10 @@
     libc_src="ftp://sources.redhat.com/pub/newlib"
     avr32headers_src="http://dev.doredevelopment.dk/avr32-toolchain/sources"
 
-    if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
+    if [ "${CT_LIBC_NEWLIB_CUSTOM}" = "y" ]; then
+        CT_GetCustom "newlib" "${CT_LIBC_VERSION}" \
+        "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}"
+    elif [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
         CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src}
     else
         CT_GetCVS "newlib-$(libc_newlib_version)"                   \
@@ -36,7 +39,10 @@
 }
 
 do_libc_extract() {
-    CT_Extract "newlib-$(libc_newlib_version)"
+    if [ "${CT_LIBC_NEWLIB_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/newlib-$(libc_newlib_version)" ]; then
+        CT_Extract "newlib-$(libc_newlib_version)"
+    fi
     CT_Patch "newlib" "$(libc_newlib_version)"
 
     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [PATCH 12 of 13] libc/uClibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (10 preceding siblings ...)
  2012-10-11  4:54     ` [PATCH 10 of 13] libc/glibc: " David Holsgrove
@ 2012-10-11  4:54     ` David Holsgrove
  2012-10-31 22:55       ` Yann E. MORIN
  2012-10-11  4:54     ` [PATCH 08 of 13] debug/gdb: " David Holsgrove
  2012-10-22 21:56     ` [PATCH 00 of 13 ] Add CUSTOM version for gcc, binutils, libc, gdb Yann E. MORIN
  13 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-11  4:54 UTC (permalink / raw)
  To: yann.morin.1998; +Cc: crossgcc

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1349930384 -36000
# Node ID 712995e3e719fbbe24afba8efd370e4213372405
# Parent  ad791eab5e898b88dac15629f7b1db9915b3385a
libc/uClibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r ad791eab5e89 -r 712995e3e719 config/libc/uClibc.in
--- a/config/libc/uClibc.in	Thu Oct 11 14:39:43 2012 +1000
+++ b/config/libc/uClibc.in	Thu Oct 11 14:39:44 2012 +1000
@@ -99,8 +99,27 @@
     select LIBC_SUPPORT_NPTL
     select LIBC_UCLIBC_0_9_30_or_later
 
+config LIBC_UCLIBC_CUSTOM
+    bool
+    prompt "Custom uClibc"
+    depends on EXPERIMENTAL
+    select LIBC_SUPPORT_NPTL
+    select LIBC_UCLIBC_0_9_30_or_later
+
 endchoice
 
+if LIBC_UCLIBC_CUSTOM
+
+config LIBC_UCLIBC_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom uClibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for uClibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/uClibc
+
+endif # LIBC_UCLIBC_CUSTOM
+
 config LIBC_VERSION
     string
     prompt "Enter date (YYYYMMDD)" if LIBC_UCLIBC_V_specific_date
@@ -119,6 +138,7 @@
     default "0.9.29" if LIBC_UCLIBC_V_0_9_29
     default "0.9.28.3" if LIBC_UCLIBC_V_0_9_28_3
     default "snapshot" if LIBC_UCLIBC_V_snapshot
+    default "custom" if LIBC_UCLIBC_CUSTOM
 
 config LIBC_UCLIBC_0_9_32_or_later
     bool
diff -r ad791eab5e89 -r 712995e3e719 scripts/build/libc/uClibc.sh
--- a/scripts/build/libc/uClibc.sh	Thu Oct 11 14:39:43 2012 +1000
+++ b/scripts/build/libc/uClibc.sh	Thu Oct 11 14:39:44 2012 +1000
@@ -15,7 +15,12 @@
     # For uClibc, we have almost every thing: releases, and snapshots
     # for the last month or so. We'll have to deal with svn revisions
     # later...
-    CT_GetFile "uClibc-${CT_LIBC_VERSION}" ${libc_src}
+    if [ "${CT_LIBC_UCLIBC_CUSTOM}" = "y" ]; then
+        CT_GetCustom "uClibc" "${CT_LIBC_VERSION}" \
+	"${CT_LIBC_UCLIBC_CUSTOM_LOCATION}"
+    else
+	CT_GetFile "uClibc-${CT_LIBC_VERSION}" ${libc_src}
+    fi
     # uClibc locales
     if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then
         CT_GetFile "${uclibc_local_tarball}" ${libc_src}
@@ -26,7 +31,10 @@
 
 # Extract uClibc
 do_libc_extract() {
-    CT_Extract "uClibc-${CT_LIBC_VERSION}"
+    if [ "${CT_LIBC_UCLIBC_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}" ]; then
+	CT_Extract "uClibc-${CT_LIBC_VERSION}"
+    fi
     # Don't patch snapshots
     if [    -z "${CT_LIBC_UCLIBC_V_snapshot}"      \
          -a -z "${CT_LIBC_UCLIBC_V_specific_date}" \

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option
  2012-10-11  4:53     ` [PATCH 01 of 13] libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option David Holsgrove
@ 2012-10-11 18:53       ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-11 18:53 UTC (permalink / raw)
  To: David Holsgrove; +Cc: crossgcc

David, All,

Your patch:
    libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option

has been applied as #24c8bae2216f. Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53     ` [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
@ 2012-10-11 20:24       ` Yann E. MORIN
  2012-10-15  1:31         ` David Holsgrove
  2012-10-29 23:27       ` Yann E. MORIN
  1 sibling, 1 reply; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-11 20:24 UTC (permalink / raw)
  To: crossgcc; +Cc: David Holsgrove

David, All,

On Thursday 11 October 2012 06:53:14 David Holsgrove wrote:
> # HG changeset patch
> # User David Holsgrove <david.holsgrove@xilinx.com>
> # Date 1349930381 -36000
> # Node ID f2272ac0f37cedd0bb91346d57681599758ea988
> # Parent  50674fe47431174aab80d6c01460aa2d6c901306
> cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
[--SNIP--]
> diff -r 50674fe47431 -r f2272ac0f37c scripts/build/cc/gcc.sh
> --- a/scripts/build/cc/gcc.sh	Thu Oct 11 14:39:40 2012 +1000
> +++ b/scripts/build/cc/gcc.sh	Thu Oct 11 14:39:41 2012 +1000
[--SNIP--]
> @@ -59,7 +61,10 @@
>  
>  # Extract gcc
>  do_cc_extract() {
> -    CT_Extract "gcc-${CT_CC_VERSION}"
> +    if [ "${CT_CC_CUSTOM}" != "y" \
> +         -o ! -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
> +        CT_Extract "gcc-${CT_CC_VERSION}"
> +    fi
>      CT_Patch "gcc" "${CT_CC_VERSION}"

That's not how it's done in kernel/linux, where the patching is *not* done
for the custom location.

I have nothing against trying to patch a component's custom location, but
is that really what you wanted?

I'd rather that all components behave the same: either all allow patching
their custom locations, or none does (I'd prefer the latter).

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* scripts/functions: add a generic custom location infrastructure
  2012-10-11  4:53     ` [PATCH 02 of 13] scripts/functions: add a generic custom location infrastructure David Holsgrove
@ 2012-10-13 22:00       ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-13 22:00 UTC (permalink / raw)
  To: David Holsgrove, Yann E. MORIN; +Cc: crossgcc

David, All,

Your patch:
    scripts/functions: add a generic custom location infrastructure

has been applied as #aadd4647dd91. Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* scripts/functions: add a generic custom location infrastructure
  2012-10-11  4:53     ` [PATCH 03 of 13] config/paths: add a generic custom location infrastructure David Holsgrove
@ 2012-10-13 22:00       ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-13 22:00 UTC (permalink / raw)
  To: David Holsgrove, Yann E. MORIN; +Cc: crossgcc

David, All,

Your patch:
    scripts/functions: add a generic custom location infrastructure

has been applied as #aadd4647dd91. Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* kernel/linux: use generic custom infrastructure
  2012-10-11  4:53     ` [PATCH 04 of 13] kernel/linux: use generic custom infrastructure David Holsgrove
@ 2012-10-13 22:00       ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-13 22:00 UTC (permalink / raw)
  To: David Holsgrove, Yann E. MORIN; +Cc: crossgcc

David, All,

Your patch:
    kernel/linux: use generic custom infrastructure

has been applied as #63d108a39453. Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11 20:24       ` Yann E. MORIN
@ 2012-10-15  1:31         ` David Holsgrove
  2012-10-16 20:38           ` Yann E. MORIN
  0 siblings, 1 reply; 47+ messages in thread
From: David Holsgrove @ 2012-10-15  1:31 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: crossgcc

Hi Yann, All,

On 12 October 2012 06:24, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> David, All,
>
> On Thursday 11 October 2012 06:53:14 David Holsgrove wrote:
>> # HG changeset patch
>> # User David Holsgrove <david.holsgrove@xilinx.com>
>> # Date 1349930381 -36000
>> # Node ID f2272ac0f37cedd0bb91346d57681599758ea988
>> # Parent  50674fe47431174aab80d6c01460aa2d6c901306
>> cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
> [--SNIP--]
>> diff -r 50674fe47431 -r f2272ac0f37c scripts/build/cc/gcc.sh
>> --- a/scripts/build/cc/gcc.sh Thu Oct 11 14:39:40 2012 +1000
>> +++ b/scripts/build/cc/gcc.sh Thu Oct 11 14:39:41 2012 +1000
> [--SNIP--]
>> @@ -59,7 +61,10 @@
>>
>>  # Extract gcc
>>  do_cc_extract() {
>> -    CT_Extract "gcc-${CT_CC_VERSION}"
>> +    if [ "${CT_CC_CUSTOM}" != "y" \
>> +         -o ! -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
>> +        CT_Extract "gcc-${CT_CC_VERSION}"
>> +    fi
>>      CT_Patch "gcc" "${CT_CC_VERSION}"
>
> That's not how it's done in kernel/linux, where the patching is *not* done
> for the custom location.
>
> I have nothing against trying to patch a component's custom location, but
> is that really what you wanted?
>
> I'd rather that all components behave the same: either all allow patching
> their custom locations, or none does (I'd prefer the latter).
>

I had considered this, but the way the do_kernel_extract step
currently is setup, it will attempt to patch a linux-custom tarball,
after getting through the check that CT_KERNEL_LINUX_CUSTOM_LOCATION
is not a directory.

Personally, I dont think anyone would want, or reasonably expect, a
custom component to be patched, so I'm happy to skip CT_PATCH for
custom components altogether.

I guess the options are to;

match the kernel:

do_cc_extract() {
    # If *not* custom, or custom tarball only
    if [ "${CT_CC_CUSTOM}" != "y" \
         -o ! -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
        CT_Extract "gcc-${CT_CC_VERSION}"
        CT_Patch "gcc" "${CT_CC_VERSION}"
    fi

or avoid CT_PATCH altogether for custom versions:

do_cc_extract() {
    if [ "${CT_CC_CUSTOM}" != "y" \
         -o ! -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
        CT_Extract "gcc-${CT_CC_VERSION}"
    fi
    # Only attempt to patch non-custom components
    if [ "${CT_CC_CUSTOM}" != "y" ]; then
        CT_Patch "gcc" "${CT_CC_VERSION}"
    fi

Which would you prefer? Even though CT_PATCH is essentially a nop
unless a 'gcc-custom' directory exists, it would be cleaner to not
attempt the step at all.

Thanks again,
David


> Regards,
> Yann E. MORIN.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-15  1:31         ` David Holsgrove
@ 2012-10-16 20:38           ` Yann E. MORIN
  2012-10-17  7:52             ` David Holsgrove
  0 siblings, 1 reply; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-16 20:38 UTC (permalink / raw)
  To: David Holsgrove; +Cc: crossgcc

David, All,

On Monday 15 October 2012 David Holsgrove wrote:
> On 12 October 2012 06:24, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > I'd rather that all components behave the same: either all allow patching
> > their custom locations, or none does (I'd prefer the latter).
> 
> I had considered this, but the way the do_kernel_extract step
> currently is setup, it will attempt to patch a linux-custom tarball,
> after getting through the check that CT_KERNEL_LINUX_CUSTOM_LOCATION
> is not a directory.

Gah, you are right. The code in kernel/linux is wrong. So, I've changed
the way the Linux kernel does its checks, with the following in mind:

Type                  | Extract | Patch
----------------------+---------+-------
Pre-installed headers |    N    |   N
custom directory      |    N    |   N
custom tarball        |    Y    |   N
mainstream tarball    |    Y    |   Y

> Personally, I dont think anyone would want, or reasonably expect, a
> custom component to be patched, so I'm happy to skip CT_PATCH for
> custom components altogether.

Yes, that's the reasoning.
I see that "custom location" thinggy as "I want to test my devel branch"
of sorts.

I will apply this to the other components:

Type                  | Extract | Patch
----------------------+---------+-------
custom directory      |    N    |   N
custom tarball        |    Y    |   N
mainstream tarball    |    Y    |   Y

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-16 20:38           ` Yann E. MORIN
@ 2012-10-17  7:52             ` David Holsgrove
  0 siblings, 0 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-17  7:52 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: crossgcc

[-- Attachment #1: Type: text/plain, Size: 2631 bytes --]

Hi Yann, All,

On 17 October 2012 06:38, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> David, All,
>
> On Monday 15 October 2012 David Holsgrove wrote:
>> On 12 October 2012 06:24, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
>> > I'd rather that all components behave the same: either all allow patching
>> > their custom locations, or none does (I'd prefer the latter).
>>
>> I had considered this, but the way the do_kernel_extract step
>> currently is setup, it will attempt to patch a linux-custom tarball,
>> after getting through the check that CT_KERNEL_LINUX_CUSTOM_LOCATION
>> is not a directory.
>
> Gah, you are right. The code in kernel/linux is wrong. So, I've changed
> the way the Linux kernel does its checks, with the following in mind:
>
> Type                  | Extract | Patch
> ----------------------+---------+-------
> Pre-installed headers |    N    |   N
> custom directory      |    N    |   N
> custom tarball        |    Y    |   N
> mainstream tarball    |    Y    |   Y
>
>> Personally, I dont think anyone would want, or reasonably expect, a
>> custom component to be patched, so I'm happy to skip CT_PATCH for
>> custom components altogether.
>
> Yes, that's the reasoning.
> I see that "custom location" thinggy as "I want to test my devel branch"
> of sorts.
>
> I will apply this to the other components:
>
> Type                  | Extract | Patch
> ----------------------+---------+-------
> custom directory      |    N    |   N
> custom tarball        |    Y    |   N
> mainstream tarball    |    Y    |   Y
>

Yes, I think thats the behaviour we want to see.

I've attached patches to the remaining components which follow this
table. I wasnt able to just return 0 from some of the extract steps,
as we continue on to carry out other tasks unrelated to extract /
patch the component (eg in gcc with the cp of ecj-latest.jar)

I also patched a little bug for the linux kernel with a missing 'then'
in your if statement.

Please let me know what you think?

thanks,
David

> Regards,
> Yann E. MORIN.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>

[-- Attachment #2: crosstool-ng_3080.patch --]
[-- Type: application/octet-stream, Size: 819 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350459118 -36000
# Node ID bb61b68ec643c39ea63a8f3b93e076d1fbbe7591
# Parent  37831a33e07e0aa865586d3b13b5b7824f35b4c1
kernel/linux: Fix broken if statement in custom headers check

Missing 'then' in last patch

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 37831a33e07e -r bb61b68ec643 scripts/build/kernel/linux.sh
--- a/scripts/build/kernel/linux.sh	Tue Oct 16 20:57:44 2012 +0200
+++ b/scripts/build/kernel/linux.sh	Wed Oct 17 17:31:58 2012 +1000
@@ -60,7 +60,7 @@
 # Extract kernel
 do_kernel_extract() {
     # If using a custom headers tree, nothing to do
-    if [ "${CT_KERNEL_LINUX_USE_CUSTOM_HEADERS}" = "y" ]
+    if [ "${CT_KERNEL_LINUX_USE_CUSTOM_HEADERS}" = "y" ]; then
         return 0
     fi
 

[-- Attachment #3: crosstool-ng_3081.patch --]
[-- Type: application/octet-stream, Size: 2530 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350459158 -36000
# Node ID 480239e52f550835988fcb6a19dc4392b0bd4624
# Parent  bb61b68ec643c39ea63a8f3b93e076d1fbbe7591
cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r bb61b68ec643 -r 480239e52f55 config/cc/gcc.in
--- a/config/cc/gcc.in	Wed Oct 17 17:31:58 2012 +1000
+++ b/config/cc/gcc.in	Wed Oct 17 17:32:38 2012 +1000
@@ -239,6 +239,12 @@
     prompt "3.4.6 (OBSOLETE)"
     depends on OBSOLETE
 
+config CC_CUSTOM
+    bool
+    prompt "Custom gcc"
+    depends on EXPERIMENTAL
+    select CC_GCC_latest
+
 endchoice
 
 if CC_V_SVN
@@ -297,6 +303,18 @@
 
 endif
 
+if CC_CUSTOM
+
+config CC_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom gcc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for gcc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
+
+endif #CC_CUSTOM
+
 config CC_GCC_4_2
     bool
     select CC_GCC_4_2_or_later
@@ -484,6 +502,7 @@
     default "4.1.2" if CC_V_4_1_2
     default "4.0.4" if CC_V_4_0_4
     default "3.4.6" if CC_V_3_4_6
+    default "custom" if CC_CUSTOM
 
 config CC_LANG_JAVA_USE_ECJ
     bool
diff -r bb61b68ec643 -r 480239e52f55 scripts/build/cc/gcc.sh
--- a/scripts/build/cc/gcc.sh	Wed Oct 17 17:31:58 2012 +1000
+++ b/scripts/build/cc/gcc.sh	Wed Oct 17 17:32:38 2012 +1000
@@ -4,7 +4,9 @@
 
 # Download gcc
 do_cc_get() {
-    if [ -n "${CT_CC_V_SVN}" ]; then
+    if [ "${CT_CC_CUSTOM}" = "y" ]; then
+        CT_GetCustom "gcc" "${CT_CC_VERSION}" "${CT_CC_CUSTOM_LOCATION}"
+    elif [ -n "${CT_CC_V_SVN}" ]; then
         # Get gcc from SVN!
         local svn_base
 
@@ -59,8 +61,15 @@
 
 # Extract gcc
 do_cc_extract() {
-    CT_Extract "gcc-${CT_CC_VERSION}"
-    CT_Patch "gcc" "${CT_CC_VERSION}"
+    # Attempt CT_EXTRACT only if NOT custom, or CUSTOM_LOCATION is not a directory
+    if [ "${CT_CC_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
+        CT_Extract "gcc-${CT_CC_VERSION}"
+    fi
+    # Attempt CT_PATCH only if NOT custom
+    if [ "${CT_CC_CUSTOM}" != "y" ]; then
+        CT_Patch "gcc" "${CT_CC_VERSION}"
+    fi
 
     # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree
     if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y"                     \

[-- Attachment #4: crosstool-ng_3082.patch --]
[-- Type: application/octet-stream, Size: 3054 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350459158 -36000
# Node ID e0d7ed57abba06e0f0932944a1edba48dbb02489
# Parent  480239e52f550835988fcb6a19dc4392b0bd4624
binutils/binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 480239e52f55 -r e0d7ed57abba config/binutils/binutils.in
--- a/config/binutils/binutils.in	Wed Oct 17 17:32:38 2012 +1000
+++ b/config/binutils/binutils.in	Wed Oct 17 17:32:38 2012 +1000
@@ -50,8 +50,26 @@
     prompt "2.16.1a (OBSOLETE)"
     depends on OBSOLETE
 
+config BINUTILS_CUSTOM
+    bool
+    prompt "Custom binutils"
+    depends on EXPERIMENTAL
+    select BINUTILS_2_22_or_later
+
 endchoice
 
+if BINUTILS_CUSTOM
+
+config BINUTILS_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom binutils source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for binutils,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/binutils
+
+endif # BINUTILS_CUSTOM
+
 config BINUTILS_VERSION
     string
 # Don't remove next line
@@ -64,6 +82,7 @@
     default "2.18a" if BINUTILS_V_2_18a
     default "2.17a" if BINUTILS_V_2_17a
     default "2.16.1a" if BINUTILS_V_2_16_1a
+    default "custom" if BINUTILS_CUSTOM
 
 config BINUTILS_2_22_or_later
     bool
diff -r 480239e52f55 -r e0d7ed57abba scripts/build/binutils/binutils.sh
--- a/scripts/build/binutils/binutils.sh	Wed Oct 17 17:32:38 2012 +1000
+++ b/scripts/build/binutils/binutils.sh	Wed Oct 17 17:32:38 2012 +1000
@@ -4,15 +4,27 @@
 
 # Download binutils
 do_binutils_get() {
-    CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        \
-               {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
-               ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
+    if [ "${CT_BINUTILS_CUSTOM}" = "y" ]; then
+        CT_GetCustom "binutils" "${CT_BINUTILS_VERSION}" \
+        "${CT_BINUTILS_CUSTOM_LOCATION}"
+    else
+        CT_GetFile "binutils-${CT_BINUTILS_VERSION}"                                        \
+                   {ftp,http}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils   \
+                   ftp://gcc.gnu.org/pub/binutils/{releases,snapshots}
+    fi
 }
 
 # Extract binutils
 do_binutils_extract() {
-    CT_Extract "binutils-${CT_BINUTILS_VERSION}"
-    CT_Patch "binutils" "${CT_BINUTILS_VERSION}"
+    # Attempt CT_EXTRACT only if NOT custom, or CUSTOM_LOCATION is not a directory
+    if [ "${CT_BINUTILS_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}" ]; then
+        CT_Extract "binutils-${CT_BINUTILS_VERSION}"
+    fi
+    # Attempt CT_PATCH only if NOT custom
+    if [ "${CT_BINUTILS_CUSTOM}" != "y" ]; then
+        CT_Patch "binutils" "${CT_BINUTILS_VERSION}"
+    fi
 }
 
 # Build binutils for build -> target

[-- Attachment #5: crosstool-ng_3083.patch --]
[-- Type: application/octet-stream, Size: 3915 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350459159 -36000
# Node ID 42505913ee8b5a95988070a37d3a337c865fe145
# Parent  e0d7ed57abba06e0f0932944a1edba48dbb02489
binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Change elf2flt CT_ELF2FLT_VERSION from 'head' to 'cvs' if cvs selected in config

Also remove hardcoded 'cvs-' from elf2flt component name, used in CT_Extract,
CT_Patch and as the CT_SRC_DIR location for the configure stage.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r e0d7ed57abba -r 42505913ee8b config/binutils/elf2flt.in
--- a/config/binutils/elf2flt.in	Wed Oct 17 17:32:38 2012 +1000
+++ b/config/binutils/elf2flt.in	Wed Oct 17 17:32:39 2012 +1000
@@ -20,8 +20,26 @@
     bool
     prompt "CVS Snapshot"
 
+config ELF2FLT_CUSTOM
+    bool
+    prompt "Custom elf2flt"
+    depends on EXPERIMENTAL
+
 endchoice
 
+if ELF2FLT_CUSTOM
+
+config ELF2FLT_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom elf2flt source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for elf2flt,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/elf2flt
+
+endif # ELF2FLT_CUSTOM
+if ! ELF2FLT_CUSTOM
+
 config ELF2FLT_CVS_SNAPSHOT_SPEC
     string
     depends on ELF2FLT_CVS_SNAPSHOT
@@ -31,9 +49,12 @@
        What you enter here will be passed verbatim to the cvs checkout command
        so be careful!
 
+endif # ! ELF2FLT_CUSTOM
+
 config ELF2FLT_VERSION
     string
-    default "head" if ELF2FLT_CVSHEAD
+    default "cvs" if ELF2FLT_CVSHEAD
+    default "custom" if ELF2FLT_CUSTOM
 # Don't remove next line
 # CT_INSERT_VERSION_STRING_BELOW
 
diff -r e0d7ed57abba -r 42505913ee8b scripts/build/binutils/elf2flt.sh
--- a/scripts/build/binutils/elf2flt.sh	Wed Oct 17 17:32:38 2012 +1000
+++ b/scripts/build/binutils/elf2flt.sh	Wed Oct 17 17:32:39 2012 +1000
@@ -13,17 +13,29 @@
 
 # Download elf2flt
 do_elf2flt_get() {
-    CT_GetCVS "elf2flt-cvs-${CT_ELF2FLT_VERSION}"           \
-              ":pserver:anonymous@cvs.uclinux.org:/var/cvs" \
-              "elf2flt"                                     \
-              "" \
-              "elf2flt-cvs-${CT_ELF2FLT_VERSION}"
+    if [ "${CT_ELF2FLT_CUSTOM}" = "y" ]; then
+        CT_GetCustom "elf2flt" "${ELF2FLT_VERSION}" \
+        "${CT_ELF2FLT_CUSTOM_LOCATION}"
+    else
+        CT_GetCVS "elf2flt-${CT_ELF2FLT_VERSION}"           \
+                  ":pserver:anonymous@cvs.uclinux.org:/var/cvs" \
+                  "elf2flt"                                     \
+                  "" \
+                  "elf2flt-${CT_ELF2FLT_VERSION}"
+    fi
 }
 
 # Extract elf2flt
 do_elf2flt_extract() {
-    CT_Extract "elf2flt-cvs-${CT_ELF2FLT_VERSION}"
-    CT_Patch "elf2flt-cvs" "${CT_ELF2FLT_VERSION}"
+    # Attempt CT_EXTRACT only if NOT custom, or CUSTOM_LOCATION is not a directory
+    if [ "${CT_ELF2FLT_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/elf2flt-${CT_ELF2FLT_VERSION}" ]; then
+        CT_Extract "elf2flt-${CT_ELF2FLT_VERSION}"
+    fi
+    # Attempt CT_PATCH only if NOT custom
+    if [ "${CT_ELF2FLT_CUSTOM}" != "y" ]; then
+        CT_Patch "elf2flt" "${CT_ELF2FLT_VERSION}"
+    fi
 }
 
 # Build elf2flt for build -> target
@@ -111,7 +123,7 @@
     CT_DoLog EXTRA "Configuring elf2flt"
     CT_DoExecLog CFG                                            \
     CFLAGS="${host_cflags}"                                     \
-    "${CT_SRC_DIR}/elf2flt-cvs-${CT_ELF2FLT_VERSION}/configure" \
+    "${CT_SRC_DIR}/elf2flt-${CT_ELF2FLT_VERSION}/configure" \
         --build=${CT_BUILD}                                     \
         --host=${host}                                          \
         --target=${CT_TARGET}                                   \

[-- Attachment #6: crosstool-ng_3084.patch --]
[-- Type: application/octet-stream, Size: 3052 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350459159 -36000
# Node ID 0ff6e8092d6d372af27a5b5d632127d152d69406
# Parent  42505913ee8b5a95988070a37d3a337c865fe145
debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 42505913ee8b -r 0ff6e8092d6d config/debug/gdb.in
--- a/config/debug/gdb.in	Wed Oct 17 17:32:39 2012 +1000
+++ b/config/debug/gdb.in	Wed Oct 17 17:32:39 2012 +1000
@@ -119,6 +119,13 @@
     bool
     prompt "6.8a"
 
+config GDB_CUSTOM
+    bool
+    prompt "Custom gdb"
+    depends on EXPERIMENTAL
+    select GDB_7_0_or_later
+    select GDB_7_2_or_later
+
 endchoice
 
 config GDB_7_2_or_later
@@ -152,5 +159,19 @@
     default "7.0.1a" if GDB_V_7_0_1a
     default "7.0a" if GDB_V_7_0a
     default "6.8a" if GDB_V_6_8a
+    default "custom" if GDB_CUSTOM
+
+if GDB_CUSTOM
+
+config GDB_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom gdb source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for gdb,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gdb
+
+endif # GDB_CUSTOM
 
 endif
+
diff -r 42505913ee8b -r 0ff6e8092d6d scripts/build/debug/300-gdb.sh
--- a/scripts/build/debug/300-gdb.sh	Wed Oct 17 17:32:39 2012 +1000
+++ b/scripts/build/debug/300-gdb.sh	Wed Oct 17 17:32:39 2012 +1000
@@ -48,10 +48,14 @@
     do_debug_gdb_parts
 
     if [ "${do_gdb}" = "y" ]; then
-        CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
-                   {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
-                   ftp://sources.redhat.com/pub/gdb/{,old-}releases \
-                   "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
+        if [ "${CT_GDB_CUSTOM}" = "y" ]; then
+            CT_GetCustom "gdb" "${CT_GDB_VERSION}" "${CT_GDB_CUSTOM_LOCATION}"
+        else
+            CT_GetFile "gdb-${CT_GDB_VERSION}"                          \
+                       {ftp,http}://ftp.gnu.org/pub/gnu/gdb             \
+                       ftp://sources.redhat.com/pub/gdb/{,old-}releases \
+                       "${linaro_base_url}/${linaro_series}/${linaro_version}/+download"
+        fi
     fi
 
     if [ "${do_ncurses}" = "y" ]; then
@@ -70,8 +74,15 @@
     do_debug_gdb_parts
 
     if [ "${do_gdb}" = "y" ]; then
-        CT_Extract "gdb-${CT_GDB_VERSION}"
-        CT_Patch "gdb" "${CT_GDB_VERSION}"
+        # Attempt CT_EXTRACT only if NOT custom, or CUSTOM_LOCATION is not a directory
+        if [ "${CT_GDB_CUSTOM}" != "y" \
+             -o ! -d "${CT_SRC_DIR}/gdb-${CT_GDB_VERSION}" ]; then
+            CT_Extract "gdb-${CT_GDB_VERSION}"
+        fi
+        # Attempt CT_PATCH only if NOT custom
+        if [ "${CT_GDB_CUSTOM}" != "y" ]; then
+            CT_Patch "gdb" "${CT_GDB_VERSION}"
+        fi
     fi
 
     if [ "${do_ncurses}" = "y" ]; then

[-- Attachment #7: crosstool-ng_3085.patch --]
[-- Type: application/octet-stream, Size: 1409 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350459160 -36000
# Node ID 707a3b3577ddd02942ab095eec1d0c6625e6c367
# Parent  0ff6e8092d6d372af27a5b5d632127d152d69406
libc/{,e}glibc: Add CUSTOM version, CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 0ff6e8092d6d -r 707a3b3577dd scripts/build/libc/glibc-eglibc.sh-common
--- a/scripts/build/libc/glibc-eglibc.sh-common	Wed Oct 17 17:32:39 2012 +1000
+++ b/scripts/build/libc/glibc-eglibc.sh-common	Wed Oct 17 17:32:40 2012 +1000
@@ -4,10 +4,16 @@
 do_libc_extract() {
     local addon
 
-    # Extract the main tarball
-    CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
+    # Attempt CT_EXTRACT only if NOT custom, or CUSTOM_LOCATION is not a directory
+    if [ "${CT_LIBC_CUSTOM}" != "y" \
+         -o ! -d "${CT_LIBC_CUSTOM_LOCATION}" ]; then
+        CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
+    fi
     CT_Pushd "${CT_SRC_DIR}/${CT_LIBC}-${CT_LIBC_VERSION}"
-    CT_Patch nochdir "${CT_LIBC}" "${CT_LIBC_VERSION}"
+    # Attempt CT_PATCH only if NOT custom
+    if [ "${CT_LIBC_CUSTOM}" != "y" ]; then
+        CT_Patch nochdir "${CT_LIBC}" "${CT_LIBC_VERSION}"
+    fi
 
     # Extract the add-opns
     for addon in $(do_libc_add_ons_list " "); do

[-- Attachment #8: crosstool-ng_3086.patch --]
[-- Type: application/octet-stream, Size: 2476 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350459160 -36000
# Node ID a010e6e073680a8c911a008243fa452b49d9459e
# Parent  707a3b3577ddd02942ab095eec1d0c6625e6c367
libc/glibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 707a3b3577dd -r a010e6e07368 config/libc/glibc.in
--- a/config/libc/glibc.in	Wed Oct 17 17:32:40 2012 +1000
+++ b/config/libc/glibc.in	Wed Oct 17 17:32:40 2012 +1000
@@ -81,8 +81,29 @@
     depends on OBSOLETE
     select LIBC_SUPPORT_LINUXTHREADS
 
+config LIBC_GLIBC_CUSTOM
+    bool
+    prompt "Custom glibc"
+    depends on EXPERIMENTAL
+    select LIBC_CUSTOM
+
 endchoice
 
+config LIBC_CUSTOM
+    bool
+
+if LIBC_GLIBC_CUSTOM
+
+config LIBC_GLIBC_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom glibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for glibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/glibc
+
+endif # LIBC_GLIBC_CUSTOM
+
 config LIBC_VERSION
     string
 # Don't remove next line
@@ -102,3 +123,4 @@
     default "2.6" if LIBC_GLIBC_V_2_6
     default "2.5.1" if LIBC_GLIBC_V_2_5_1
     default "2.5" if LIBC_GLIBC_V_2_5
+    default "custom" if LIBC_GLIBC_CUSTOM
diff -r 707a3b3577dd -r a010e6e07368 scripts/build/libc/glibc.sh
--- a/scripts/build/libc/glibc.sh	Wed Oct 17 17:32:40 2012 +1000
+++ b/scripts/build/libc/glibc.sh	Wed Oct 17 17:32:40 2012 +1000
@@ -20,10 +20,15 @@
     addons_list=($(do_libc_add_ons_list " "))
 
     # Main source
-    CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
-               {ftp,http}://ftp.gnu.org/gnu/glibc       \
-               ftp://gcc.gnu.org/pub/glibc/releases     \
-               ftp://gcc.gnu.org/pub/glibc/snapshots
+    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
+        CT_GetCustom "glibc" "${CT_LIBC_VERSION}" "${CT_LIBC_CUSTOM_LOCATION}"
+        CT_LIBC_CUSTOM_LOCATION="${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}"
+    else
+        CT_GetFile "glibc-${CT_LIBC_VERSION}"               \
+                   {ftp,http}://ftp.gnu.org/gnu/glibc       \
+                   ftp://gcc.gnu.org/pub/glibc/releases     \
+                   ftp://gcc.gnu.org/pub/glibc/snapshots
+    fi
 
     # C library addons
     for addon in "${addons_list[@]}"; do

[-- Attachment #9: crosstool-ng_3087.patch --]
[-- Type: application/octet-stream, Size: 2732 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350459161 -36000
# Node ID a686e78af7e4d72b646dbc571f73710ed01ae2f6
# Parent  a010e6e073680a8c911a008243fa452b49d9459e
libc/eglibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r a010e6e07368 -r a686e78af7e4 config/libc/eglibc.in
--- a/config/libc/eglibc.in	Wed Oct 17 17:32:40 2012 +1000
+++ b/config/libc/eglibc.in	Wed Oct 17 17:32:41 2012 +1000
@@ -85,6 +85,13 @@
     help
       Selecting this will export the trunk of the eglibc subversion repository.
 
+config LIBC_EGLIBC_CUSTOM
+    bool
+    prompt "Custom eglibc"
+    depends on EXPERIMENTAL
+    select LIBC_EGLIBC_2_16_or_later
+    select LIBC_CUSTOM
+
 endchoice
 
 config LIBC_VERSION
@@ -104,6 +111,7 @@
     default "2_6" if LIBC_EGLIBC_V_2_6
     default "2_5" if LIBC_EGLIBC_V_2_5
     default "trunk" if LIBC_EGLIBC_V_TRUNK
+    default "custom" if LIBC_EGLIBC_CUSTOM
 
 config LIBC_EGLIBC_2_16_or_later
     bool
@@ -140,6 +148,22 @@
 config LIBC_EGLIBC_HAS_PKGVERSION_BUGURL
     bool
 
+config LIBC_CUSTOM
+    bool
+
+if LIBC_EGLIBC_CUSTOM
+
+config LIBC_EGLIBC_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom eglibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for eglibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/eglibc
+
+endif # LIBC_EGLIBC_CUSTOM
+if ! LIBC_EGLIBC_CUSTOM
+
 if CONFIGURE_has_svn
 
 config EGLIBC_REVISION
@@ -189,6 +213,7 @@
 comment "otherwise you won't be able to download eglibc"
 
 endif # ! CONFIGURE_has_svn
+endif # ! LIBC_EGLIBC_CUSTOM
 
 config EGLIBC_OPT_SIZE
     bool
diff -r a010e6e07368 -r a686e78af7e4 scripts/build/libc/eglibc.sh
--- a/scripts/build/libc/eglibc.sh	Wed Oct 17 17:32:40 2012 +1000
+++ b/scripts/build/libc/eglibc.sh	Wed Oct 17 17:32:41 2012 +1000
@@ -28,9 +28,14 @@
         *)      svn_base+="/branches/eglibc-${CT_LIBC_VERSION}";;
     esac
 
-    CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
-              "${svn_base}/libc"            \
-              "${CT_EGLIBC_REVISION:-HEAD}"
+    if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
+        CT_GetCustom "eglibc" "${CT_LIBC_VERSION}" "${CT_LIBC_CUSTOM_LOCATION}"
+        CT_LIBC_CUSTOM_LOCATION="${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}"
+    else
+        CT_GetSVN "eglibc-${CT_LIBC_VERSION}"   \
+                  "${svn_base}/libc"            \
+                  "${CT_EGLIBC_REVISION:-HEAD}"
+    fi
 
     if [ "${CT_LIBC_LOCALES}" = "y" ]; then
         extra_addons+=("localedef")

[-- Attachment #10: crosstool-ng_3089.patch --]
[-- Type: application/octet-stream, Size: 2908 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350459162 -36000
# Node ID d769044b6d2eb38fe9c4d648b367f92be22a7b06
# Parent  8670e3145ee4e4a34fb9bc98bd12ebd6c54f4189
libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 8670e3145ee4 -r d769044b6d2e config/libc/newlib.in
--- a/config/libc/newlib.in	Wed Oct 17 17:32:41 2012 +1000
+++ b/config/libc/newlib.in	Wed Oct 17 17:32:42 2012 +1000
@@ -52,8 +52,25 @@
       
       In a word: use the CVS snapshot at your own risk! 
 
+config LIBC_NEWLIB_CUSTOM
+    bool
+    prompt "Custom newlib"
+    depends on EXPERIMENTAL
+
 endchoice
 
+if LIBC_NEWLIB_CUSTOM
+
+config LIBC_NEWLIB_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom newlib source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for newlib,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/newlib
+
+endif # LIBC_NEWLIB_CUSTOM
+
 config LIBC_VERSION
     string
     prompt "use CVS tag" if LIBC_NEWLIB_CVS
@@ -63,6 +80,7 @@
     default "1.19.0" if LIBC_NEWLIB_V_1_19_0
     default "1.18.0" if LIBC_NEWLIB_V_1_18_0
     default "1.17.0" if LIBC_NEWLIB_V_1_17_0
+    default "custom" if LIBC_NEWLIB_CUSTOM
     help
       Enter the tag you want to use.
       Leave empty to use the 'head' of the repository.
diff -r 8670e3145ee4 -r d769044b6d2e scripts/build/libc/newlib.sh
--- a/scripts/build/libc/newlib.sh	Wed Oct 17 17:32:41 2012 +1000
+++ b/scripts/build/libc/newlib.sh	Wed Oct 17 17:32:42 2012 +1000
@@ -20,7 +20,10 @@
     libc_src="ftp://sources.redhat.com/pub/newlib"
     avr32headers_src="http://dev.doredevelopment.dk/avr32-toolchain/sources"
 
-    if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
+    if [ "${CT_LIBC_NEWLIB_CUSTOM}" = "y" ]; then
+        CT_GetCustom "newlib" "${CT_LIBC_VERSION}" \
+        "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}"
+    elif [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
         CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src}
     else
         CT_GetCVS "newlib-$(libc_newlib_version)"                   \
@@ -36,8 +39,15 @@
 }
 
 do_libc_extract() {
-    CT_Extract "newlib-$(libc_newlib_version)"
-    CT_Patch "newlib" "$(libc_newlib_version)"
+    # Attempt CT_EXTRACT only if NOT custom, or CUSTOM_LOCATION is not a directory
+    if [ "${CT_LIBC_NEWLIB_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/newlib-$(libc_newlib_version)" ]; then
+        CT_Extract "newlib-$(libc_newlib_version)"
+    fi
+    # Attempt CT_PATCH only if NOT custom
+    if [ "${CT_LIBC_NEWLIB_CUSTOM}" != "y" ]; then
+        CT_Patch "newlib" "$(libc_newlib_version)"
+    fi
 
     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
         CT_Extract "avr32headers"

[-- Attachment #11: crosstool-ng_3088.patch --]
[-- Type: application/octet-stream, Size: 3068 bytes --]

# HG changeset patch
# User David Holsgrove <david.holsgrove@xilinx.com>
# Date 1350460220 -36000
# Node ID 94af8dbf7c02022e6447d8a65a6837b25121483d
# Parent  534c1e08c4c1e0198e77d6f97259b841c5055fbd
libc/uClibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>

diff -r 534c1e08c4c1 -r 94af8dbf7c02 config/libc/uClibc.in
--- a/config/libc/uClibc.in	Wed Oct 17 17:48:51 2012 +1000
+++ b/config/libc/uClibc.in	Wed Oct 17 17:50:20 2012 +1000
@@ -99,8 +99,27 @@
     select LIBC_SUPPORT_NPTL
     select LIBC_UCLIBC_0_9_30_or_later
 
+config LIBC_UCLIBC_CUSTOM
+    bool
+    prompt "Custom uClibc"
+    depends on EXPERIMENTAL
+    select LIBC_SUPPORT_NPTL
+    select LIBC_UCLIBC_0_9_30_or_later
+
 endchoice
 
+if LIBC_UCLIBC_CUSTOM
+
+config LIBC_UCLIBC_CUSTOM_LOCATION
+    string
+    prompt "Full path to custom uClibc source"
+    default ""
+    help
+      Enter the path to the directory (or tarball) of your source for uClibc,
+      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/uClibc
+
+endif # LIBC_UCLIBC_CUSTOM
+
 config LIBC_VERSION
     string
     prompt "Enter date (YYYYMMDD)" if LIBC_UCLIBC_V_specific_date
@@ -119,6 +138,7 @@
     default "0.9.29" if LIBC_UCLIBC_V_0_9_29
     default "0.9.28.3" if LIBC_UCLIBC_V_0_9_28_3
     default "snapshot" if LIBC_UCLIBC_V_snapshot
+    default "custom" if LIBC_UCLIBC_CUSTOM
 
 config LIBC_UCLIBC_0_9_32_or_later
     bool
diff -r 534c1e08c4c1 -r 94af8dbf7c02 scripts/build/libc/uClibc.sh
--- a/scripts/build/libc/uClibc.sh	Wed Oct 17 17:48:51 2012 +1000
+++ b/scripts/build/libc/uClibc.sh	Wed Oct 17 17:50:20 2012 +1000
@@ -15,7 +15,12 @@
     # For uClibc, we have almost every thing: releases, and snapshots
     # for the last month or so. We'll have to deal with svn revisions
     # later...
-    CT_GetFile "uClibc-${CT_LIBC_VERSION}" ${libc_src}
+    if [ "${CT_LIBC_UCLIBC_CUSTOM}" = "y" ]; then
+        CT_GetCustom "uClibc" "${CT_LIBC_VERSION}" \
+        "${CT_LIBC_UCLIBC_CUSTOM_LOCATION}"
+    else
+        CT_GetFile "uClibc-${CT_LIBC_VERSION}" ${libc_src}
+    fi
     # uClibc locales
     if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then
         CT_GetFile "${uclibc_local_tarball}" ${libc_src}
@@ -26,10 +31,15 @@
 
 # Extract uClibc
 do_libc_extract() {
-    CT_Extract "uClibc-${CT_LIBC_VERSION}"
-    # Don't patch snapshots
+    # Attempt CT_EXTRACT only if NOT custom, or CUSTOM_LOCATION is not a directory
+    if [ "${CT_LIBC_UCLIBC_CUSTOM}" != "y" \
+         -o ! -d "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}" ]; then
+        CT_Extract "uClibc-${CT_LIBC_VERSION}"
+    fi
+    # Attempt CT_PATCH only if NOT custom and don't patch snapshots
     if [    -z "${CT_LIBC_UCLIBC_V_snapshot}"      \
          -a -z "${CT_LIBC_UCLIBC_V_specific_date}" \
+         -a "${CT_LIBC_UCLIBC_CUSTOM}" != "y" \
        ]; then
         CT_Patch "uClibc" "${CT_LIBC_VERSION}"
     fi

[-- Attachment #12: Type: text/plain, Size: 71 bytes --]

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 00 of 13 ] Add CUSTOM version for gcc, binutils, libc, gdb
  2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
                       ` (12 preceding siblings ...)
  2012-10-11  4:54     ` [PATCH 08 of 13] debug/gdb: " David Holsgrove
@ 2012-10-22 21:56     ` Yann E. MORIN
  2012-10-23  8:09       ` David Holsgrove
  13 siblings, 1 reply; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-22 21:56 UTC (permalink / raw)
  To: crossgcc; +Cc: David Holsgrove

David, All,

On Thursday 11 October 2012 David Holsgrove wrote:
> I've edited as you suggested, further generialised the CT_GetCustom
> function and separated by component rather than family.

Just to let you know I did not forget what's left of this series.
I am testing it a bit. I'll make sure it gets in before the next release!

Thanks for your patience!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 00 of 13 ] Add CUSTOM version for gcc, binutils, libc, gdb
  2012-10-22 21:56     ` [PATCH 00 of 13 ] Add CUSTOM version for gcc, binutils, libc, gdb Yann E. MORIN
@ 2012-10-23  8:09       ` David Holsgrove
  0 siblings, 0 replies; 47+ messages in thread
From: David Holsgrove @ 2012-10-23  8:09 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: crossgcc

Hi Yann, All,

On 23 October 2012 07:56, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> David, All,
>
> On Thursday 11 October 2012 David Holsgrove wrote:
>> I've edited as you suggested, further generialised the CT_GetCustom
>> function and separated by component rather than family.
>
> Just to let you know I did not forget what's left of this series.
> I am testing it a bit. I'll make sure it gets in before the next release!
>
> Thanks for your patience!

No problem at all :-) Please let me know if you need anything else
from me to help this.
I've been using these patches on top of HEAD daily and look forward to
them being included.

It may also help me, help you to test my other fix (until MicroBlaze
support is upstream);

[PATCH] scripts/glibc-eglibc.sh-common: broken symlinks created for
nested multilib

thanks!
David

>
> Regards,
> Yann E. MORIN.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53     ` [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
  2012-10-11 20:24       ` Yann E. MORIN
@ 2012-10-29 23:27       ` Yann E. MORIN
  1 sibling, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-29 23:27 UTC (permalink / raw)
  To: David Holsgrove, Yann E. MORIN; +Cc: crossgcc

David, All,

Your patch:
    cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

has been applied as: #7f5a3382968f
    http://crosstool-ng.org/hg/crosstool-ng/rev/7f5a3382968f

Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom
  2012-10-11  4:53     ` [PATCH 07 of 13] binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom David Holsgrove
@ 2012-10-29 23:27       ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-29 23:27 UTC (permalink / raw)
  To: David Holsgrove, Yann E. MORIN; +Cc: crossgcc

David, All,

Your patch:
    binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom

has been applied as: #a221c86d9b33
    http://crosstool-ng.org/hg/crosstool-ng/rev/a221c86d9b33

Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* binutils/binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:53     ` [PATCH 06 of 13] binutils/binutils: " David Holsgrove
@ 2012-10-29 23:27       ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-29 23:27 UTC (permalink / raw)
  To: David Holsgrove, Yann E. MORIN; +Cc: crossgcc

David, All,

Your patch:
    binutils/binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

has been applied as: #3662412ddd59
    http://crosstool-ng.org/hg/crosstool-ng/rev/3662412ddd59

Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:54     ` [PATCH 08 of 13] debug/gdb: " David Holsgrove
@ 2012-10-29 23:28       ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-29 23:28 UTC (permalink / raw)
  To: David Holsgrove, Yann E. MORIN; +Cc: crossgcc

David, All,

Your patch:
    debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

has been applied as: #41967d32b54e
    http://crosstool-ng.org/hg/crosstool-ng/rev/41967d32b54e

Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:54     ` [PATCH 13 of 13] libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
@ 2012-10-30 22:20       ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-30 22:20 UTC (permalink / raw)
  To: David Holsgrove, Yann E. MORIN; +Cc: crossgcc

David, All,

Your patch:
    libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

has been applied as: #07a87075fa2d
    http://crosstool-ng.org/hg/crosstool-ng/rev/07a87075fa2d

Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

* libc/uClibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
  2012-10-11  4:54     ` [PATCH 12 of 13] libc/uClibc: " David Holsgrove
@ 2012-10-31 22:55       ` Yann E. MORIN
  0 siblings, 0 replies; 47+ messages in thread
From: Yann E. MORIN @ 2012-10-31 22:55 UTC (permalink / raw)
  To: David Holsgrove, Yann E. MORIN; +Cc: crossgcc

David, All,

Your patch:
    libc/uClibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom

has been applied as: #79169596cfc9
    http://crosstool-ng.org/hg/crosstool-ng/rev/79169596cfc9

Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2012-10-31 22:55 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-04  4:46 [PATCH 0 of 1 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb David Holsgrove
2012-10-04  4:47 ` [PATCH 1 of 1] config+scripts: Custom gcc, binutils, libc, gdb version David Holsgrove
2012-10-05  8:48   ` Florian Fainelli
2012-10-05  7:57 ` [PATCH 0 of 1 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb Bryan Hundven
2012-10-10  6:08 ` [PATCH 0 of 6 " David Holsgrove
2012-10-10  6:08   ` [PATCH 1 of 6] config+scripts: Extract CUSTOM / CUSTOM_LOCATION currently in linux.sh David Holsgrove
2012-10-10 22:19     ` Yann E. MORIN
2012-10-10  6:08   ` [PATCH 5 of 6] binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
2012-10-10 22:41     ` Yann E. MORIN
2012-10-10  6:08   ` [PATCH 3 of 6] cc/gcc: " David Holsgrove
2012-10-10  6:08   ` [PATCH 6 of 6] debug/gdb: " David Holsgrove
2012-10-10 22:45     ` Yann E. MORIN
2012-10-10  6:08   ` [PATCH 4 of 6] libc: " David Holsgrove
2012-10-10 22:38     ` Yann E. MORIN
2012-10-10  6:08   ` [PATCH 2 of 6] kernel/linux: Extract custom location function and use generic GetCustom David Holsgrove
2012-10-10 22:25     ` Yann E. MORIN
2012-10-10 21:56   ` [PATCH 0 of 6 ] RFC - Add CUSTOM version for gcc, binutils, libc, gdb Yann E. MORIN
2012-10-11  4:53   ` [PATCH 00 of 13 ] " David Holsgrove
2012-10-11  4:53     ` [PATCH 01 of 13] libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option David Holsgrove
2012-10-11 18:53       ` Yann E. MORIN
2012-10-11  4:53     ` [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
2012-10-11 20:24       ` Yann E. MORIN
2012-10-15  1:31         ` David Holsgrove
2012-10-16 20:38           ` Yann E. MORIN
2012-10-17  7:52             ` David Holsgrove
2012-10-29 23:27       ` Yann E. MORIN
2012-10-11  4:53     ` [PATCH 06 of 13] binutils/binutils: " David Holsgrove
2012-10-29 23:27       ` Yann E. MORIN
2012-10-11  4:53     ` [PATCH 07 of 13] binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom David Holsgrove
2012-10-29 23:27       ` Yann E. MORIN
2012-10-11  4:53     ` [PATCH 03 of 13] config/paths: add a generic custom location infrastructure David Holsgrove
2012-10-13 22:00       ` scripts/functions: " Yann E. MORIN
2012-10-11  4:53     ` [PATCH 04 of 13] kernel/linux: use generic custom infrastructure David Holsgrove
2012-10-13 22:00       ` Yann E. MORIN
2012-10-11  4:53     ` [PATCH 02 of 13] scripts/functions: add a generic custom location infrastructure David Holsgrove
2012-10-13 22:00       ` Yann E. MORIN
2012-10-11  4:54     ` [PATCH 13 of 13] libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove
2012-10-30 22:20       ` Yann E. MORIN
2012-10-11  4:54     ` [PATCH 09 of 13] libc/{, e}glibc: Add CUSTOM version, " David Holsgrove
2012-10-11  4:54     ` [PATCH 11 of 13] libc/eglibc: Add CUSTOM version and " David Holsgrove
2012-10-11  4:54     ` [PATCH 10 of 13] libc/glibc: " David Holsgrove
2012-10-11  4:54     ` [PATCH 12 of 13] libc/uClibc: " David Holsgrove
2012-10-31 22:55       ` Yann E. MORIN
2012-10-11  4:54     ` [PATCH 08 of 13] debug/gdb: " David Holsgrove
2012-10-29 23:28       ` Yann E. MORIN
2012-10-22 21:56     ` [PATCH 00 of 13 ] Add CUSTOM version for gcc, binutils, libc, gdb Yann E. MORIN
2012-10-23  8:09       ` David Holsgrove

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).