diff options
| author | Christian Eppler <c.eppler@linutonix.de> | 2013-05-15 11:25:41 +0200 |
|---|---|---|
| committer | Christian Eppler <c.eppler@linutonix.de> | 2013-05-15 11:25:41 +0200 |
| commit | c358412dbf0c779910057d4547f673e85b7b12dd (patch) | |
| tree | bab073fcc77246353e5dcd79baf55604f2c33cce /kconfig-frontends/utils | |
| parent | 9e05689406c83ae3020ca32a6ec6387466209138 (diff) | |
Test with master
Signed-off-by: Christian Eppler <c.eppler@linutonix.de>
Diffstat (limited to 'kconfig-frontends/utils')
| -rw-r--r-- | kconfig-frontends/utils/.deps/gettext-gettext.Po | 12 | ||||
| -rwxr-xr-x | kconfig-frontends/utils/.libs/gettext | bin | 0 -> 18884 bytes | |||
| -rw-r--r-- | kconfig-frontends/utils/Makefile | 52 | ||||
| -rwxr-xr-x | kconfig-frontends/utils/gettext | 228 | ||||
| -rwxr-xr-x | kconfig-frontends/utils/tweak | 186 |
5 files changed, 446 insertions, 32 deletions
diff --git a/kconfig-frontends/utils/.deps/gettext-gettext.Po b/kconfig-frontends/utils/.deps/gettext-gettext.Po index 9abc104..cd0e571 100644 --- a/kconfig-frontends/utils/.deps/gettext-gettext.Po +++ b/kconfig-frontends/utils/.deps/gettext-gettext.Po @@ -5,7 +5,7 @@ gettext-gettext.o: gettext.c /usr/include/stdlib.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/lib/gcc/x86_64-linux-gnu/4.7/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/4.4.7/include/stddef.h \ /usr/include/x86_64-linux-gnu/bits/waitflags.h \ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ @@ -25,11 +25,11 @@ gettext-gettext.o: gettext.c /usr/include/stdlib.h \ /usr/include/x86_64-linux-gnu/bits/string2.h ../libs/parser/lkc.h \ ../libs/parser/expr.h /usr/include/assert.h /usr/include/stdio.h \ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/x86_64-linux-gnu/4.7/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/4.4.7/include/stdarg.h \ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ /usr/include/x86_64-linux-gnu/bits/stdio.h ../libs/parser/list.h \ - /usr/lib/gcc/x86_64-linux-gnu/4.7/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/4.4.7/include/stdbool.h \ /usr/include/libintl.h /usr/include/locale.h \ /usr/include/x86_64-linux-gnu/bits/locale.h ../libs/parser/lkc_proto.h @@ -49,7 +49,7 @@ gettext-gettext.o: gettext.c /usr/include/stdlib.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h: -/usr/lib/gcc/x86_64-linux-gnu/4.7/include/stddef.h: +/usr/lib/gcc/x86_64-linux-gnu/4.4.7/include/stddef.h: /usr/include/x86_64-linux-gnu/bits/waitflags.h: @@ -109,7 +109,7 @@ gettext-gettext.o: gettext.c /usr/include/stdlib.h \ /usr/include/wchar.h: -/usr/lib/gcc/x86_64-linux-gnu/4.7/include/stdarg.h: +/usr/lib/gcc/x86_64-linux-gnu/4.4.7/include/stdarg.h: /usr/include/x86_64-linux-gnu/bits/stdio_lim.h: @@ -119,7 +119,7 @@ gettext-gettext.o: gettext.c /usr/include/stdlib.h \ ../libs/parser/list.h: -/usr/lib/gcc/x86_64-linux-gnu/4.7/include/stdbool.h: +/usr/lib/gcc/x86_64-linux-gnu/4.4.7/include/stdbool.h: /usr/include/libintl.h: diff --git a/kconfig-frontends/utils/.libs/gettext b/kconfig-frontends/utils/.libs/gettext Binary files differnew file mode 100755 index 0000000..31cb1bb --- /dev/null +++ b/kconfig-frontends/utils/.libs/gettext diff --git a/kconfig-frontends/utils/Makefile b/kconfig-frontends/utils/Makefile index 6922e11..bb8e4e2 100644 --- a/kconfig-frontends/utils/Makefile +++ b/kconfig-frontends/utils/Makefile @@ -149,15 +149,15 @@ am__can_run_installinfo = \ ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run aclocal-1.11 +ACLOCAL = ${SHELL} /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run aclocal-1.11 AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 0 AM_LFLAGS = -L -P zconf AM_YFLAGS = -t -l -p zconf AR = ar -AUTOCONF = ${SHELL} /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run autoconf -AUTOHEADER = ${SHELL} /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run autoheader -AUTOMAKE = ${SHELL} /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run automake-1.11 +AUTOCONF = ${SHELL} /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run autoconf +AUTOHEADER = ${SHELL} /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run autoheader +AUTOMAKE = ${SHELL} /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run automake-1.11 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 @@ -187,7 +187,7 @@ INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -KCONFIGPARSER_LIB_VERSION = 3.9.0 +KCONFIGPARSER_LIB_VERSION = LD = /usr/bin/ld -m elf_x86_64 LDFLAGS = LEX = flex @@ -199,10 +199,10 @@ LIBTOOL = $(SHELL) $(top_builddir)/libtool LIPO = LN_S = ln -s LTLIBOBJS = -MAKEINFO = ${SHELL} /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run makeinfo +MAKEINFO = ${SHELL} /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/missing --run makeinfo MANIFEST_TOOL = : MKDIR_P = /bin/mkdir -p -MOC = +MOC = /usr/bin/moc-qt4 NM = /usr/bin/nm -B NMEDIT = OBJDUMP = objdump @@ -212,10 +212,10 @@ OTOOL64 = PACKAGE = kconfig-frontends PACKAGE_BUGREPORT = yann.morin.1998@free.fr PACKAGE_NAME = kconfig-frontends -PACKAGE_STRING = kconfig-frontends 3.9.0.0 +PACKAGE_STRING = kconfig-frontends PACKAGE_TARNAME = kconfig-frontends PACKAGE_URL = -PACKAGE_VERSION = 3.9.0.0 +PACKAGE_VERSION = PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = @@ -223,16 +223,16 @@ PKG_CONFIG_PATH = RANLIB = ranlib SED = /bin/sed SET_MAKE = -SHELL = /bin/sh +SHELL = /bin/bash SILENT_MAKEFLAGS = --no-print-directory -s STRIP = strip -VERSION = 3.9.0.0 +VERSION = YACC = bison -y YFLAGS = -abs_builddir = /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends/utils -abs_srcdir = /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends/utils -abs_top_builddir = /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends -abs_top_srcdir = /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends +abs_builddir = /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/utils +abs_srcdir = /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/utils +abs_top_builddir = /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends +abs_top_srcdir = /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends ac_ct_AR = ar ac_ct_CC = gcc ac_ct_CXX = g++ @@ -258,15 +258,15 @@ dvidir = ${docdir} enable_L10n = yes enable_conf = yes enable_frontends = -enable_gconf = yes +enable_gconf = no enable_mconf = yes enable_nconf = yes -enable_qconf = no +enable_qconf = yes enable_utils = yes exec_prefix = ${prefix} gconf_EXTRA_LIBS = -gtk_CFLAGS = -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/harfbuzz -I/usr/include/libxml2 -I/usr/include/libglade-2.0 -gtk_LIBS = -Wl,--export-dynamic -pthread -lgmodule-2.0 -lrt -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 +gtk_CFLAGS = +gtk_LIBS = host = x86_64-unknown-linux-gnu host_alias = host_cpu = x86_64 @@ -275,7 +275,7 @@ host_vendor = unknown htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/epplerc/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/install-sh +install_sh = ${SHELL} /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/scripts/.autostuff/scripts/install-sh intl_CPPFLAGS = intl_LIBS = kf_CFLAGS = -Wall @@ -287,18 +287,18 @@ mandir = ${datarootdir}/man mconf_EXTRA_LIBS = mkdir_p = /bin/mkdir -p nconf_EXTRA_LIBS = -ncurses_LIBS = -lncursesw -ncurses_mconf_CPPFLAGS = -DCURSES_LOC=\"ncursesw/curses.h\" -DNCURSES_WIDECHAR=1 -ncurses_nconf_CPPFLAGS = -I/usr/include/ncursesw -ncurses_panel_menu_LIBS = -lmenuw -lpanelw +ncurses_LIBS = -lncurses +ncurses_mconf_CPPFLAGS = -DCURSES_LOC=\"ncurses.h\" +ncurses_nconf_CPPFLAGS = +ncurses_panel_menu_LIBS = -lmenu -lpanel oldincludedir = /usr/include pdfdir = ${docdir} prefix = /usr/local program_transform_name = s&^&kconfig-& psdir = ${docdir} qconf_EXTRA_LIBS = -qt4_CFLAGS = -qt4_LIBS = +qt4_CFLAGS = -DQT_SHARED -DQT3_SUPPORT -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtSql +qt4_LIBS = -lQt3Support -lQtGui -lQtNetwork -lQtSql -lQtCore root_menu = Configuration sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com diff --git a/kconfig-frontends/utils/gettext b/kconfig-frontends/utils/gettext new file mode 100755 index 0000000..ca7862a --- /dev/null +++ b/kconfig-frontends/utils/gettext @@ -0,0 +1,228 @@ +#! /bin/bash + +# gettext - temporary wrapper script for .libs/gettext +# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.2ubuntu1 +# +# The gettext program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/utils; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games; export PATH; gcc -Wall -g -O2 -o \$progdir/\$file gettext-gettext.o ../libs/parser/.libs/libkconfig-parser.so -Wl,-rpath -Wl,/home/silentchris/linutronix/schulungsunterlagen/schulung/kconfig-frontends/libs/parser/.libs)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.4.2' + notinst_deplibs=' ../libs/parser/libkconfig-parser.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + file="$0" + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + ECHO="printf %s\\n" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ which is used only on +# windows platforms, and (c) all begin with the string --lt- +# (application programs are unlikely to have options which match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's ../libtool value, followed by no. +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=$0 + shift + for lt_opt + do + case "$lt_opt" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%/[^/]*$%%'` + test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=. + lt_dump_F=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%^.*/%%'` + cat "$lt_dump_D/$lt_dump_F" + exit 0 + ;; + --lt-*) + $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n "$lt_option_debug"; then + echo "gettext:gettext:${LINENO}: libtool wrapper (GNU libtool) 2.4.2 Debian-2.4.2-1.2ubuntu1" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + $ECHO "gettext:gettext:${LINENO}: newargv[$lt_dump_args_N]: $lt_arg" + lt_dump_args_N=`expr $lt_dump_args_N + 1` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ + + if test -n "$lt_option_debug"; then + $ECHO "gettext:gettext:${LINENO}: newargv[0]: $progdir/$program" 1>&2 + func_lt_dump_args ${1+"$@"} 1>&2 + fi + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from $@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case " $* " in + *\ --lt-*) + for lt_wr_arg + do + case $lt_wr_arg in + --lt-*) ;; + *) set x "$@" "$lt_wr_arg"; shift;; + esac + shift + done ;; + esac + func_exec_program_core ${1+"$@"} +} + + # Parse options + func_parse_lt_options "$0" ${1+"$@"} + + # Find the directory that this script lives in. + thisdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "$file" | /bin/sed 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /bin/sed 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'gettext' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + printf %s\n "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + func_exec_program ${1+"$@"} + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + $ECHO "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/kconfig-frontends/utils/tweak b/kconfig-frontends/utils/tweak new file mode 100755 index 0000000..bb4d3de --- /dev/null +++ b/kconfig-frontends/utils/tweak @@ -0,0 +1,186 @@ +#!/bin/bash +# Manipulate options in a .config file from the command line + +# If no prefix forced, use the default CONFIG_ +CONFIG_="${CONFIG_-CONFIG_}" + +usage() { + cat >&2 <<EOL +Manipulate options in a .config file from the command line. +Usage: +config options command ... +commands: + --enable|-e option Enable option + --disable|-d option Disable option + --module|-m option Turn option into a module + --set-str option string + Set option to "string" + --set-val option value + Set option to value + --undefine|-u option Undefine option + --state|-s option Print state of option (n,y,m,undef) + + --enable-after|-E beforeopt option + Enable option directly after other option + --disable-after|-D beforeopt option + Disable option directly after other option + --module-after|-M beforeopt option + Turn option into module directly after other option + + commands can be repeated multiple times + +options: + --file config-file .config file to change (default .config) + --keep-case|-k Keep next symbols' case (dont' upper-case it) + +config doesn't check the validity of the .config file. This is done at next +make time. + +By default, config will upper-case the given symbol. Use --keep-case to keep +the case of all following symbols unchanged. + +config uses 'CONFIG_' as the default symbol prefix. Set the environment +variable CONFIG_ to the prefix to use. Eg.: CONFIG_="FOO_" config ... +EOL + exit 1 +} + +checkarg() { + ARG="$1" + if [ "$ARG" = "" ] ; then + usage + fi + case "$ARG" in + ${CONFIG_}*) + ARG="${ARG/${CONFIG_}/}" + ;; + esac + if [ "$MUNGE_CASE" = "yes" ] ; then + ARG="`echo $ARG | tr a-z A-Z`" + fi +} + +set_var() { + local name=$1 new=$2 before=$3 + + name_re="^($name=|# $name is not set)" + before_re="^($before=|# $before is not set)" + if test -n "$before" && grep -Eq "$before_re" "$FN"; then + sed -ri "/$before_re/a $new" "$FN" + elif grep -Eq "$name_re" "$FN"; then + sed -ri "s:$name_re.*:$new:" "$FN" + else + echo "$new" >>"$FN" + fi +} + +undef_var() { + local name=$1 + + sed -ri "/^($name=|# $name is not set)/d" "$FN" +} + +if [ "$1" = "--file" ]; then + FN="$2" + if [ "$FN" = "" ] ; then + usage + fi + shift 2 +else + FN=.config +fi + +if [ "$1" = "" ] ; then + usage +fi + +MUNGE_CASE=yes +while [ "$1" != "" ] ; do + CMD="$1" + shift + case "$CMD" in + --keep-case|-k) + MUNGE_CASE=no + continue + ;; + --refresh) + ;; + --*-after) + checkarg "$1" + A=$ARG + checkarg "$2" + B=$ARG + shift 2 + ;; + -*) + checkarg "$1" + shift + ;; + esac + case "$CMD" in + --enable|-e) + set_var "${CONFIG_}$ARG" "${CONFIG_}$ARG=y" + ;; + + --disable|-d) + set_var "${CONFIG_}$ARG" "# ${CONFIG_}$ARG is not set" + ;; + + --module|-m) + set_var "${CONFIG_}$ARG" "${CONFIG_}$ARG=m" + ;; + + --set-str) + # sed swallows one level of escaping, so we need double-escaping + set_var "${CONFIG_}$ARG" "${CONFIG_}$ARG=\"${1//\"/\\\\\"}\"" + shift + ;; + + --set-val) + set_var "${CONFIG_}$ARG" "${CONFIG_}$ARG=$1" + shift + ;; + --undefine|-u) + undef_var "${CONFIG_}$ARG" + ;; + + --state|-s) + if grep -q "# ${CONFIG_}$ARG is not set" $FN ; then + echo n + else + V="$(grep "^${CONFIG_}$ARG=" $FN)" + if [ $? != 0 ] ; then + echo undef + else + V="${V/#${CONFIG_}$ARG=/}" + V="${V/#\"/}" + V="${V/%\"/}" + V="${V//\\\"/\"}" + echo "${V}" + fi + fi + ;; + + --enable-after|-E) + set_var "${CONFIG_}$B" "${CONFIG_}$B=y" "${CONFIG_}$A" + ;; + + --disable-after|-D) + set_var "${CONFIG_}$B" "# ${CONFIG_}$B is not set" "${CONFIG_}$A" + ;; + + --module-after|-M) + set_var "${CONFIG_}$B" "${CONFIG_}$B=m" "${CONFIG_}$A" + ;; + + # undocumented because it ignores --file (fixme) + --refresh) + yes "" | make oldconfig + ;; + + *) + usage + ;; + esac +done + |
