tools: move sstrip to the binary utilities menu

sstrip is now alone in its 'tools' menu, and we will probably never gain
any other 'tool'. Besides, sstrip is just strip, but a little bit more
agressive, so it deserves going to the 'binary utilities' menu.
This commit is contained in:
Yann E. MORIN" 2010-03-17 00:21:57 +01:00
parent 2244007325
commit b0fece4689
10 changed files with 28 additions and 109 deletions

View File

@ -40,5 +40,6 @@ endchoice
source config/binutils/binutils.in
source config/binutils/elf2flt.in
source config/binutils/sstrip.in
endmenu

View File

@ -1,11 +1,17 @@
# Configuration file for sstrip tool facility
# depends on ! BACKEND
config TOOL_sstrip
comment "sstrip"
config SSTRIP
bool
prompt "sstrip"
help
The sstrip utility, to maximise the striping of ELF binaries
(executables and libraries).
if SSTRIP
choice
bool
prompt "Use sstrip from:"
@ -40,3 +46,5 @@ config SSTRIP_ELFKICKERS_VERSION
default "2.0a"
endif
endif # SSTRIP

View File

@ -6,6 +6,5 @@ source config/binutils.in
source config/cc.in
source config/libc.in
source config/debug.in
source config/tools.in
source config/companion_libs.in
source config/companion_tools.in

View File

