]> git.proxmox.com Git - grub2.git/blame - geninit.sh
merge from upstream (deviceiter regression produced odd effects on LVM upgrades)
[grub2.git] / geninit.sh
CommitLineData
6d099807 1#! /bin/sh
2#
5a79f472 3# Copyright (C) 2002,2005,2007 Free Software Foundation, Inc.
6d099807 4#
5# This gensymlist.sh is free software; the author
6# gives unlimited permission to copy and/or distribute it,
7# with or without modifications, as long as this notice is preserved.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12# PARTICULAR PURPOSE.
13
daf0f0ba 14lst="$1"
15shift
16
17header=`echo "${lst}" | sed -e "s/\.lst$/.h/g"`
18
6d099807 19cat <<EOF
4750f5f1 20/* This file is automatically generated by geninit.sh. DO NOT EDIT! */
6d099807 21/*
22 * GRUB -- GRand Unified Bootloader
5a79f472 23 * Copyright (C) 2002,2005,2007 Free Software Foundation, Inc.
6d099807 24 *
5a79f472 25 * GRUB is free software: you can redistribute it and/or modify
6d099807 26 * it under the terms of the GNU General Public License as published by
5a79f472 27 * the Free Software Foundation, either version 3 of the License, or
6d099807 28 * (at your option) any later version.
29 *
5a79f472 30 * GRUB is distributed in the hope that it will be useful,
6d099807 31 * but WITHOUT ANY WARRANTY; without even the implied warranty of
32 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 * GNU General Public License for more details.
34 *
35 * You should have received a copy of the GNU General Public License
5a79f472 36 * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
6d099807 37 */
38
daf0f0ba 39#include <$header>
6d099807 40
41EOF
42
43cat <<EOF
44void
45grub_init_all (void)
46{
47EOF
4750f5f1 48
49while read line; do
50 file=`echo $line | cut -f1 -d:`
51 if echo $@ | grep $file >/dev/null; then
52 echo $line | sed -e 's/.*GRUB_MOD_INIT *(\([a-zA-Z0-9_]*\)).*/ grub_\1_init ();/'
53 fi
daf0f0ba 54done < ${lst}
6d099807 55
56cat <<EOF
57}
58EOF
59
60cat <<EOF
61void
62grub_fini_all (void)
63{
64EOF
65
4750f5f1 66while read line; do
67 file=`echo $line | cut -f1 -d:`
68 if echo $@ | grep $file >/dev/null; then
69 echo $line | sed -e 's/.*GRUB_MOD_INIT *(\([a-zA-Z0-9_]*\)).*/ grub_\1_fini ();/'
70 fi
daf0f0ba 71done < ${lst}
6d099807 72
73cat <<EOF
74}
75EOF