scripts/build/companion_tools.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 28 01:07:31 2011 +0200 (2011-03-28)
changeset 2368 482a006e5b18
permissions -rw-r--r--
cc/gcc: fix linking with static PPL 0.11+

PPL 0.11+ installs three libs: lippl, libppl_c and libpwl.
libppl_c has a dependency on libpwl (at least for watchdog stuff).

While gcc correctly links with libppl and libppl_c, it does not
pull libpwl in. In case of shared libs, this is not a problem, as
libppl_c has a NEEDED dependency on libpwl. But for static libs,
that does not work. Although libppl_c.la exists and has a correct
dependency on lipwl, somehow gcc misses it. So we have to force
pulling libpwl when needed.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
richard@1727
     1
# Wrapper to build the companion tools facilities
richard@1727
     2
richard@1727
     3
# List all companion tools facilities, and parse their scripts
richard@1727
     4
CT_COMP_TOOLS_FACILITY_LIST=
richard@1727
     5
for f in "${CT_LIB_DIR}/scripts/build/companion_tools/"*.sh; do
richard@1727
     6
    _f="$(basename "${f}" .sh)"
richard@1727
     7
    _f="${_f#???-}"
richard@1727
     8
    __f="CT_COMP_TOOLS_${_f}"
richard@1727
     9
    if [ "${!__f}" = "y" ]; then
richard@1727
    10
        CT_DoLog DEBUG "Enabling companion tools '${_f}'"
richard@1727
    11
        . "${f}"
richard@1727
    12
        CT_COMP_TOOLS_FACILITY_LIST="${CT_COMP_TOOLS_FACILITY_LIST} ${_f}"
richard@1727
    13
    else
richard@1727
    14
        CT_DoLog DEBUG "Disabling companion tools '${_f}'"
richard@1727
    15
    fi
richard@1727
    16
done
richard@1727
    17
richard@1727
    18
# Download the companion tools facilities
richard@1727
    19
do_companion_tools_get() {
richard@1727
    20
    for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
richard@1727
    21
        do_companion_tools_${f}_get
richard@1727
    22
    done
richard@1727
    23
}
richard@1727
    24
richard@1727
    25
# Extract and patch the companion tools facilities
richard@1727
    26
do_companion_tools_extract() {
richard@1727
    27
    for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
richard@1727
    28
        do_companion_tools_${f}_extract
richard@1727
    29
    done
richard@1727
    30
}
richard@1727
    31
richard@1727
    32
# Build the companion tools facilities
richard@1727
    33
do_companion_tools() {
richard@1727
    34
    for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
richard@1727
    35
        do_companion_tools_${f}_build
richard@1727
    36
    done
richard@1727
    37
}
richard@1727
    38