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