scripts/build/debug/400-ltrace.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Mar 06 16:05:20 2010 +0100 (2010-03-06)
branch1.6
changeset 1825 019368610072
parent 1688 ffdf4dc4b582
child 1821 57c71b197ee6
permissions -rw-r--r--
debug/ltrace: fix building on x86

ltrace uses i386 and x86_64, whereas crosstool-NG use x86 for both cases.
Fix that by detecting what bitness we're building for, and pass appropriate
i386 or x86_64 to ltrace's configure.
(transplanted from 55adc838cd68d3692e5eeeb38afb3d619b8b0c1a)
yann@479
     1
# Build script for ltrace
yann@479
     2
yann@479
     3
do_debug_ltrace_get() {
yann@1687
     4
    CT_GetFile "ltrace_${CT_LTRACE_VERSION}.orig" .tar.gz               \
yann@1687
     5
               {ftp,http}://ftp.de.debian.org/debian/pool/main/l/ltrace/
yann@479
     6
    # Create a link so that the following steps are easier to do:
yann@1688
     7
    CT_Pushd "${CT_TARBALLS_DIR}"
yann@523
     8
    ltrace_ext=$(CT_GetFileExtension "ltrace_${CT_LTRACE_VERSION}.orig")
yann@1687
     9
    ln -sf "ltrace_${CT_LTRACE_VERSION}.orig${ltrace_ext}"              \
yann@1687
    10
           "ltrace-${CT_LTRACE_VERSION}${ltrace_ext}"
yann@1688
    11
    CT_Popd
yann@479
    12
}
yann@479
    13
yann@479
    14
do_debug_ltrace_extract() {
yann@1126
    15
    CT_Extract "ltrace-${CT_LTRACE_VERSION}"
yann@1126
    16
    CT_Patch "ltrace-${CT_LTRACE_VERSION}"
yann@1147
    17
    # ltrace uses ppc instead of powerpc for the arch name
yann@1147
    18
    # create a symlink to get it to build for powerpc
yann@1147
    19
    CT_Pushd "${CT_SRC_DIR}/ltrace-${CT_LTRACE_VERSION}/sysdeps/linux-gnu"
yann@1147
    20
    CT_DoExecLog ALL ln -sf ppc powerpc
yann@1147
    21
    CT_Popd
yann@479
    22
}
yann@479
    23
yann@479
    24
do_debug_ltrace_build() {
yann@1820
    25
    local ltrace_host
yann@1820
    26
yann@479
    27
    CT_DoStep INFO "Installing ltrace"
yann@479
    28
yann@973
    29
    CT_DoLog EXTRA "Copying sources to build dir"
yann@1678
    30
    CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/ltrace-${CT_LTRACE_VERSION}" \
yann@1678
    31
                            "${CT_BUILD_DIR}/build-ltrace"
yann@1678
    32
    CT_Pushd "${CT_BUILD_DIR}/build-ltrace"
yann@973
    33
yann@479
    34
    CT_DoLog EXTRA "Configuring ltrace"
jocke@1685
    35
    # ltrace-0.5.3, and later, don't use GNU Autotools configure script anymore
jocke@1685
    36
    if [ "${CT_LTRACE_0_5_3_or_later}" = "y" ]; then
yann@1820
    37
        case "${CT_ARCH}:${CT_ARCH_BITNESS}" in
yann@1820
    38
            x86:32) ltrace_host="i386";;
yann@1820
    39
            x86:64) ltrace_host="x86_64";;
yann@1820
    40
            *)      ltrace_host="${CT_ARCH}";;
yann@1820
    41
        esac
yann@1820
    42
        CC="${CT_TARGET}-${CT_CC}"      \
yann@1820
    43
        HOST="${ltrace_host}"           \
yann@1820
    44
        CFLAGS="${CT_TARGET_CFLAGS}"    \
jocke@1685
    45
        CT_DoExecLog ALL ./configure --prefix=/usr
jocke@1685
    46
    else
jocke@1685
    47
        CT_DoExecLog ALL        \
jocke@1685
    48
        ./configure             \
jocke@1685
    49
            --build=${CT_BUILD} \
jocke@1685
    50
            --host=${CT_TARGET} \
jocke@1685
    51
            --prefix=/usr
jocke@1685
    52
    fi
yann@479
    53
yann@479
    54
    CT_DoLog EXTRA "Building ltrace"
yann@669
    55
    CT_DoExecLog ALL make
yann@479
    56
yann@479
    57
    CT_DoLog EXTRA "Installing ltrace"
yann@1219
    58
    CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install
yann@479
    59
yann@479
    60
    CT_Popd
yann@479
    61
    CT_EndStep
yann@479
    62
}
yann@479
    63