scripts/build/debug/500-strace.sh
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:47:16 2010 +0200 (2010-07-29)
changeset 2045 fdaa6c7f6dea
parent 1219 2b875ed306c2
child 2154 250cdcc86441
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 # Build script for strace
     2 
     3 do_debug_strace_get() {
     4     CT_GetFile "strace-${CT_STRACE_VERSION}" http://mesh.dl.sourceforge.net/sourceforge/strace/
     5     # Downloading from sourceforge leaves garbage, cleanup
     6     CT_DoExecLog ALL rm -f "${CT_TARBALLS_DIR}/showfiles.php"*
     7 }
     8 
     9 do_debug_strace_extract() {
    10     CT_Extract "strace-${CT_STRACE_VERSION}"
    11     CT_Patch "strace" "${CT_STRACE_VERSION}"
    12 }
    13 
    14 do_debug_strace_build() {
    15     CT_DoStep INFO "Installing strace"
    16     mkdir -p "${CT_BUILD_DIR}/build-strace"
    17     CT_Pushd "${CT_BUILD_DIR}/build-strace"
    18 
    19     CT_DoLog EXTRA "Configuring strace"
    20     CT_DoExecLog ALL                                        \
    21     "${CT_SRC_DIR}/strace-${CT_STRACE_VERSION}/configure"   \
    22         --build=${CT_BUILD}                                 \
    23         --host=${CT_TARGET}                                 \
    24         --prefix=/usr
    25 
    26     CT_DoLog EXTRA "Building strace"
    27     CT_DoExecLog ALL make
    28 
    29     CT_DoLog EXTRA "Installing strace"
    30     CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install
    31 
    32     CT_Popd
    33     CT_EndStep
    34 }
    35