aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/basic
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/basic')
-rw-r--r--scripts/basic/.gitignore1
-rw-r--r--scripts/basic/Makefile1
-rw-r--r--scripts/basic/bin2c.c35
3 files changed, 37 insertions, 0 deletions
diff --git a/scripts/basic/.gitignore b/scripts/basic/.gitignore
index a776371a3502..9528ec9e5adc 100644
--- a/scripts/basic/.gitignore
+++ b/scripts/basic/.gitignore
@@ -1 +1,2 @@
1fixdep 1fixdep
2bin2c
diff --git a/scripts/basic/Makefile b/scripts/basic/Makefile
index 4fcef87bb875..afbc1cd69ac5 100644
--- a/scripts/basic/Makefile
+++ b/scripts/basic/Makefile
@@ -9,6 +9,7 @@
9# fixdep: Used to generate dependency information during build process 9# fixdep: Used to generate dependency information during build process
10 10
11hostprogs-y := fixdep 11hostprogs-y := fixdep
12hostprogs-$(CONFIG_IKCONFIG) += bin2c
12always := $(hostprogs-y) 13always := $(hostprogs-y)
13 14
14# fixdep is needed to compile other host programs 15# fixdep is needed to compile other host programs
diff --git a/scripts/basic/bin2c.c b/scripts/basic/bin2c.c
new file mode 100644
index 000000000000..af187e695345
--- /dev/null
+++ b/scripts/basic/bin2c.c
@@ -0,0 +1,35 @@
1/*
2 * Unloved program to convert a binary on stdin to a C include on stdout
3 *
4 * Jan 1999 Matt Mackall <mpm@selenic.com>
5 *
6 * This software may be used and distributed according to the terms
7 * of the GNU General Public License, incorporated herein by reference.
8 */
9
10#include <stdio.h>
11
12int main(int argc, char *argv[])
13{
14 int ch, total = 0;
15
16 if (argc > 1)
17 printf("const char %s[] %s=\n",
18 argv[1], argc > 2 ? argv[2] : "");
19
20 do {
21 printf("\t\"");
22 while ((ch = getchar()) != EOF) {
23 total++;
24 printf("\\x%02x", ch);
25 if (total % 16 == 0)
26 break;
27 }
28 printf("\"\n");
29 } while (ch != EOF);
30
31 if (argc > 1)
32 printf("\t;\n\nconst int %s_size = %d;\n", argv[1], total);
33
34 return 0;
35}