author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Sun Jul 08 11:02:38 2007 +0000 (2007-07-08) | |
changeset 216 | 8520332106c9 |
parent 161 | be4484f10ac7 |
child 265 | 4d5beae7cb87 |
permissions | -rw-r--r-- |
yann@149 | 1 |
# This will build and install sstrip to run on host and sstrip target files |
yann@149 | 2 |
|
yann@149 | 3 |
is_enabled="${CT_SSTRIP}" |
yann@149 | 4 |
|
yann@149 | 5 |
case "${CT_SSTRIP_FROM}" in |
yann@149 | 6 |
ELFkickers) |
yann@161 | 7 |
do_print_filename() { |
yann@161 | 8 |
echo "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}" |
yann@161 | 9 |
} |
yann@149 | 10 |
do_tools_sstrip_get() { |
yann@149 | 11 |
CT_GetFile "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}" \ |
yann@149 | 12 |
http://www.muppetlabs.com/~breadbox/pub/software |
yann@149 | 13 |
} |
yann@149 | 14 |
do_tools_sstrip_extract() { |
yann@149 | 15 |
CT_ExtractAndPatch "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}" |
yann@149 | 16 |
} |
yann@149 | 17 |
do_tools_sstrip_build() { |
yann@149 | 18 |
CT_DoStep INFO "Installing sstrip" |
yann@149 | 19 |
mkdir -p "${CT_BUILD_DIR}/build-strip" |
yann@149 | 20 |
cd "${CT_BUILD_DIR}/build-strip" |
yann@149 | 21 |
( cd "${CT_SRC_DIR}/ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}/sstrip"; tar cf - . ) |tar xf - |
yann@149 | 22 |
|
yann@149 | 23 |
CT_DoLog EXTRA "Building sstrip" |
yann@149 | 24 |
make CC="${CT_CC_NATIVE}" sstrip 2>&1 |CT_DoLog ALL |
yann@149 | 25 |
|
yann@149 | 26 |
CT_DoLog EXTRA "Installing sstrip" |
yann@149 | 27 |
install -m 755 sstrip "${CT_PREFIX_DIR}/bin/${CT_TARGET}-sstrip" 2>&1 |CT_DoLog ALL |
yann@149 | 28 |
|
yann@149 | 29 |
CT_EndStep |
yann@149 | 30 |
} |
yann@149 | 31 |
;; |
yann@149 | 32 |
|
yann@149 | 33 |
buildroot) |
yann@149 | 34 |
sstrip_url='http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/sstrip/sstrip.c' |
yann@161 | 35 |
do_print_filename() { |
yann@161 | 36 |
echo "sstrip.c" |
yann@161 | 37 |
} |
yann@149 | 38 |
do_tools_sstrip_get() { |
yann@149 | 39 |
# With this one, we must handle the download by ourselves, |
yann@149 | 40 |
# we can't leave the job to the classic CT_GetFile. |
yann@161 | 41 |
if [ -f "${CT_TARBALLS_DIR}/sstrip.c" ]; then |
yann@149 | 42 |
return 0 |
yann@149 | 43 |
fi |
yann@204 | 44 |
if [ -f "${CT_LOCAL_TARBALLS_DIR}/sstrip.c" ]; then |
yann@204 | 45 |
CT_DoLog EXTRA "Copying \"sstrip.c\" from local copy" |
yann@204 | 46 |
cp -v "${CT_LOCAL_TARBALLS_DIR}/sstrip.c" \ |
yann@204 | 47 |
"${CT_TARBALLS_DIR}/sstrip.c" 2>&1 |CT_DoLog ALL |
yann@204 | 48 |
return 0 |
yann@204 | 49 |
fi |
yann@161 | 50 |
CT_Pushd "${CT_TARBALLS_DIR}" |
yann@154 | 51 |
CT_DoLog EXTRA "Retrieving \"sstrip\" (from buildroot's svn)" |
yann@149 | 52 |
http_data=`lynx -dump "${sstrip_url}"` |
yann@149 | 53 |
link=`echo -en "${http_data}" \ |
yann@149 | 54 |
|egrep '\[[[:digit:]]+\]download' \ |
yann@149 | 55 |
|sed -r -e 's/.*\[([[:digit:]]+)\]download.*/\1/;'` |
yann@149 | 56 |
rev_url=`echo -en "${http_data}" \ |
yann@149 | 57 |
|egrep '^ *8\.' \ |
yann@149 | 58 |
|sed -r -e 's/^ *'${link}'\. +(.+)$/\1/;'` |
yann@149 | 59 |
CT_DoGetFile "${rev_url}" 2>&1 |CT_DoLog ALL |
yann@149 | 60 |
mv sstrip.c?* sstrip.c |
yann@149 | 61 |
CT_Popd |
yann@149 | 62 |
} |
yann@149 | 63 |
do_tools_sstrip_extract() { |
yann@149 | 64 |
# We'll let buildroot guys take care of sstrip maintenance and patching. |
yann@161 | 65 |
mkdir -p "${CT_SRC_DIR}/sstrip" |
yann@161 | 66 |
cp -v "${CT_TARBALLS_DIR}/sstrip.c" "${CT_SRC_DIR}/sstrip" |CT_DoLog ALL |
yann@149 | 67 |
} |
yann@149 | 68 |
do_tools_sstrip_build() { |
yann@149 | 69 |
CT_DoStep INFO "Installing sstrip" |
yann@149 | 70 |
mkdir -p "${CT_BUILD_DIR}/build-sstrip" |
yann@149 | 71 |
cd "${CT_BUILD_DIR}/build-sstrip" |
yann@149 | 72 |
|
yann@149 | 73 |
CT_DoLog EXTRA "Building sstrip" |
yann@149 | 74 |
${CT_CC_NATIVE} -Wall -o sstrip "${CT_SRC_DIR}/sstrip/sstrip.c" 2>&1 |CT_DoLog ALL |
yann@149 | 75 |
|
yann@149 | 76 |
CT_DoLog EXTRA "Installing sstrip" |
yann@149 | 77 |
install -m 755 sstrip "${CT_PREFIX_DIR}/bin/${CT_TARGET}-sstrip" 2>&1 |CT_DoLog ALL |
yann@149 | 78 |
|
yann@149 | 79 |
CT_EndStep |
yann@149 | 80 |
} |
yann@149 | 81 |
;; |
yann@161 | 82 |
|
yann@161 | 83 |
*) do_print_filename() { |
yann@161 | 84 |
: |
yann@161 | 85 |
} |
yann@161 | 86 |
do_tools_sstrip_get() { |
yann@161 | 87 |
: |
yann@161 | 88 |
} |
yann@161 | 89 |
do_tools_sstrip_extract() { |
yann@161 | 90 |
: |
yann@161 | 91 |
} |
yann@161 | 92 |
do_tools_sstrip_build() { |
yann@161 | 93 |
: |
yann@161 | 94 |
} |
yann@161 | 95 |
;; |
yann@149 | 96 |
esac |