* [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 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
* 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
* [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 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
* 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
* [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 4 of 6] libc: " 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 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
* [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 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 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 ` (4 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
* 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
* [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 ` (2 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 6:08 ` [PATCH 3 of 6] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom 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 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
* 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
* [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 ` (3 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 6:08 ` David Holsgrove 2012-10-10 6:08 ` [PATCH 6 of 6] debug/gdb: " David Holsgrove ` (2 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 ` (4 preceding siblings ...) 2012-10-10 6:08 ` [PATCH 3 of 6] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove @ 2012-10-10 6:08 ` David Holsgrove 2012-10-10 22:45 ` 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 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
* 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
* 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 6 of 6] debug/gdb: " 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
* [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 03 of 13] config/paths: add a generic custom location infrastructure 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 03 of 13] config/paths: add a generic custom location infrastructure 2012-10-11 4:53 ` [PATCH 00 of 13 ] " 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 02 of 13] " 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 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
* 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
* [PATCH 02 of 13] scripts/functions: add a generic custom location infrastructure 2012-10-11 4:53 ` [PATCH 00 of 13 ] " David Holsgrove 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 04 of 13] kernel/linux: use generic custom infrastructure David Holsgrove ` (11 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
* scripts/functions: add a generic custom location infrastructure 2012-10-11 4:53 ` [PATCH 02 of 13] " 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
* [PATCH 04 of 13] kernel/linux: use generic custom infrastructure 2012-10-11 4:53 ` [PATCH 00 of 13 ] " David Holsgrove 2012-10-11 4:53 ` [PATCH 03 of 13] config/paths: add a generic custom location infrastructure David Holsgrove 2012-10-11 4:53 ` [PATCH 02 of 13] " David Holsgrove @ 2012-10-11 4:53 ` David Holsgrove 2012-10-13 22:00 ` 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 ` (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 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
* 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
* [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 ` (2 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-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 ` (9 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
* 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
* 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
* 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
* [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 ` (3 preceding siblings ...) 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 ` (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 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
* 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
* [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 ` (4 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 01 of 13] libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option 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 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
* 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
* [PATCH 01 of 13] libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option 2012-10-11 4:53 ` [PATCH 00 of 13 ] " David Holsgrove ` (5 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-11 18:53 ` Yann E. MORIN 2012-10-11 4:54 ` [PATCH 08 of 13] debug/gdb: 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 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
* 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
* [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 ` (6 preceding siblings ...) 2012-10-11 4:53 ` [PATCH 01 of 13] libc/glibc: Remove redundant LIBC_GLIBC_TARBALL config option David Holsgrove @ 2012-10-11 4:54 ` David Holsgrove 2012-10-29 23:28 ` Yann E. MORIN 2012-10-11 4:54 ` [PATCH 12 of 13] libc/uClibc: " 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 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
* debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom 2012-10-11 4:54 ` [PATCH 08 of 13] debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom 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
* [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 ` (7 preceding siblings ...) 2012-10-11 4:54 ` [PATCH 08 of 13] debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove @ 2012-10-11 4:54 ` David Holsgrove 2012-10-31 22:55 ` Yann E. MORIN 2012-10-11 4:54 ` [PATCH 10 of 13] libc/glibc: " David Holsgrove ` (4 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 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/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
* [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 ` (8 preceding siblings ...) 2012-10-11 4:54 ` [PATCH 12 of 13] libc/uClibc: " David Holsgrove @ 2012-10-11 4:54 ` David Holsgrove 2012-10-11 4:54 ` [PATCH 09 of 13] libc/{, e}glibc: Add CUSTOM version, " 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 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 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 ` (9 preceding siblings ...) 2012-10-11 4:54 ` [PATCH 10 of 13] libc/glibc: " 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 ` (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 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 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 ` (10 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 13 of 13] libc/newlib: " David Holsgrove 2012-10-22 21:56 ` [PATCH 00 of 13 ] Add CUSTOM version for gcc, binutils, libc, gdb Yann E. MORIN 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 ` (11 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-30 22:20 ` 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 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
* libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom 2012-10-11 4:54 ` [PATCH 13 of 13] libc/newlib: " 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
* 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 13 of 13] libc/newlib: " 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
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 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 6:08 ` [PATCH 3 of 6] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom 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 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 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 02 of 13] " David Holsgrove 2012-10-13 22:00 ` 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 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 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:54 ` [PATCH 08 of 13] debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom David Holsgrove 2012-10-29 23:28 ` Yann E. MORIN 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 10 of 13] libc/glibc: " David Holsgrove 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 13 of 13] libc/newlib: " David Holsgrove 2012-10-30 22:20 ` 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).