diff options
author | David S. Miller <davem@davemloft.net> | 2011-08-17 09:31:17 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2011-08-17 09:34:47 +0800 |
commit | 4da0e221ba2244921862d46cdeefbc8ab5808eed (patch) | |
tree | 929df8e803e84716319de3a1f94a085509bc652e | |
parent | [ARITH] Avoid imaxdiv when only one of the results is wanted (diff) | |
download | dash-4da0e221ba2244921862d46cdeefbc8ab5808eed.tar.gz dash-4da0e221ba2244921862d46cdeefbc8ab5808eed.zip |
[SHELL] Allow building without LINEO support
Simply specify --disable-lineno to configure. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | src/var.c | 4 | ||||
-rw-r--r-- | src/var.h | 6 |
4 files changed, 19 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 02bfda0..4f0d122 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-08-17 David S. Miller <davem@davemloft.net> + + * Allow building without LINEO support. + 2011-07-26 Harald van Dijk <harald@gigawatt.nl> * 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 |