aboutsummaryrefslogtreecommitdiff
path: root/applets
diff options
context:
space:
mode:
Diffstat (limited to 'applets')
-rw-r--r--applets/Kbuild9
-rw-r--r--applets/usage.c17
-rwxr-xr-xapplets/usage_compressed19
3 files changed, 42 insertions, 3 deletions
diff --git a/applets/Kbuild b/applets/Kbuild
index 9bb4b6292..c95c09d97 100644
--- a/applets/Kbuild
+++ b/applets/Kbuild
@@ -12,7 +12,10 @@ obj-y += busybox.o
12 12
13applets/applets.o: include/usage_compressed.h 13applets/applets.o: include/usage_compressed.h
14 14
15include/usage_compressed.h: $(srctree)/include/usage.h 15hostprogs-y += usage
16 @$(MAKE) $(build)=scripts 16always := $(hostprogs-y)
17HOSTCFLAGS_usage.o = -I$(srctree)/include
18
19include/usage_compressed.h: $(srctree)/include/usage.h applets/usage
17 @echo ' GEN include/usage_compressed.h' 20 @echo ' GEN include/usage_compressed.h'
18 @$(srctree)/scripts/usage_compressed include/usage_compressed.h scripts 21 @$(srctree)/applets/usage_compressed include/usage_compressed.h applets
diff --git a/applets/usage.c b/applets/usage.c
new file mode 100644
index 000000000..d888fa93d
--- /dev/null
+++ b/applets/usage.c
@@ -0,0 +1,17 @@
1/* vi: set sw=4 ts=4: */
2#include <unistd.h>
3
4#include "../include/autoconf.h"
5#include "../include/busybox.h"
6
7static const char usage_messages[] =
8#define MAKE_USAGE
9#include "usage.h"
10#include "applets.h"
11;
12
13int main(void)
14{
15 write(1, usage_messages, sizeof(usage_messages));
16 return 0;
17}
diff --git a/applets/usage_compressed b/applets/usage_compressed
new file mode 100755
index 000000000..ab164aa12
--- /dev/null
+++ b/applets/usage_compressed
@@ -0,0 +1,19 @@
1#!/bin/sh
2
3target="$1"
4loc="$2"
5
6test "$target" || exit 1
7test "$loc" || loc=.
8test -x "$loc/usage" || exit 1
9test "$SED" || SED=sed
10
11sz=`"$loc/usage" | wc -c` || exit 1
12
13exec >"$target"
14
15echo 'static const char packed_usage[] = '
16"$loc/usage" | bzip2 -1 | od -v -t x1 \
17| $SED -e 's/^[^ ]*//' -e 's/ \(..\)/\\x\1/g' -e 's/^\(.*\)$/"\1"/'
18echo ';'
19echo '#define SIZEOF_usage_messages' `expr 0 + $sz`