summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/binutils/binutils.in19
-rw-r--r--scripts/build/binutils/binutils.sh17
2 files changed, 33 insertions, 3 deletions
diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in
index 8cb2165..b01c2da 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 7c260d7..0aeb393 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}"
}