summaryrefslogtreecommitdiff
path: root/applets
diff options
context:
space:
mode:
Diffstat (limited to 'applets')
-rw-r--r--applets/busybox.c4
-rwxr-xr-xapplets/busybox.mkll3
-rwxr-xr-xapplets/busybox.sh11
3 files changed, 11 insertions, 7 deletions
diff --git a/applets/busybox.c b/applets/busybox.c
index 7582647..ee745e7 100644
--- a/applets/busybox.c
+++ b/applets/busybox.c
@@ -4,10 +4,6 @@
#include <string.h>
#include <errno.h>
-#ifndef BB_INIT
-#undef BB_FEATURE_LINUXRC
-#endif
-
static int been_there_done_that = 0;
/* It has been alledged that doing such things can
diff --git a/applets/busybox.mkll b/applets/busybox.mkll
index fa1bff2..90f28e8 100755
--- a/applets/busybox.mkll
+++ b/applets/busybox.mkll
@@ -4,7 +4,8 @@
DF="busybox.def.h"
MF="busybox.c"
-LIST="$(sed -n '/^#define/{s/^#define BB_FEATURE_.*//g;s/^#define //p;}' $DF)"
+#LIST="$(sed -n '/^#define/{s/^#define BB_FEATURE_.*//g;s/^#define //p;}' $DF)"
+LIST="$(cpp $DF -dM | sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1/gp;' | sort)"
for def in ${LIST}; do
i=`sed -n '/^#ifdef \<'$def'\>.*/,/^#endif/{ s/.*\"\(.*\)\".*\(_BB_DIR_[A-Z_]*\).*$/\2\/\1/gp; }' $MF`
diff --git a/applets/busybox.sh b/applets/busybox.sh
index 304ac87..c4e241f 100755
--- a/applets/busybox.sh
+++ b/applets/busybox.sh
@@ -1,3 +1,10 @@
#!/bin/sh
-sed -n -e 's/^#define.*BB_FEATURE.*$//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;' \
- -e '/^#define/{s/.*bb_//;s/$/.o/p;}' busybox.def.h
+
+# I added in the extra "ls" so only source files that
+# actually exist will show up in the compile list.
+ls -1 ` \
+ cpp busybox.def.h -dM | \
+ sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1.c/gp;' \
+ | tr [:upper:] [:lower:] | sort
+` 2>/dev/null | sed -e 's/\.c$/\.o/g'
+