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.
This commit is contained in:
Rob Landley 2005-07-28 19:36:33 +00:00
parent e5ba382b99
commit ef8f423e90
2 changed files with 4 additions and 2 deletions

View File

@ -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:

View File

@ -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;
}