summaryrefslogtreecommitdiff
path: root/package/busybox/patches/000-upstream-buildsys.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/patches/000-upstream-buildsys.patch')
-rw-r--r--package/busybox/patches/000-upstream-buildsys.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/package/busybox/patches/000-upstream-buildsys.patch b/package/busybox/patches/000-upstream-buildsys.patch
new file mode 100644
index 0000000000..1d5a1c2308
--- /dev/null
+++ b/package/busybox/patches/000-upstream-buildsys.patch
@@ -0,0 +1,19 @@
+--- a/applets/applet_tables.c
++++ b/applets/applet_tables.c
+@@ -80,8 +80,15 @@ int main(int argc, char **argv)
+
+ printf("#define NUM_APPLETS %u\n", NUM_APPLETS);
+ if (NUM_APPLETS == 1) {
++ char *dash_to_underscore, *p;
+ printf("#define SINGLE_APPLET_STR \"%s\"\n", applets[0].name);
+- printf("#define SINGLE_APPLET_MAIN %s_main\n", applets[0].name);
++ /* Example: "ether-wake" -> "ether_wake" */
++ p = dash_to_underscore = strdup(applets[0].name);
++ p--;
++ while (*++p)
++ if (*p == '-')
++ *p = '_';
++ printf("#define SINGLE_APPLET_MAIN %s_main\n", dash_to_underscore);
+ }
+ printf("\n");
+