scripts/build/debug/100-dmalloc.sh
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Feb 25 21:19:31 2013 +0100 (2013-02-25)
changeset 3185 f89f8e6f8766
parent 2154 250cdcc86441
child 3200 0fc56e62cecf
permissions -rw-r--r--
Makefile: fix parrallel (-j) installs

Currently, we would remove previously installed patches before
installing the new ones. Unfortunately, that does not play well
with heavily parallel installs.

Now, we consider it is the responsibility of the user to first
uninstall any previous version before installing a new one.

Reported-by: Markos Chandras <markos.chandras@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
yann@479
     1
# Build script for the dmalloc debug library facility
yann@479
     2
yann@479
     3
do_debug_dmalloc_get() {
yann@479
     4
    CT_GetFile "dmalloc-${CT_DMALLOC_VERSION}" http://dmalloc.com/releases/
yann@479
     5
}
yann@479
     6
yann@479
     7
do_debug_dmalloc_extract() {
yann@1126
     8
    CT_Extract "dmalloc-${CT_DMALLOC_VERSION}"
yann@1901
     9
    CT_Patch "dmalloc" "${CT_DMALLOC_VERSION}"
yann@479
    10
}
yann@479
    11
yann@479
    12
do_debug_dmalloc_build() {
yann@1480
    13
    local -a extra_config
yann@1480
    14
yann@479
    15
    CT_DoStep INFO "Installing dmalloc"
yann@479
    16
    CT_DoLog EXTRA "Configuring dmalloc"
yann@479
    17
yann@479
    18
    mkdir -p "${CT_BUILD_DIR}/build-dmalloc"
yann@479
    19
    cd "${CT_BUILD_DIR}/build-dmalloc"
yann@479
    20
yann@479
    21
    case "${CT_CC_LANG_CXX}" in
yann@1480
    22
        y)  extra_config+=("--enable-cxx");;
yann@1480
    23
        *)  extra_config+=("--disable-cxx");;
yann@479
    24
    esac
yann@1587
    25
    case "${CT_THREADS}" in
yann@1587
    26
        none)   extra_config+=("--disable-threads");;
yann@1587
    27
        *)      extra_config+=("--enable-threads");;
yann@479
    28
    esac
yann@479
    29
    case "${CT_SHARED_LIBS}" in
yann@1480
    30
        y)  extra_config+=("--enable-shlib");;
yann@1480
    31
        *)  extra_config+=("--disable-shlib");;
yann@479
    32
    esac
yann@479
    33
yann@1480
    34
    CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
yann@479
    35
yann@2343
    36
    CT_DoExecLog CFG                                            \
yann@479
    37
    LD="${CT_TARGET}-ld"                                        \
yann@479
    38
    AR="${CT_TARGET}-ar"                                        \
yann@1074
    39
    CFLAGS=-fPIC                                                \
yann@479
    40
    "${CT_SRC_DIR}/dmalloc-${CT_DMALLOC_VERSION}/configure"     \
yann@479
    41
        --prefix=/usr                                           \
yann@479
    42
        --build="${CT_BUILD}"                                   \
yann@479
    43
        --host="${CT_TARGET}"                                   \
yann@1480
    44
        "${extra_config[@]}"
yann@479
    45
yann@479
    46
    CT_DoLog EXTRA "Building dmalloc"
yann@857
    47
    CT_DoExecLog ALL make
yann@479
    48
yann@479
    49
    CT_DoLog EXTRA "Installing dmalloc"
yann@669
    50
    CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" installincs installlib
yann@1219
    51
    CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" installutil
yann@479
    52
yann@479
    53
    CT_EndStep
yann@479
    54
}