xref: /nrf52832-nimble/rt-thread/tools/kconfig-frontends/frontends/kconfig.in (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero#!/usr/bin/env bash
2*10465441SEvalZero
3*10465441SEvalZeroLIST="@KCFG_LIST@"
4*10465441SEvalZero
5*10465441SEvalZeromain() {
6*10465441SEvalZero    local kcfg="${1}"; shift
7*10465441SEvalZero    local k
8*10465441SEvalZero
9*10465441SEvalZero    case "${kcfg}" in
10*10465441SEvalZero    "")         error "what should I do (see -h)?\n";;
11*10465441SEvalZero    -h|--help)  help; exit 0;;
12*10465441SEvalZero    -*)         error "no such option '%s'\n" "${kcfg}";;
13*10465441SEvalZero    esac
14*10465441SEvalZero
15*10465441SEvalZero    for k in ${LIST}; do
16*10465441SEvalZero        if [ "${kcfg}" = "${k}" ]; then
17*10465441SEvalZero            exec kconfig-${kcfg} "${@}"
18*10465441SEvalZero            error "cannot execute tool '%s'\n" "${kcfg}"
19*10465441SEvalZero        fi
20*10465441SEvalZero    done
21*10465441SEvalZero    error "no such tool '%s'\n" "${kcfg}"
22*10465441SEvalZero}
23*10465441SEvalZero
24*10465441SEvalZerohelp() {
25*10465441SEvalZero    cat <<-_EOF_
26*10465441SEvalZeroNAME
27*10465441SEvalZero    kconfig - meta-frontend to kconfig tools
28*10465441SEvalZero
29*10465441SEvalZeroSYNOPSIS
30*10465441SEvalZero    kconfig -h|--help
31*10465441SEvalZero    kconfig <kconfig-tool> [option ...]
32*10465441SEvalZero
33*10465441SEvalZeroDESCRIPTION
34*10465441SEvalZero    kconfig is the meta-frontend to all other kconfig tools:
35*10465441SEvalZero        ${LIST}
36*10465441SEvalZero
37*10465441SEvalZero    The acceptable options depend on what tool is being called.
38*10465441SEvalZero_EOF_
39*10465441SEvalZero}
40*10465441SEvalZero
41*10465441SEvalZeroerror() {
42*10465441SEvalZero    local fmt="${1}"; shift
43*10465441SEvalZero
44*10465441SEvalZero    printf "kconfig: ${fmt}" "${@}" >&2
45*10465441SEvalZero    exit 1
46*10465441SEvalZero}
47*10465441SEvalZero
48*10465441SEvalZeromain "${@}"
49