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