From 33d3919c3e7281ac2ea4b830984d77cf42649d0f Mon Sep 17 00:00:00 2001 From: David Holsgrove Date: Thu, 11 Oct 2012 14:39:42 +1000 Subject: 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" [yann.morin.1998@free.fr: fix indentation, don't patch custom dir location] Signed-off-by: "Yann E. MORIN" Message-Id: <288db3721a37844defa5.1349931196@localhost.localdomain> PatchWork-Id: 190789 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} \ -- cgit v0.10.2-6-g49f6