summaryrefslogtreecommitdiff
path: root/ext/skeleton/config.m4.in
blob: dab0d31a7039b932b4a813dc9f22a7beb71450b0 (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
dnl config.m4 for extension %EXTNAME%

dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary.

dnl If your extension references something external, use with:

dnl PHP_ARG_WITH(%EXTNAME%, for %EXTNAME% support,
dnl Make sure that the comment is aligned:
dnl [  --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], no)

if test "$PHP_%EXTNAMECAPS%" != "no"; then
  dnl Write more examples of tests here...

  dnl # get library FOO build options from pkg-config output
  dnl AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  dnl AC_MSG_CHECKING(for libfoo)
  dnl if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists foo; then
  dnl   if $PKG_CONFIG foo --atleast-version 1.2.3; then
  dnl     LIBFOO_CFLAGS=\`$PKG_CONFIG foo --cflags\`
  dnl     LIBFOO_LIBDIR=\`$PKG_CONFIG foo --libs\`
  dnl     LIBFOO_VERSON=\`$PKG_CONFIG foo --modversion\`
  dnl     AC_MSG_RESULT(from pkgconfig: version $LIBFOO_VERSON)
  dnl   else
  dnl     AC_MSG_ERROR(system libfoo is too old: version 1.2.3 required)
  dnl   fi
  dnl else
  dnl   AC_MSG_ERROR(pkg-config not found)
  dnl fi
  dnl PHP_EVAL_LIBLINE($LIBFOO_LIBDIR, %EXTNAMECAPS%_SHARED_LIBADD)
  dnl PHP_EVAL_INCLINE($LIBFOO_CFLAGS)

  dnl # --with-%EXTNAME% -> check with-path
  dnl SEARCH_PATH="/usr/local /usr"     # you might want to change this
  dnl SEARCH_FOR="/include/%EXTNAME%.h"  # you most likely want to change this
  dnl if test -r $PHP_%EXTNAMECAPS%/$SEARCH_FOR; then # path given as parameter
  dnl   %EXTNAMECAPS%_DIR=$PHP_%EXTNAMECAPS%
  dnl else # search default path list
  dnl   AC_MSG_CHECKING([for %EXTNAME% files in default path])
  dnl   for i in $SEARCH_PATH ; do
  dnl     if test -r $i/$SEARCH_FOR; then
  dnl       %EXTNAMECAPS%_DIR=$i
  dnl       AC_MSG_RESULT(found in $i)
  dnl     fi
  dnl   done
  dnl fi
  dnl
  dnl if test -z "$%EXTNAMECAPS%_DIR"; then
  dnl   AC_MSG_RESULT([not found])
  dnl   AC_MSG_ERROR([Please reinstall the %EXTNAME% distribution])
  dnl fi

  dnl # --with-%EXTNAME% -> add include path
  dnl PHP_ADD_INCLUDE($%EXTNAMECAPS%_DIR/include)

  dnl # --with-%EXTNAME% -> check for lib and symbol presence
  dnl LIBNAME=%EXTNAMECAPS% # you may want to change this
  dnl LIBSYMBOL=%EXTNAMECAPS% # you most likely want to change this 

  dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
  dnl [
  dnl   PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $%EXTNAMECAPS%_DIR/$PHP_LIBDIR, %EXTNAMECAPS%_SHARED_LIBADD)
  dnl   AC_DEFINE(HAVE_%EXTNAMECAPS%LIB,1,[ ])
  dnl ],[
  dnl   AC_MSG_ERROR([wrong %EXTNAME% lib version or lib not found])
  dnl ],[
  dnl   -L$%EXTNAMECAPS%_DIR/$PHP_LIBDIR -lm
  dnl ])
  dnl
  dnl PHP_SUBST(%EXTNAMECAPS%_SHARED_LIBADD)

  dnl # In case of no dependencies
  AC_DEFINE(HAVE_%EXTNAMECAPS%, 1, [ Have %EXTNAME% support ])

  PHP_NEW_EXTENSION(%EXTNAME%, %EXTNAME%.c, $ext_shared)
fi