1dnl
2dnl $Id$
3dnl
4
5PHP_LIBDIR=.libs
6
7PHP_ARG_WITH(ming, for MING support,
8[  --with-ming[=DIR]       Include MING support])
9
10if test "$PHP_MING" != "no"; then
11  AC_CHECK_LIB(m, sin)
12
13  for i in $PHP_MING ../../src /usr/local /usr; do
14    if test -f $i/$PHP_LIBDIR/libming.$SHLIB_SUFFIX_NAME || test -f $i/$PHP_LIBDIR/libming.a; then
15      MING_DIR=$i
16      break
17    fi
18  done
19
20  if test -z "$MING_DIR"; then
21    AC_MSG_ERROR(Please reinstall ming distribution. libming.(a|so) not found.)
22  fi
23
24  for i in ../../src $MING_DIR/include $MING_DIR/include/ming $MING_DIR/ming/include; do
25    if test -f $i/ming.h; then
26      MING_INC_DIR=$i
27    fi
28  done
29
30  if test -z "$MING_INC_DIR"; then
31    AC_MSG_ERROR(Please reinstall ming distribution. ming.h not found.)
32  fi
33
34  PHP_CHECK_LIBRARY(ming, Ming_useSWFVersion, [
35    AC_DEFINE(HAVE_MING,1,[ ])
36  ],[
37    AC_MSG_ERROR([Ming library 0.2a or greater required.])
38  ],[
39    -L$MING_DIR/$PHP_LIBDIR
40  ])
41
42  PHP_ADD_INCLUDE($MING_INC_DIR)
43  PHP_ADD_LIBRARY_WITH_PATH(ming, $MING_DIR/$PHP_LIBDIR, MING_SHARED_LIBADD)
44
45  old_CPPFLAGS=$CPPFLAGS
46  CPPFLAGS=-I$MING_INC_DIR
47  AC_MSG_CHECKING([for destroySWFBlock])
48  AC_TRY_RUN([
49#include "ming.h"
50int destroySWFBlock(int a, int b) {
51	return a+b;
52}
53int main() {
54	return destroySWFBlock(-1,1); /* returns 0 only if function is not yet defined */
55}
56  ],[
57    AC_MSG_RESULT([missing])
58  ],[
59    AC_DEFINE(HAVE_DESTROY_SWF_BLOCK,1,[ ])
60    AC_MSG_RESULT([ok])
61  ],[
62    AC_MSG_RESULT([unknown])
63  ])
64
65dnl Check Ming version (FIXME: if/when ming has some better way to detect the version..)
66  AC_EGREP_CPP(yes, [
67#include <ming.h>
68#ifdef SWF_SOUND_COMPRESSION
69yes
70#endif
71  ], [
72    AC_DEFINE(HAVE_NEW_MING,  1, [ ])
73    dnl FIXME: This is now unconditional..better check coming later.
74  ])
75
76  dnl Check if SWFVideoStream_setFrameMode() is available
77  AC_TRY_COMPILE([
78#include <ming.h>
79  ], [
80int main(void) { SWFVideoStream_setFrameMode(0, 0); return 0; }
81  ], [
82    AC_DEFINE(HAVE_SWFVIDEOSTREAM_SETFRAMEMODE, 1, [Have SWFVideoStream_setFrameMode(SWFVideoStream, int)])
83  ], [])
84
85  dnl Check if SWFVideoStream_nextFrame() is available
86  AC_TRY_COMPILE([
87#include <ming.h>
88  ], [
89int main(void) { SWFVideoStream_nextFrame(0); return 0; }
90  ], [
91    AC_DEFINE(HAVE_SWFVIDEOSTREAM_NEXTFRAME, 1, [Have SWFVideoStream_nextFrame(SWFVideoStream)])
92  ], [])
93
94  dnl Check if SWFVideoStream_seek() is available
95  AC_TRY_COMPILE([
96#include <ming.h>
97  ], [
98int main(void) { SWFVideoStream_seek(0, 0, 0); return 0; }
99  ], [
100    AC_DEFINE(HAVE_SWFVIDEOSTREAM_SEEK, 1, [Have SWFVideoStream_seek(SWFVideoStream, int frame, int whence)])
101  ], [])
102
103
104  dnl Check if SWFMovie_output() accepts the 4th parameter
105  AC_TRY_COMPILE([
106#include <ming.h>
107  ], [
108int main(void) { SWFMovie_output(NULL, NULL, NULL, 0); return 0; }
109  ], [
110    AC_DEFINE(HAVE_MING_MOVIE_LEVEL, 1, [ ])
111  ], [])
112  CPPFLAGS=$old_CPPFLAGS
113
114  PHP_NEW_EXTENSION(ming, ming.c, $ext_shared)
115  PHP_SUBST(MING_SHARED_LIBADD)
116fi
117