@ -19,14 +19,12 @@ KERNEL_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/conf
CC_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/cc/*.in))
LIBC_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/libc/*.in))
DEBUG_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/debug/*.in))
TOOL_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(wildcard $(CT_LIB_DIR)/config/tools/*.in))
# Build the list of generated config files
GEN_CONFIG_FILES = config.gen/arch.in \
config.gen/kernel.in \
config.gen/cc.in \
config.gen/libc.in \
config.gen/tools.in \
config.gen/debug.in
# ... and how to access them:
# Generated files depends on config.mk (this file) because it has the
@ -57,7 +55,6 @@ KERNELS = $(patsubst config/kernel/%.in,%,$(KERNEL_CONFIG_FILES))
CCS = $(patsubst config/cc/%.in,%,$(CC_CONFIG_FILES))
LIBCS = $(patsubst config/libc/%.in,%,$(LIBC_CONFIG_FILES))
DEBUGS = $(patsubst config/debug/%.in,%,$(DEBUG_CONFIG_FILES))
TOOLS = $(patsubst config/tools/%.in,%,$(TOOL_CONFIG_FILES))
#-----------------------------------------------------------
# Helper functions to ease building generated config files
@ -116,12 +113,11 @@ endef
# the given list, source-ing the associated files conditionnaly:
# $1 : destination file
# $2 : name of entries family (eg. Tools, Debug...)
# $3 : prefix for the menu entries (eg. TOOL, DEBUG)
# $3 : prefix for the menu entries (eg. DEBUG)
# $4 : base directory containing config files
# $5 : list of config entries (eg. for tools: "libelf sstrip"..., and for
# debug: "dmalloc duma gdb"...)
# Example to build the tools generated config file:
# $(call build_gen_menu_in,config.gen/tools.in,Tools,TOOL,config/tools,$(TOOLS))
# $5 : list of config entries (eg. for debug: "dmalloc duma gdb"...)
# Example to build the generated debug config file:
# $(call build_gen_menu_in,config.gen/debug.in,Debug,DEBUG,config/debug,$(DEBUGS))
define build_gen_menu_in
@$(ECHO) ' IN $(1)'
$(SILENT)(echo "# $(2) facilities menu"; \
@ -160,9 +156,6 @@ config.gen/cc.in: $(CC_CONFIG_FILES)
config.gen/libc.in: $(LIBC_CONFIG_FILES)
$(call build_gen_choice_in,$@,C library,LIBC,config/libc,$(LIBCS))
config.gen/tools.in: $(TOOL_CONFIG_FILES)
$(call build_gen_menu_in,$@,Tools,TOOL,config/tools,$(TOOLS))
config.gen/debug.in: $(DEBUG_CONFIG_FILES)
$(call build_gen_menu_in,$@,Debug,DEBUG,config/debug,$(DEBUGS))

View File

@ -1,3 +0,0 @@
menu "Tools facilities"
source config.gen/tools.in
endmenu

View File

@ -1,16 +1,20 @@
# This will build and install sstrip to run on host and sstrip target files
do_tools_sstrip_get() { :; }
do_tools_sstrip_extract() { :; }
do_tools_sstrip() { :; }
case "${CT_SSTRIP_FROM}" in
ELFkickers)
do_tools_sstrip_get() {
do_sstrip_get() {
CT_GetFile "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}" \
http://www.muppetlabs.com/~breadbox/pub/software
}
do_tools_sstrip_extract() {
do_sstrip_extract() {
CT_Extract "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}"
CT_Patch "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}"
}
do_tools_sstrip_build() {
do_sstrip() {
CT_DoStep INFO "Installing sstrip"
CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}/sstrip" \
"${CT_BUILD_DIR}/build-strip"
@ -27,10 +31,10 @@ case "${CT_SSTRIP_FROM}" in
;;
buildroot)
do_tools_sstrip_get() {
do_sstrip_get() {
CT_GetFile sstrip .c http://git.buildroot.net/buildroot/plain/toolchain/sstrip
}
do_tools_sstrip_extract() {
do_sstrip_extract() {
# We leave the sstrip maintenance to the buildroot people:
# -> any fix-up goes directly there
# -> we don't have patches for it
@ -39,7 +43,7 @@ case "${CT_SSTRIP_FROM}" in
CT_DoExecLog DEBUG mkdir -p "${CT_SRC_DIR}/sstrip"
CT_DoExecLog DEBUG cp -v "${CT_TARBALLS_DIR}/sstrip.c" "${CT_SRC_DIR}/sstrip"
}
do_tools_sstrip_build() {
do_sstrip() {
CT_DoStep INFO "Installing sstrip"
mkdir -p "${CT_BUILD_DIR}/build-sstrip"
cd "${CT_BUILD_DIR}/build-sstrip"
@ -53,15 +57,4 @@ case "${CT_SSTRIP_FROM}" in
CT_EndStep
}
;;
*) do_tools_sstrip_get() {
:
}
do_tools_sstrip_extract() {
:
}
do_tools_sstrip_build() {
:
}
;;
esac

View File

@ -1,38 +0,0 @@
# Wrapper to build the tools facilities
# List all tools facilities, and parse their scripts
CT_TOOLS_FACILITY_LIST=
for f in "${CT_LIB_DIR}/scripts/build/tools/"*.sh; do
_f="$(basename "${f}" .sh)"
_f="${_f#???-}"
__f="CT_TOOL_${_f}"
if [ "${!__f}" = "y" ]; then
CT_DoLog DEBUG "Enabling tool '${_f}'"
. "${f}"
CT_TOOLS_FACILITY_LIST="${CT_TOOLS_FACILITY_LIST} ${_f}"
else
CT_DoLog DEBUG "Disabling tool '${_f}'"
fi
done
# Download the tools facilities
do_tools_get() {
for f in ${CT_TOOLS_FACILITY_LIST}; do
do_tools_${f}_get
done
}
# Extract and patch the tools facilities
do_tools_extract() {
for f in ${CT_TOOLS_FACILITY_LIST}; do
do_tools_${f}_extract
done
}
# Build the tools facilities
do_tools() {
for f in ${CT_TOOLS_FACILITY_LIST}; do
do_tools_${f}_build
done
}

View File

@ -1,34 +0,0 @@
# Template file for a tool utility
# Put your download code here
do_tools_foobar_get() {
# For example:
# CT_GetFile "foobar-${CT_FOOBAR_VERSION}" http://foobar.com/releases/
:
}
# Put your extract code here
do_tools_foobar_extract() {
# For example:
# CT_Extract "foobar-${CT_FOOBAR_VERSION}"
# CT_Patch "foobar-${CT_FOOBAR_VERSION}"
:
}
# Put your build code here
do_tools_foobar_build() {
# For example:
# mkdir -p "${CT_BUILD_DIR}/build-foobar"
# CT_Pushd "${CT_BUILD_DIR}/build-foobar"
# CT_DoExecLog ALL \
# "${CT_SRC_DIR}/foobar-${CT_FOOBAR_VERSION}/configure" \
# --build=${CT_BUILD} \
# --host=${CT_TARGET} \
# --prefix=/usr \
# --foobar-options
# CT_DoExecLog ALL make
# CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" install
# CT_Popd
:
}

View File

@ -121,9 +121,9 @@ CT_DoLog INFO "Building environment variables"
. "${CT_LIB_DIR}/scripts/build/companion_libs/libelf.sh"
. "${CT_LIB_DIR}/scripts/build/binutils/binutils.sh"
. "${CT_LIB_DIR}/scripts/build/binutils/elf2flt.sh"
. "${CT_LIB_DIR}/scripts/build/binutils/sstrip.sh"
. "${CT_LIB_DIR}/scripts/build/libc/${CT_LIBC}.sh"
. "${CT_LIB_DIR}/scripts/build/cc/${CT_CC}.sh"
. "${CT_LIB_DIR}/scripts/build/tools.sh"
. "${CT_LIB_DIR}/scripts/build/debug.sh"
# Target tuple: CT_TARGET needs a little love:
@ -504,9 +504,9 @@ if [ -z "${CT_RESTART}" ]; then
do_libelf_get
do_binutils_get
do_elf2flt_get
do_sstrip_get
do_cc_get
do_libc_get
do_tools_get
do_debug_get
CT_EndStep
fi
@ -534,9 +534,9 @@ if [ -z "${CT_RESTART}" ]; then
do_libelf_extract
do_binutils_extract
do_elf2flt_extract
do_sstrip_extract
do_cc_extract
do_libc_extract
do_tools_extract
do_debug_extract
CT_EndStep
fi

View File

@ -26,6 +26,7 @@ CT_STEPS := libc_check_config \
libelf \
binutils \
elf2flt \
sstrip \
cc_core_pass_1 \
libc_headers \
libc_start_files \
@ -37,7 +38,6 @@ CT_STEPS := libc_check_config \
mpfr_target \
libelf_target \
binutils_target \
tools \
debug \
finish \