diff options
-rw-r--r-- | config/binutils/elf2flt.in | 23 | ||||
-rw-r--r-- | scripts/build/binutils/elf2flt.sh | 26 |
2 files changed, 40 insertions, 9 deletions
diff --git a/config/binutils/elf2flt.in b/config/binutils/elf2flt.in index fc178a0b..2f8a09fc 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 89fc6c72..d9d8e0e1 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} \ |