*: slap on a few ALIGN1/2s where appropriate
[oweals/busybox.git] / scripts / mkconfigs
1 #!/bin/sh
2 #
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
7 #
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.
12 #
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.
17 #
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.
21 #
22 #   Busybox version by Matteo Croce <3297627799 at wind.it>
23 #
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
28
29 config=.config
30
31 {
32 echo "\
33 #ifndef _BBCONFIGOPTS_H
34 #define _BBCONFIGOPTS_H
35 /*
36  * busybox configuration settings.
37  *
38  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
39  *
40  * This file is generated automatically by scripts/mkconfigs.
41  * Do not edit.
42  */
43 static const char bbconfig_config[] ALIGN1 ="
44
45 grep -e '^# CONFIG_' -e '^CONFIG_' "$config" \
46 | sed -e 's/\"/\\\"/g' -e 's/^/"/' -e 's/$/\\n"/'
47
48 echo ";"
49 echo "#endif"
50 } >"$1"
51
52 {
53 echo "\
54 #ifndef _BBCONFIGOPTS_BZ2_H
55 #define _BBCONFIGOPTS_BZ2_H
56 /*
57  * busybox configuration settings.
58  *
59  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
60  *
61  * This file is generated automatically by scripts/mkconfigs.
62  * Do not edit.
63  */
64 static const char bbconfig_config_bz2[] ALIGN1 = {"
65
66 grep -e '^# CONFIG_' -e '^CONFIG_' "$config" \
67 | bzip2 -1 | dd bs=2 skip=1 2>/dev/null \
68 | od -v -b \
69 | sed -e 's/^[^ ]*//' \
70         -e 's/ //g' \
71         -e '/^$/d' \
72         -e 's/\(...\)/0\1,/g'
73
74 echo "};"
75 echo "#endif"
76 } >"$2"