summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2005-07-28 19:36:33 +0000
committerRob Landley <rob@landley.net>2005-07-28 19:36:33 +0000
commitef8f423e908c74e5de49b8dbe02730815f275bfa (patch)
treec5c63db86b458a88cede6d64ead21248ff89b4c7
parente5ba382b9919ca0844c37725bddd7acbdc9ee255 (diff)
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--Makefile4
-rw-r--r--networking/ifconfig.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 807ab5058..33954db05 100644
--- a/Makefile
+++ b/Makefile
@@ -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 1b43a0825..f79fd83be 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;
}