This is vodz' latest patch. Sorry it took so long...
[oweals/busybox.git] / busybox.sh
index cab248f11dca9fd3bbef6b3850e20f1b70230f9b..7c3deb20e01eef5b348cd646d158e9b775a1f040 100755 (executable)
@@ -1,4 +1,16 @@
 #!/bin/sh
-ls -1 `sed -n '/^#define/{s/.*BB_// ; s/$/.c/p; }' busybox.def.h | \
-tr [:upper:] [:lower:]` 2> /dev/null | sed -e 's/\.c$/\.o/g'
+
+export LC_ALL=POSIX
+export LC_CTYPE=POSIX
+
+RAW=` \
+    gcc -E -dM ${1:-Config.h} | \
+    sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1.c/gp;' \
+    | tr A-Z a-z | sort
+`
+test "${RAW}" != "" ||  exit
+if [ -d "$BB_SRC_DIR" ]; then cd $BB_SRC_DIR; fi
+# By running $RAW through "ls", we avoid listing
+# source files that don't exist.
+ls $RAW 2>/dev/null | tr '\n' ' '