hexdump: accept hex numbers in -n, closes 16195
[busybox-git.git] / scripts / mkconfigs
blob1bbf10c3aa98349be708aed92efa381c5d665c81
1 #!/bin/sh
3 # Copyright (C) 2002 Khalid Aziz <khalid_aziz at hp.com>
4 # Copyright (C) 2002 Randy Dunlap <rddunlap at osdl.org>
5 # Copyright (C) 2002 Al Stone <ahs3 at fc.hp.com>
6 # Copyright (C) 2002 Hewlett-Packard Company
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 # Busybox version by Matteo Croce <3297627799 at wind.it>
24 # Rules to generate bbconfigopts.h from .config:
25 # - Retain lines that begin with "CONFIG_"
26 # - Retain lines that begin with "# CONFIG_"
27 # - lines that use double-quotes must \\-escape-quote them
29 config=.config
31 od -v -b </dev/null >/dev/null
32 if test $? != 0; then
33 echo 'od tool is not installed or cannot accept "-v -b" options'
34 exit 1
36 bzip2 </dev/null >/dev/null
37 if test $? != 0; then
38 echo 'bzip2 is not installed'
39 exit 1
43 echo "\
44 #ifndef _BBCONFIGOPTS_H
45 #define _BBCONFIGOPTS_H
47 * busybox configuration settings.
49 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
51 * This file is generated automatically by scripts/mkconfigs.
52 * Do not edit.
54 static const char bbconfig_config[] ALIGN1 ="
56 grep -e '^# CONFIG_' -e '^CONFIG_' "$config" \
57 | sed -e 's/\"/\\\"/g' -e 's/^/"/' -e 's/$/\\n"/'
59 echo ";"
60 echo "#endif"
61 } >"$1"
64 echo "\
65 #ifndef _BBCONFIGOPTS_BZ2_H
66 #define _BBCONFIGOPTS_BZ2_H
68 * busybox configuration settings.
70 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
72 * This file is generated automatically by scripts/mkconfigs.
73 * Do not edit.
75 static const char bbconfig_config_bz2[] ALIGN1 = {"
77 grep -e '^# CONFIG_' -e '^CONFIG_' "$config" \
78 | bzip2 -1 | dd bs=2 skip=1 2>/dev/null \
79 | od -v -b \
80 | sed -e 's/^[^ ]*//' \
81 -e 's/ //g' \
82 -e '/^$/d' \
83 -e 's/\(...\)/0\1,/g'
85 echo "};"
86 echo "#endif"
87 } >"$2"