diff options
author | Rob Landley | 2005-07-28 19:36:33 +0000 |
---|---|---|
committer | Rob Landley | 2005-07-28 19:36:33 +0000 |
commit | ef8f423e908c74e5de49b8dbe02730815f275bfa (patch) | |
tree | c5c63db86b458a88cede6d64ead21248ff89b4c7 | |
parent | e5ba382b9919ca0844c37725bddd7acbdc9ee255 (diff) | |
download | busybox-ef8f423e908c74e5de49b8dbe02730815f275bfa.zip busybox-ef8f423e908c74e5de49b8dbe02730815f275bfa.tar.gz |
Erik pointed out that in the last try at the #ifdef cleanup
infrastructure, the compiler isn't smart enough to replace const static
int with the constant, and allocates space for each set of them,
bloating the executable something fierce. Oops.
So now, we #define ENABLE_XXX to 0 or 1 for each CONFIG_XXX (which
is still there so the 1000+ #ifdef/#ifndef tests don't have to be
replaced wholesale). Changed the test instance in networking/ifconfig.c
to use this.
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | networking/ifconfig.c | 2 |
2 files changed, 4 insertions, 2 deletions
@@ -214,7 +214,9 @@ include/config.h: .config include/bb_config.h: include/config.h echo "#ifndef AUTOCONF_INCLUDED" > $@ - sed -e 's/#undef \(.*\)/static const int \1 = 0;/' < $< >> $@ + sed -e 's/#undef CONFIG_\(.*\)/#define ENABLE_\1 0/' \ + -e 's/#define CONFIG_\(.*\)/#define CONFIG_\1\n#define ENABLE_\1/' \ + < $< >> $@ echo "#endif" >> $@ finished2: diff --git a/networking/ifconfig.c b/networking/ifconfig.c index 1b43a08..f79fd83 100644 --- a/networking/ifconfig.c +++ b/networking/ifconfig.c @@ -559,7 +559,7 @@ int ifconfig_main(int argc, char **argv) continue; } /* end of while-loop */ - if (CONFIG_FEATURE_CLEAN_UP) close(sockfd); + if (ENABLE_FEATURE_CLEAN_UP) close(sockfd); return goterr; } |