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:
parent
e5ba382b99
commit
ef8f423e90
4
Makefile
4
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:
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user