yann@479: # This will build and install sstrip to run on host and sstrip target files yann@479: yann@479: is_enabled="${CT_SSTRIP}" yann@479: yann@479: case "${CT_SSTRIP_FROM}" in yann@479: ELFkickers) yann@479: do_print_filename() { yann@479: echo "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}" yann@479: } yann@479: do_tools_sstrip_get() { yann@479: CT_GetFile "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}" \ yann@479: http://www.muppetlabs.com/~breadbox/pub/software yann@479: } yann@479: do_tools_sstrip_extract() { yann@479: CT_ExtractAndPatch "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}" yann@479: } yann@479: do_tools_sstrip_build() { yann@479: CT_DoStep INFO "Installing sstrip" yann@479: mkdir -p "${CT_BUILD_DIR}/build-strip" yann@479: cd "${CT_BUILD_DIR}/build-strip" yann@479: ( cd "${CT_SRC_DIR}/ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}/sstrip"; tar cf - . ) |tar xf - yann@479: yann@479: CT_DoLog EXTRA "Building sstrip" yann@479: make CC="${CT_CC_NATIVE}" sstrip 2>&1 |CT_DoLog ALL yann@479: yann@479: CT_DoLog EXTRA "Installing sstrip" yann@479: install -m 755 sstrip "${CT_PREFIX_DIR}/bin/${CT_TARGET}-sstrip" 2>&1 |CT_DoLog ALL yann@479: yann@479: CT_EndStep yann@479: } yann@479: ;; yann@479: yann@479: buildroot) yann@479: sstrip_url='http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/sstrip/sstrip.c' yann@479: do_print_filename() { yann@479: echo "sstrip.c" yann@479: } yann@479: do_tools_sstrip_get() { yann@479: # With this one, we must handle the download by ourselves, yann@479: # we can't leave the job to the classic CT_GetFile. yann@479: if [ -f "${CT_TARBALLS_DIR}/sstrip.c" ]; then yann@479: return 0 yann@479: fi yann@479: if [ -f "${CT_LOCAL_TARBALLS_DIR}/sstrip.c" ]; then yann@523: CT_DoLog EXTRA "Using 'sstrip' from local storage" yann@479: ln -sf "${CT_LOCAL_TARBALLS_DIR}/sstrip.c" \ yann@479: "${CT_TARBALLS_DIR}/sstrip.c" 2>&1 |CT_DoLog ALL yann@479: return 0 yann@479: fi yann@479: CT_Pushd "${CT_TARBALLS_DIR}" yann@523: CT_DoLog EXTRA "Retrieving 'sstrip' from network" yann@523: http_data=$(lynx -dump "${sstrip_url}") yann@523: link=$(echo -en "${http_data}" \ yann@479: |egrep '\[[[:digit:]]+\]download' \ yann@523: |sed -r -e 's/.*\[([[:digit:]]+)\]download.*/\1/;') yann@523: rev_url=$(echo -en "${http_data}" \ yann@479: |egrep '^ *8\.' \ yann@523: |sed -r -e 's/^ *'${link}'\. +(.+)$/\1/;') yann@479: CT_DoGetFile "${rev_url}" 2>&1 |CT_DoLog ALL yann@479: mv -v sstrip.c?* sstrip.c 2>&1 |CT_DoLog DEBUG yann@479: if [ "${CT_SAVE_TARBALLS}" = "y" ]; then yann@523: CT_DoLog EXTRA "Saving 'sstrip.c' to local storage" yann@479: cp -v sstrip.c "${CT_LOCAL_TARBALLS_DIR}" 2>&1 |CT_DoLog DEBUG yann@479: fi yann@479: CT_Popd yann@479: } yann@479: do_tools_sstrip_extract() { yann@479: # We'll let buildroot guys take care of sstrip maintenance and patching. yann@479: mkdir -p "${CT_SRC_DIR}/sstrip" yann@479: cp -v "${CT_TARBALLS_DIR}/sstrip.c" "${CT_SRC_DIR}/sstrip" |CT_DoLog ALL yann@479: } yann@479: do_tools_sstrip_build() { yann@479: CT_DoStep INFO "Installing sstrip" yann@479: mkdir -p "${CT_BUILD_DIR}/build-sstrip" yann@479: cd "${CT_BUILD_DIR}/build-sstrip" yann@479: yann@479: CT_DoLog EXTRA "Building sstrip" yann@479: ${CT_CC_NATIVE} -Wall -o sstrip "${CT_SRC_DIR}/sstrip/sstrip.c" 2>&1 |CT_DoLog ALL yann@479: yann@479: CT_DoLog EXTRA "Installing sstrip" yann@479: install -m 755 sstrip "${CT_PREFIX_DIR}/bin/${CT_TARGET}-sstrip" 2>&1 |CT_DoLog ALL yann@479: yann@479: CT_EndStep yann@479: } yann@479: ;; yann@479: yann@479: *) do_print_filename() { yann@479: : yann@479: } yann@479: do_tools_sstrip_get() { yann@479: : yann@479: } yann@479: do_tools_sstrip_extract() { yann@479: : yann@479: } yann@479: do_tools_sstrip_build() { yann@479: : yann@479: } yann@479: ;; yann@479: esac