From ef8f423e908c74e5de49b8dbe02730815f275bfa Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Thu, 28 Jul 2005 19:36:33 +0000 Subject: [PATCH] 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. --- Makefile | 4 +++- networking/ifconfig.c | 2 +- 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; }