summaryrefslogtreecommitdiff
path: root/ext/mysql/config.m4
blob: bce0671fd57d5106e05607f7c450800ec3cdecd4 (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
dnl $Id$

AC_MSG_CHECKING(for MySQL support)
AC_ARG_WITH(mysql,
[  --with-mysql[=DIR]      Include MySQL support.  DIR is the MySQL base
                          install directory, defaults to searching through
                          a number of common places for the MySQL files.
			  Set DIR to "shared" to build as a dl, or "shared,DIR"
			  to build as a dl and still specify DIR.],
[
  	case $withval in
	    shared)
		shared=yes
		withval=yes
		;;
	    shared,*)
		shared=yes
		withval=`echo $withval | sed -e 's/^shared,//'`      
		;;
	    *)
		shared=no
		;;
	esac
	if test "$withval" != "no"; then
		if test "$withval" = "yes"; then
			if test -f /usr/include/mysql/mysql.h; then
				MYSQL_INCDIR=/usr/include/mysql
				if test -d /usr/lib/mysql; then
					MYSQL_LIBDIR=/usr/lib/mysql
				else
					MYSQL_LIBDIR=/usr/lib
				fi
			elif test -f /usr/include/mysql.h; then
				MYSQL_INCDIR=/usr/include
				MYSQL_LIBDIR=/usr/lib
			elif test -f /usr/local/include/mysql/mysql.h; then
				MYSQL_INCDIR=/usr/local/include/mysql
				MYSQL_LIBDIR=/usr/local/lib/mysql
		    elif test -f /usr/local/include/mysql.h; then
				MYSQL_INCDIR=/usr/local/include
				MYSQL_LIBDIR=/usr/local/lib 
            elif test -f /usr/local/mysql/include/mysql/mysql.h; then
				MYSQL_INCDIR=/usr/local/mysql/include/mysql
				MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
			else
				AC_MSG_RESULT(no)
				AC_MSG_ERROR(Invalid MySQL directory - unable to find mysql.h)
			fi   
		else
			if test -f $withval/include/mysql/mysql.h; then
				MYSQL_INCDIR=$withval/include/mysql
				MYSQL_LIBDIR=$withval/lib/mysql
			elif test -f $withval/include/mysql.h; then
				MYSQL_INCDIR=$withval/include
				MYSQL_LIBDIR=$withval/lib
			else
				AC_MSG_RESULT(no)
				AC_MSG_ERROR(Invalid MySQL directory - unable to find mysql.h under $withval)
			fi
		fi
		MYSQL_INCLUDE=-I$MYSQL_INCDIR

		AC_DEFINE(HAVE_MYSQL)
                if test "$shared" = "yes"; then
      			AC_MSG_RESULT(yes (shared))
			MYSQL_LFLAGS="-L$MYSQL_LIBDIR"
			MYSQL_SHARED="mysql.la"
    		else
   			AC_MSG_RESULT(yes (static))
			AC_ADD_LIBRARY_WITH_PATH(mysqlclient, $MYSQL_LIBDIR)
		        AC_ADD_INCLUDE($MYSQL_INCDIR)
			MYSQL_STATIC="libphpext_mysql.a"
		fi
		PHP_EXTENSION(mysql, $shared)

		dnl check for errmsg.h, which isn't installed by some versions of 3.21
		old_CPPFLAGS="$CPPFLAGS"
		CPPFLAGS="$CPPFLAGS $MYSQL_INCLUDE"
		AC_CHECK_HEADERS(errmsg.h mysql.h)
		CPPFLAGS="$old_CPPFLAGS"
	else
		AC_MSG_RESULT(no)
		AC_DEFINE(HAVE_MYSQL, 0)
	fi
],[
  AC_MSG_RESULT(no)
])
AC_SUBST(MYSQL_STATIC)
AC_SUBST(MYSQL_SHARED)
AC_SUBST(MYSQL_INCLUDE)
AC_SUBST(MYSQL_LFLAGS)