# HG changeset patch # User "Yann E. MORIN" # Date 1180717243 0 # Node ID 39d8baac9c6936e9697586be72e3948d721b6e25 # Parent 567f1673d59dacb50d8a35c0ecaef4f668abb424 Add the first tool facility: sstrip. diff -r 567f1673d59d -r 39d8baac9c69 config/tools/sstrip.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config/tools/sstrip.in Fri Jun 01 17:00:43 2007 +0000 @@ -0,0 +1,46 @@ +# Configuration file for sstrip tool facility + +menuconfig SSTRIP + bool + prompt "sstrip" + default n + help + The sstrip utility, to maximise the striping of ELF binaries + (executables and libraries). + +if SSTRIP + +choice + bool + prompt "Use sstrip from:" + +config SSTRIP_ELFKICKERS + bool + prompt "ELFkickers" + help + Use the original, ageing version of sstrip from ELFkickers. + It seems to be fully functional, but not maintained. + +config SSTRIP_BUILDROOT + bool + prompt "buildroot" + help + Use the version from buildroot. It comes from the original + ELFkickers, but is somewhat maintained by the buildroot guys. + +endchoice + +config SSTRIP_FROM + string + default "ELFkickers" if SSTRIP_ELFKICKERS + default "buildroot" if SSTRIP_BUILDROOT + +if SSTRIP_ELFKICKERS + +config SSTRIP_ELFKICKERS_VERSION + string + default "2.0a" + +endif + +endif diff -r 567f1673d59d -r 39d8baac9c69 patches/ELFkickers/2.0a/100-use_CC_not_gcc.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ELFkickers/2.0a/100-use_CC_not_gcc.patch Fri Jun 01 17:00:43 2007 +0000 @@ -0,0 +1,12 @@ +diff -dur ELFkickers.orig/sstrip/Makefile ELFkickers/sstrip/Makefile +--- ELFkickers.orig/sstrip/Makefile 2001-03-24 12:58:27.000000000 +0100 ++++ ELFkickers/sstrip/Makefile 2007-05-31 21:17:18.000000000 +0200 +@@ -1,7 +1,7 @@ + # Makefile for sstrip + + sstrip: sstrip.c +- gcc -ggdb -Wall -W -o sstrip sstrip.c ++ $(CC) -Wall -W -o sstrip sstrip.c + + clean: + rm -f sstrip diff -r 567f1673d59d -r 39d8baac9c69 scripts/build/tools/sstrip.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/build/tools/sstrip.sh Fri Jun 01 17:00:43 2007 +0000 @@ -0,0 +1,71 @@ +# This will build and install sstrip to run on host and sstrip target files + +is_enabled="${CT_SSTRIP}" + +case "${CT_SSTRIP_FROM}" in + ELFkickers) + do_tools_sstrip_get() { + CT_GetFile "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}" \ + http://www.muppetlabs.com/~breadbox/pub/software + } + do_tools_sstrip_extract() { + CT_ExtractAndPatch "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}" + } + do_tools_sstrip_build() { + CT_DoStep INFO "Installing sstrip" + mkdir -p "${CT_BUILD_DIR}/build-strip" + cd "${CT_BUILD_DIR}/build-strip" + ( cd "${CT_SRC_DIR}/ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}/sstrip"; tar cf - . ) |tar xf - + + CT_DoLog EXTRA "Building sstrip" + make CC="${CT_CC_NATIVE}" sstrip 2>&1 |CT_DoLog ALL + + CT_DoLog EXTRA "Installing sstrip" + install -m 755 sstrip "${CT_PREFIX_DIR}/bin/${CT_TARGET}-sstrip" 2>&1 |CT_DoLog ALL + + CT_EndStep + } + ;; + + buildroot) + sstrip_url='http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/sstrip/sstrip.c' + do_tools_sstrip_get() { + # With this one, we must handle the download by ourselves, + # we can't leave the job to the classic CT_GetFile. + if [ -f "${CT_SRC_DIR}/sstrip/sstrip.c" ]; then + return 0 + fi + CT_Pushd "${CT_SRC_DIR}" + CT_DoLog EXTRA "Retrieving sstrip (buildroot)" + mkdir -p sstrip + cd sstrip + http_data=`lynx -dump "${sstrip_url}"` + link=`echo -en "${http_data}" \ + |egrep '\[[[:digit:]]+\]download' \ + |sed -r -e 's/.*\[([[:digit:]]+)\]download.*/\1/;'` + rev_url=`echo -en "${http_data}" \ + |egrep '^ *8\.' \ + |sed -r -e 's/^ *'${link}'\. +(.+)$/\1/;'` + CT_DoGetFile "${rev_url}" 2>&1 |CT_DoLog ALL + mv sstrip.c?* sstrip.c + CT_Popd + } + do_tools_sstrip_extract() { + # We'll let buildroot guys take care of sstrip maintenance and patching. + : + } + do_tools_sstrip_build() { + CT_DoStep INFO "Installing sstrip" + mkdir -p "${CT_BUILD_DIR}/build-sstrip" + cd "${CT_BUILD_DIR}/build-sstrip" + + CT_DoLog EXTRA "Building sstrip" + ${CT_CC_NATIVE} -Wall -o sstrip "${CT_SRC_DIR}/sstrip/sstrip.c" 2>&1 |CT_DoLog ALL + + CT_DoLog EXTRA "Installing sstrip" + install -m 755 sstrip "${CT_PREFIX_DIR}/bin/${CT_TARGET}-sstrip" 2>&1 |CT_DoLog ALL + + CT_EndStep + } + ;; +esac