From 2ace8ed697e17859376364d02b88b8539a2bf9af Mon Sep 17 00:00:00 2001 From: David Holsgrove Date: Thu, 11 Oct 2012 14:39:41 +1000 Subject: [PATCH] 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" [yann.morin.1998@free.fr: fix indentation, don't patch custom dir location] Signed-off-by: "Yann E. MORIN" Message-Id: <7a604b5df9c84a1e20c3.1349931195@localhost.localdomain> PatchWork-Id: 190788 --- config/binutils/binutils.in | 19 +++++++++++++++++++ scripts/build/binutils/binutils.sh | 17 ++++++++++++++--- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in index 8cb21650..b01c2da9 100644 --- a/config/binutils/binutils.in +++ b/config/binutils/binutils.in @@ -50,8 +50,26 @@ config BINUTILS_V_2_16_1a 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 @@ config BINUTILS_VERSION 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 --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh index 7c260d7c..0aeb3931 100644 --- a/scripts/build/binutils/binutils.sh +++ b/scripts/build/binutils/binutils.sh @@ -4,13 +4,24 @@ # 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() { + # If using custom directory location, nothing to do + if [ "${CT_BINUTILS_CUSTOM}" = "y" \ + -a -d "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}" ]; then + return 0 + fi + CT_Extract "binutils-${CT_BINUTILS_VERSION}" CT_Patch "binutils" "${CT_BINUTILS_VERSION}" }