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