summaryrefslogtreecommitdiff
path: root/genif.sh
blob: 968250f439ef1849045143b61384b6e39de16fa2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#! /bin/sh

# $Id: genif.sh,v 1.9 2000-06-27 16:22:26 sas Exp $
# replacement for genif.pl

infile="$1"
shift
srcdir="$1"
shift
extra_module_ptrs="$1"
shift

if test "$infile" = "" -o "$srcdir" = ""; then
	echo "please supply infile and srcdir"
	exit 1
fi

module_ptrs="$extra_module_ptrs"
includes=""

olddir=`pwd`
cd $srcdir

for ext in ${1+"$@"} ; do
	module_ptrs="	phpext_${ext}_ptr,\\\n$module_ptrs"
	for header in ext/$ext/*.h ; do
		if grep phpext_ $header >/dev/null 2>&1 ; then
			includes="#include \"$header\"\\\n$includes"
		fi
	done
done

cd $olddir

cat $infile | \
	sed \
	-e "s'@EXT_INCLUDE_CODE@'$includes'" \
	-e "s'@EXT_MODULE_PTRS@'$module_ptrs'" \
	-e 's/[\]n/\
/g'