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" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <288db3721a37844defa5.1349931196@localhost.localdomain>
PatchWork-Id: 190789
This commit is contained in:
David Holsgrove 2012-10-11 14:39:42 +10:00
parent 2ace8ed697
commit 33d3919c3e
2 changed files with 40 additions and 9 deletions

View File

@ -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

View File

@ -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} \