]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/flex/src/mkskel.sh
MFV: r362286
[FreeBSD/FreeBSD.git] / contrib / flex / src / mkskel.sh
1 #! /bin/sh
2
3 #  This file is part of flex.
4
5 #  Redistribution and use in source and binary forms, with or without
6 #  modification, are permitted provided that the following conditions
7 #  are met:
8
9 #  1. Redistributions of source code must retain the above copyright
10 #     notice, this list of conditions and the following disclaimer.
11 #  2. Redistributions in binary form must reproduce the above copyright
12 #     notice, this list of conditions and the following disclaimer in the
13 #     documentation and/or other materials provided with the distribution.
14
15 #  Neither the name of the University nor the names of its contributors
16 #  may be used to endorse or promote products derived from this software
17 #  without specific prior written permission.
18
19 #  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
20 #  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
21 #  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 #  PURPOSE.
23
24 if test ! $# = 3; then
25    echo 'Usage: mkskel.sh srcdir m4 version' >&2
26    exit 1
27 fi
28 echo '/* File created from flex.skl via mkskel.sh */
29
30 #include "flexdef.h"
31
32 const char *skel[] = {'
33 srcdir=$1
34 m4=$2
35 VERSION=$3
36 case $VERSION in
37    *[!0-9.]*) echo 'Invalid version number' >&2; exit 1;;
38 esac
39 IFS=.
40 set $VERSION
41 sed 's/4_/a4_/g
42 s/m4preproc_/m4_/g
43 ' "$srcdir/flex.skl" |
44 "$m4" -P -I "$srcdir" "-DFLEX_MAJOR_VERSION=$1" \
45    "-DFLEX_MINOR_VERSION=$2" \
46    "-DFLEX_SUBMINOR_VERSION=$3" |
47 sed '/^%#/d
48 s/m4_/m4preproc_/g
49 s/a4_/4_/g
50 s/[\\"]/\\&/g
51 s/.*/  "&",/'
52
53 echo '  0
54 };'