reorganize applet table. Eliminates pointers to names.
Should be a big win for libbusybox. busybox wins too:
text data bss dec hex filename
776524 929 9100 786553 c0079 busybox_old
775903 929 9100 785932 bfe0c busybox_unstripped
diff --git a/applets/Kbuild b/applets/Kbuild
index 289c5de..b9dba03 100644
--- a/applets/Kbuild
+++ b/applets/Kbuild
@@ -8,7 +8,7 @@
obj-y += applets.o
hostprogs-y:=
-hostprogs-y += usage
+hostprogs-y += usage applet_tables
always:= $(hostprogs-y)
@@ -19,7 +19,15 @@
HOSTCFLAGS_usage.o = -I$(srctree)/include
-applets/applets.o: include/usage_compressed.h
+applets/applets.o: include/usage_compressed.h include/applet_tables.h
+
applets/usage: .config $(srctree)/applets/usage_compressed
+
include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
$(call cmd,gen_usage_compressed)
+
+# Two-stage file creation, to avoid having target file still created
+# in case applet_tables fails
+include/applet_tables.h: applets/applet_tables
+ applets/applet_tables >include/applet_tables.h.tmp
+ mv include/applet_tables.h.tmp include/applet_tables.h