From 4da0e221ba2244921862d46cdeefbc8ab5808eed Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 17 Aug 2011 09:31:17 +0800 Subject: [SHELL] Allow building without LINEO support Simply specify --disable-lineno to configure. Signed-off-by: David S. Miller Signed-off-by: Herbert Xu --- ChangeLog | 4 ++++ configure.ac | 5 +++++ src/var.c | 4 ++++ src/var.h | 6 ++++++ 4 files changed, 19 insertions(+) diff --git a/ChangeLog b/ChangeLog index 02bfda0..4f0d122 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-08-17 David S. Miller + + * Allow building without LINEO support. + 2011-07-26 Harald van Dijk * Avoid imaxdiv when only one of the results is wanted. diff --git a/configure.ac b/configure.ac index 5cd6e95..c6fb401 100644 --- a/configure.ac +++ b/configure.ac @@ -131,5 +131,10 @@ if test "$use_libedit" != "yes"; then else export LIBS="$LIBS -ledit" fi +AC_ARG_ENABLE(lineno, AS_HELP_STRING(--disable-lineno, \ + [Disable LINENO support])) +if test "$enable_lineno" != "no"; then + AC_DEFINE([WITH_LINENO], 1, [Define if you build with -DWITH_LINENO]) +fi AC_CONFIG_FILES([Makefile src/Makefile]) AC_OUTPUT diff --git a/src/var.c b/src/var.c index ecc8c90..027beff 100644 --- a/src/var.c +++ b/src/var.c @@ -101,7 +101,9 @@ struct var varinit[] = { { 0, VSTRFIXED|VTEXTFIXED, "PS2=> ", 0 }, { 0, VSTRFIXED|VTEXTFIXED, "PS4=+ ", 0 }, { 0, VSTRFIXED|VTEXTFIXED, "OPTIND=1", getoptsreset }, +#ifdef WITH_LINENO { 0, VSTRFIXED|VTEXTFIXED, linenovar, 0 }, +#endif #ifndef SMALL { 0, VSTRFIXED|VTEXTFIXED|VUNSET, "TERM\0", 0 }, { 0, VSTRFIXED|VTEXTFIXED|VUNSET, "HISTSIZE\0", sethistsize }, @@ -335,9 +337,11 @@ lookupvar(const char *name) struct var *v; if ((v = *findvar(hashvar(name), name)) && !(v->flags & VUNSET)) { +#ifdef WITH_LINENO if (v == &vlineno && v->text == linenovar) { fmtstr(linenovar+7, sizeof(linenovar)-7, "%d", lineno); } +#endif return strchrnul(v->text, '=') + 1; } return NULL; diff --git a/src/var.h b/src/var.h index 54f7b2d..79ee71a 100644 --- a/src/var.h +++ b/src/var.h @@ -88,9 +88,15 @@ extern struct var varinit[]; #define vps2 (&vps1)[1] #define vps4 (&vps2)[1] #define voptind (&vps4)[1] +#ifdef WITH_LINENO #define vlineno (&voptind)[1] +#endif #ifndef SMALL +#ifdef WITH_LINENO #define vterm (&vlineno)[1] +#else +#define vterm (&voptind)[1] +#endif #define vhistsize (&vterm)[1] #endif -- cgit 1.4.1