#ifdef reduction infrastructure, based on an argument between Shaun Jackman,
Rob Landley, and others.
Currently CONFIG options are defined or undefined, so we chop out code with
#ifdefs, ala:
#ifdef CONFIG_THING
stuff();
#endif
This creates a new header file, bb_config.h, which sets the CONFIG entry to 1
or 0, and lets us do:
if(CONFIG_THING) stuff();
And let the compiler do dead code elimination to get rid of it. (Note: #ifdef
will still work because for the 1 case it's a static const int, not a #define.)
diff --git a/include/libbb.h b/include/libbb.h
index 1aa7b41..a544465 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -41,7 +41,7 @@
#include <features.h>
-#include "config.h"
+#include "bb_config.h"
#ifdef CONFIG_SELINUX
#include <selinux/selinux.h>
#endif