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