scripts/build/binutils/sstrip.sh
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:47:16 2010 +0200 (2010-07-29)
changeset 2045 fdaa6c7f6dea
parent 1856 e23ffb5c7928
child 2324 68ec66ee2ff9
permissions -rw-r--r--
cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer

Idea and know-how taken from CodeSourcery build script.

Normal build:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb77f3000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76e8000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75a1000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb757a000)
/lib/ld-linux.so.2 (0xb77f4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb755c000)

CC_STATIC_LIBSTDCXX=y:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb7843000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76e6000)
/lib/ld-linux.so.2 (0xb7844000)

I made CC_STATIC_LIBSTDCXX default=y since I think
it is always desirable.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
     1 # This will build and install sstrip to run on host and sstrip target files
     2 
     3 do_sstrip_get() { :; }
     4 do_sstrip_extract() { :; }
     5 do_sstrip() { :; }
     6 
     7 if [ "${CT_SSTRIP}" = "y" ]; then
     8     do_sstrip_get() {
     9         CT_GetFile sstrip .c http://git.buildroot.net/buildroot/plain/toolchain/sstrip
    10     }
    11 
    12     do_sstrip_extract() {
    13         # We leave the sstrip maintenance to the buildroot people:
    14         # -> any fix-up goes directly there
    15         # -> we don't have patches for it
    16         # -> we don't need to patch it
    17         # -> just create a directory in src/, and copy it there.
    18         CT_DoExecLog DEBUG mkdir -p "${CT_SRC_DIR}/sstrip"
    19         CT_DoExecLog DEBUG cp -v "${CT_TARBALLS_DIR}/sstrip.c" "${CT_SRC_DIR}/sstrip"
    20     }
    21 
    22     do_sstrip() {
    23         CT_DoStep INFO "Installing sstrip"
    24         mkdir -p "${CT_BUILD_DIR}/build-sstrip"
    25         cd "${CT_BUILD_DIR}/build-sstrip"
    26 
    27         CT_DoLog EXTRA "Building sstrip"
    28         CT_DoExecLog ALL "${CT_HOST}-gcc" -Wall -o sstrip "${CT_SRC_DIR}/sstrip/sstrip.c"
    29 
    30         CT_DoLog EXTRA "Installing sstrip"
    31         CT_DoExecLog ALL install -m 755 sstrip "${CT_PREFIX_DIR}/bin/${CT_TARGET}-sstrip"
    32 
    33         CT_EndStep
    34     }
    35 fi