scripts/build/tools/200-sstrip.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jul 17 21:17:19 2008 +0000 (2008-07-17)
changeset 678 d5fa60201dcb
parent 669 ca740b4c4262
child 713 e074abc50374
permissions -rw-r--r--
Remove the check for absolutely needed tools now ./configure checks for them.
Move the check for 'lynx' to where it is needed (that is when sstrip from buildroot is selected).

/trunk/scripts/build/tools/200-sstrip.sh | 1 1 0 0 +
/trunk/scripts/crosstool.sh | 5 0 5 0 -----
2 files changed, 1 insertion(+), 5 deletions(-)
     1 # This will build and install sstrip to run on host and sstrip target files
     2 
     3 is_enabled="${CT_SSTRIP}"
     4 
     5 case "${CT_SSTRIP_FROM}" in
     6     ELFkickers)
     7         do_print_filename() {
     8             echo "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}"
     9         }
    10         do_tools_sstrip_get() {
    11             CT_GetFile "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}"     \
    12                        http://www.muppetlabs.com/~breadbox/pub/software
    13         }
    14         do_tools_sstrip_extract() {
    15             CT_ExtractAndPatch "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}"
    16         }
    17         do_tools_sstrip_build() {
    18             CT_DoStep INFO "Installing sstrip"
    19             mkdir -p "${CT_BUILD_DIR}/build-strip"
    20             cd "${CT_BUILD_DIR}/build-strip"
    21             ( cd "${CT_SRC_DIR}/ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}/sstrip"; tar cf - . ) |tar xf -
    22 
    23             CT_DoLog EXTRA "Building sstrip"
    24             CT_DoExecLog ALL make CC="${CT_CC_NATIVE}" sstrip
    25             
    26             CT_DoLog EXTRA "Installing sstrip"
    27             CT_DoExecLog ALL install -m 755 sstrip "${CT_PREFIX_DIR}/bin/${CT_TARGET}-sstrip"
    28 
    29             CT_EndStep
    30         }
    31     ;;
    32 
    33     buildroot)
    34         CT_HasOrAbort lynx
    35         sstrip_url='http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/sstrip/sstrip.c'
    36         do_print_filename() {
    37             echo "sstrip.c"
    38         }
    39         do_tools_sstrip_get() {
    40             # With this one, we must handle the download by ourselves,
    41             # we can't leave the job to the classic CT_GetFile.
    42             if [ -f "${CT_TARBALLS_DIR}/sstrip.c" ]; then
    43                 return 0
    44             fi
    45             if [ -f "${CT_LOCAL_TARBALLS_DIR}/sstrip.c" ]; then
    46                 CT_DoLog EXTRA "Using 'sstrip' from local storage"
    47                 ln -sf "${CT_LOCAL_TARBALLS_DIR}/sstrip.c"  \
    48                        "${CT_TARBALLS_DIR}/sstrip.c"        2>&1 |CT_DoLog ALL
    49                 return 0
    50             fi
    51             CT_Pushd "${CT_TARBALLS_DIR}"
    52             CT_DoLog EXTRA "Retrieving 'sstrip' from network"
    53             http_data=$(lynx -dump "${sstrip_url}")
    54             link=$(echo -en "${http_data}"                          \
    55                   |egrep '\[[[:digit:]]+\]download'                 \
    56                   |sed -r -e 's/.*\[([[:digit:]]+)\]download.*/\1/;')
    57             rev_url=$(echo -en "${http_data}"                       \
    58                      |egrep '^ *8\.'                                \
    59                      |sed -r -e 's/^ *'${link}'\. +(.+)$/\1/;')
    60             CT_DoGetFile "${rev_url}" 2>&1 |CT_DoLog ALL
    61             mv -v sstrip.c?* sstrip.c 2>&1 |CT_DoLog DEBUG
    62             if [ "${CT_SAVE_TARBALLS}" = "y" ]; then
    63                 CT_DoLog EXTRA "Saving 'sstrip.c' to local storage"
    64                 CT_DoExecLog ALL cp -v sstrip.c "${CT_LOCAL_TARBALLS_DIR}"
    65             fi
    66             CT_Popd
    67         }
    68         do_tools_sstrip_extract() {
    69             # We'll let buildroot guys take care of sstrip maintenance and patching.
    70             mkdir -p "${CT_SRC_DIR}/sstrip"
    71             CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/sstrip.c" "${CT_SRC_DIR}/sstrip"
    72         }
    73         do_tools_sstrip_build() {
    74             CT_DoStep INFO "Installing sstrip"
    75             mkdir -p "${CT_BUILD_DIR}/build-sstrip"
    76             cd "${CT_BUILD_DIR}/build-sstrip"
    77 
    78             CT_DoLog EXTRA "Building sstrip"
    79             CT_DoExecLog ALL ${CT_CC_NATIVE} -Wall -o sstrip "${CT_SRC_DIR}/sstrip/sstrip.c"
    80 
    81             CT_DoLog EXTRA "Installing sstrip"
    82             CT_DoExecLog ALL install -m 755 sstrip "${CT_PREFIX_DIR}/bin/${CT_TARGET}-sstrip"
    83 
    84             CT_EndStep
    85         }
    86     ;;
    87 
    88     *)  do_print_filename() {
    89             :
    90         }
    91         do_tools_sstrip_get() {
    92             :
    93         }
    94         do_tools_sstrip_extract() {
    95             :
    96         }
    97         do_tools_sstrip_build() {
    98             :
    99         }
   100     ;;
   101 esac