summaryrefslogtreecommitdiff
path: root/ext/ext_skel
blob: 60b5a224f96682555757359087620c0860b4d547 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/sh

extname="$1"
EXTNAME=`echo $1|tr a-z A-Z`

givup() {
	echo $*
	exit 1
}

if test "$extname" = ""; then
	givup "usage: $0 extension-name"
fi

if test -d "$extname" ; then
	givup "Directory $extname already exists."
fi

test -f ext_skel || givup "ext_skel must be in the current directory"

if echo '\c' | grep -s c >/dev/null 2>&1
then
    ECHO_N="echo -n"
    ECHO_C=""
else
    ECHO_N="echo"
    ECHO_C='\c'
fi

echo "Creating directory"

mkdir $extname || givup "Cannot create directory $extname"

cd $extname
chmod 755 .

$ECHO_N "Creating basic files:$ECHO_C"

$ECHO_N " config.m4$ECHO_C"
cat >config.m4 <<eof
dnl \$Id\$
dnl config.m4 for extension $extname
dnl don't forget to call PHP_EXTENSION($extname)

dnl If your extension references something external, use with:

PHP_ARG_WITH($extname, for $extname support,
dnl Make sure that the comment is aligned:
[  --with-$extname             Include $extname support])

dnl Otherwise use enable:

PHP_ARG_ENABLE($extname, whether to enable $extname support,
dnl Make sure that the comment is aligned:
[  --enable-$extname           Enable $extname support])

if test "\$PHP_$EXTNAME" != "no"; then
  dnl Action..
  PHP_EXTENSION($extname, \$ext_shared)
fi
eof

$ECHO_N " Makefile.in$ECHO_C"
cat >Makefile.in <<eof
# \$Id\$

LTLIBRARY_NAME        = lib$extname.la
LTLIBRARY_SOURCES     = $extname.c
LTLIBRARY_SHARED_NAME = $extname.la

include \$(top_srcdir)/build/dynlib.mk
eof


$ECHO_N " .cvsignore$ECHO_C"
cat >.cvsignore <<eof
.deps
Makefile
*.o
*.lo
*.la
.libs
libs.mk
eof

chmod 644 *

echo " [done]."

cat <<eof

To use your new extension, you will have to execute the following steps:

    $ cd ..
    $ ./buildconf
    $ ./configure                 (your extension is automatically enabled)
    $ vi ext/$extname/$extname.c
    $ make

Repeat the last two steps as often as necessary.

eof