scripts/build/companion_tools.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu May 26 22:51:03 2011 +0200 (2011-05-26)
changeset 2481 30644208c955
permissions -rw-r--r--
configure: add possibility to set arbitrary variable in check_for

If check_for is able to find the required prog/inc/lib, allow it to
set an arbitrary variable to 'y'. This variable is then pushed down
to the kconfig definition.

For example:
has_or_abort prog=foobar kconfig=has_foobar

If foobar is available, it yields a kconfig variable defaulting to y:
config CONFIGURE_has_foobar
bool
default y

If foobar is missing, it yields a kconfig variable defaulting to n:
config CONFIGURE_has_foobar
bool

Thus it is possible to depends on that variabel to show/hide options:
config SOME_FEATURE
bool
prompt "Some feature"
depends on CONFIGURE_has_foobar

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