chiark / gitweb /
debian/: Move ipif into -utils
[userv-utils.git] / ipif / automechgen.sh
1 #!/bin/sh
2 # generates automech.h and automech.c
3
4 # This file is part of ipif, part of userv-utils
5 #
6 # Copyright 1996-2013 Ian Jackson <ijackson@chiark.greenend.org.uk>
7 # Copyright 1998 David Damerell <damerell@chiark.greenend.org.uk>
8 # Copyright 1999,2003
9 #    Chancellor Masters and Scholars of the University of Cambridge
10 # Copyright 2010 Tony Finch <fanf@dotat.at>
11 #
12 # This is free software; you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by
14 # the Free Software Foundation; either version 3 of the License, or
15 # (at your option) any later version.
16 #
17 # This program is distributed in the hope that it will be useful, but
18 # WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20 # General Public License for more details.
21 #
22 # You should have received a copy of the GNU General Public License
23 # along with userv-utils; if not, see http://www.gnu.org/licenses/.
24
25 exec >automech.c.new
26 exec 3>automech.h.new
27
28 cat <<END
29 #include "forwarder.h"
30 const struct mechanism *const mechanismlists[]= {
31 END
32
33 cat >&3 <<END
34 #ifndef AUTOMECH_H
35 #define AUTOMECH_H
36 END
37
38 for m in "$@"; do
39         echo "  mechlist_$m,"
40         echo "extern const struct mechanism mechlist_$m[];" >&3
41 done
42
43 cat <<END
44   0
45 };
46 END
47
48 cat >&3 <<END
49 #endif
50 END
51
52 for e in c h; do mv -f automech.$e.new automech.$e; done