summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/binutils/elf2flt.in23
-rw-r--r--scripts/build/binutils/elf2flt.sh26
2 files changed, 40 insertions, 9 deletions
diff --git a/config/binutils/elf2flt.in b/config/binutils/elf2flt.in
index fc178a0..2f8a09f 100644
--- a/config/binutils/elf2flt.in
+++ b/config/binutils/elf2flt.in
@@ -20,8 +20,26 @@ config ELF2FLT_CVS_SNAPSHOT
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 @@ config ELF2FLT_CVS_SNAPSHOT_SPEC
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 --git a/scripts/build/binutils/elf2flt.sh b/scripts/build/binutils/elf2flt.sh
index 89fc6c7..d9d8e0e 100644
--- a/scripts/build/binutils/elf2flt.sh
+++ b/scripts/build/binutils/elf2flt.sh
@@ -13,17 +13,27 @@ if [ -n "${CT_ARCH_BINFMT_FLAT}" ]; then
# 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 using custom directory location, nothing to do
+ if [ "${CT_ELF2FLT_CUSTOM}" = "y" \
+ -a -d "${CT_SRC_DIR}/elf2flt-${CT_ELF2FLT_VERSION}" ]; then
+ return 0
+ fi
+ CT_Extract "elf2flt-${CT_ELF2FLT_VERSION}"
+ CT_Patch "elf2flt" "${CT_ELF2FLT_VERSION}"
}
# Build elf2flt for build -> target
@@ -111,7 +121,7 @@ do_elf2flt_backend() {
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} \