mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-04-09 12:21:18 +00:00
Add the first tool facility: sstrip.
This commit is contained in:
parent
51554bf237
commit
d472c9b951
46
config/tools/sstrip.in
Normal file
46
config/tools/sstrip.in
Normal file
@ -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
|
12
patches/ELFkickers/2.0a/100-use_CC_not_gcc.patch
Normal file
12
patches/ELFkickers/2.0a/100-use_CC_not_gcc.patch
Normal file
@ -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
|
71
scripts/build/tools/sstrip.sh
Normal file
71
scripts/build/tools/sstrip.sh
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user