svn commit: trunk/busybox: include scripts

landley at busybox.net landley at busybox.net
Mon Feb 13 19:16:43 UTC 2006


Author: landley
Date: 2006-02-13 11:16:41 -0800 (Mon, 13 Feb 2006)
New Revision: 13955

Log:
New USE() macros

For each CONFIG_SYMBOL, include/bb_config.h now has both ENABLE_SYMBOL
and USE_SYMBOL(x).  ENABLE_SYMBOL is still always defined (1 or 0) so that
if(ENABLE) should optimize out when it's zero.  The USE_SYMBOL(X) will only
splice in X if the symbol is defined, otherwise it'll be empty.

Thus we can convert this:

#ifdef CONFIG_ARGS
    opt = bb_getopt_ulflags(argc, argv, "ab:c"
#ifdef CONFIG_THINGY
        "d:"
#endif
        , &bvalue
#ifdef CONFIG_THINGY
        , &thingy
#endif
    );
#endif

into this:
    if (ENABLE_ARGS) {
        opt = bb_getopt_ulflags(argc, argv, "ab:c" USE_THINGY("d:"), &bvalue
                USE_THINGY(, &thingy));
    }

And it should produce the same code.

Unlike the old versions in include/_usage.h, the new USE_SYMBOL(x) can handle
commas in its arguments (as shown above).  (The _usage.h file is obsolete and
no longer generated.)

Nobody should need to include config.h directly anymore, bb_config.h should
define all the configuration stuff we need.  Someday, the CONFIG_SYMBOL
versions should go away in favor of ENABLE_SYMBOL and USE_SYMBOL().

Thanks to vodz for the new version of bb_mkdep.c that works with function
macros.


Modified:
   trunk/busybox/Makefile
   trunk/busybox/include/platform.h
   trunk/busybox/scripts/bb_mkdep.c


Changeset:

Sorry, the patch is too large to include (1242 lines).
Please use ViewCVS to see it!

http://busybox.net/cgi-bin/viewcvs.cgi?view=rev&root=svn&rev=13955



More information about the busybox-cvs mailing list