| dnl -------------------------------------------------------- -*- autoconf -*- |
| dnl Copyright 2005 The Apache Software Foundation or its licensors, as |
| dnl applicable. |
| dnl |
| dnl Licensed under the Apache License, Version 2.0 (the "License"); |
| dnl you may not use this file except in compliance with the License. |
| dnl You may obtain a copy of the License at |
| dnl |
| dnl http://www.apache.org/licenses/LICENSE-2.0 |
| dnl |
| dnl Unless required by applicable law or agreed to in writing, software |
| dnl distributed under the License is distributed on an "AS IS" BASIS, |
| dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| dnl See the License for the specific language governing permissions and |
| dnl limitations under the License. |
| |
| dnl |
| dnl DBD module |
| dnl |
| |
| dnl |
| dnl APU_CHECK_DBD: compile backends for apr_dbd. |
| dnl |
| AC_DEFUN([APU_CHECK_DBD], [ |
| apu_have_pgsql=0 |
| |
| AC_ARG_WITH([pgsql], APR_HELP_STRING([--with-pgsql=DIR], [specify PostgreSQL location]), |
| [ |
| apu_have_pgsql=0 |
| if test "$withval" = "yes"; then |
| AC_CHECK_HEADERS(libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) |
| if test "$apu_have_pgsql" = "0"; then |
| AC_CHECK_HEADERS(postgresql/libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) |
| fi |
| elif test "$withval" = "no"; then |
| apu_have_pgsql=0 |
| else |
| old_cppflags="$CPPFLAGS" |
| old_ldflags="$LDFLAGS" |
| |
| pgsql_CPPFLAGS="-I$withval/include" |
| pgsql_LDFLAGS="-L$withval/lib " |
| |
| APR_ADDTO(CPPFLAGS, [$pgsql_CPPFLAGS]) |
| APR_ADDTO(LDFLAGS, [$pgsql_LDFLAGS]) |
| |
| AC_MSG_NOTICE(checking for pgsql in $withval) |
| AC_CHECK_HEADERS(libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) |
| if test "$apu_have_pgsql" != "0"; then |
| APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include]) |
| fi |
| if test "$apu_have_pgsql" != "1"; then |
| AC_CHECK_HEADERS(postgresql/libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) |
| if test "$apu_have_pgsql" != "0"; then |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include/postgresql]) |
| APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) |
| fi |
| fi |
| |
| CPPFLAGS="$old_cppflags" |
| LDFLAGS="$old_ldflags" |
| fi |
| ], [ |
| apu_have_pgsql=0 |
| AC_CHECK_HEADERS(libpq-fe.h, AC_CHECK_LIB(pq, PQsendQueryPrepared, [apu_have_pgsql=1])) |
| ]) |
| AC_SUBST(apu_have_pgsql) |
| dnl Since we have already done the AC_CHECK_LIB tests, if we have it, |
| dnl we know the library is there. |
| if test "$apu_have_pgsql" = "1"; then |
| LDADD_dbd_pgsql=-lpq |
| fi |
| AC_SUBST(LDADD_dbd_pgsql) |
| ]) |
| dnl |
| AC_DEFUN([APU_CHECK_DBD_MYSQL], [ |
| apu_have_mysql=0 |
| |
| AC_ARG_WITH([mysql], APR_HELP_STRING([--with-mysql=DIR], [specify MySQL location]), |
| [ |
| apu_have_mysql=0 |
| if test "$withval" = "yes"; then |
| old_cppflags="$CPPFLAGS" |
| old_ldflags="$LDFLAGS" |
| |
| AC_PATH_PROG([MYSQL_CONFIG],[mysql_config]) |
| if test "x$MYSQL_CONFIG" != 'x'; then |
| mysql_CPPFLAGS="`$MYSQL_CONFIG --include`" |
| mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r`" |
| |
| APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS]) |
| APR_ADDTO(LDFLAGS, [$mysql_LDFLAGS]) |
| fi |
| |
| AC_CHECK_HEADERS(mysql.h, AC_CHECK_LIB(mysqlclient_r, mysql_init, [apu_have_mysql=1])) |
| if test "$apu_have_mysql" = "0"; then |
| AC_CHECK_HEADERS(mysql/mysql.h, AC_CHECK_LIB(mysqlclient_r, mysql_init, [apu_have_mysql=1])) |
| else |
| if test "x$MYSQL_CONFIG" != 'x'; then |
| APR_ADDTO(APRUTIL_INCLUDES, [$mysql_CPPFLAGS]) |
| fi |
| fi |
| |
| CPPFLAGS="$old_cppflags" |
| LDFLAGS="$old_ldflags" |
| elif test "$withval" = "no"; then |
| apu_have_mysql=0 |
| else |
| old_cppflags="$CPPFLAGS" |
| old_ldflags="$LDFLAGS" |
| |
| AC_PATH_PROG([MYSQL_CONFIG],[mysql_config],,[$withval/bin]) |
| if test "x$MYSQL_CONFIG" != 'x'; then |
| mysql_CPPFLAGS="`$MYSQL_CONFIG --include`" |
| mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r`" |
| else |
| mysql_CPPFLAGS="-I$withval/include" |
| mysql_LDFLAGS="-L$withval/lib " |
| fi |
| |
| APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS]) |
| APR_ADDTO(LDFLAGS, [$mysql_LDFLAGS]) |
| |
| AC_MSG_NOTICE(checking for mysql in $withval) |
| AC_CHECK_HEADERS(mysql.h, AC_CHECK_LIB(mysqlclient_r, mysql_init, [apu_have_mysql=1])) |
| if test "$apu_have_mysql" != "0"; then |
| APR_ADDTO(APRUTIL_INCLUDES, [$mysql_CPPFLAGS]) |
| fi |
| |
| if test "$apu_have_mysql" != "1"; then |
| AC_CHECK_HEADERS(mysql/mysql.h, AC_CHECK_LIB(mysqlclient_r, mysql_init, [apu_have_mysql=1])) |
| if test "$apu_have_mysql" != "0"; then |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include/mysql]) |
| fi |
| fi |
| |
| CPPFLAGS="$old_cppflags" |
| LDFLAGS="$old_ldflags" |
| fi |
| ], [ |
| apu_have_mysql=0 |
| |
| old_cppflags="$CPPFLAGS" |
| old_ldflags="$LDFLAGS" |
| |
| AC_PATH_PROG([MYSQL_CONFIG],[mysql_config]) |
| if test "x$MYSQL_CONFIG" != 'x'; then |
| mysql_CPPFLAGS="`$MYSQL_CONFIG --include`" |
| mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r`" |
| |
| APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS]) |
| APR_ADDTO(LDFLAGS, [$mysql_LDFLAGS]) |
| fi |
| |
| AC_CHECK_HEADERS(mysql.h, AC_CHECK_LIB(mysqlclient_r, mysql_init, [apu_have_mysql=1])) |
| |
| if test "$apu_have_mysql" != "0"; then |
| if test "x$MYSQL_CONFIG" != 'x'; then |
| APR_ADDTO(APRUTIL_INCLUDES, [$mysql_CPPFLAGS]) |
| fi |
| fi |
| |
| CPPFLAGS="$old_cppflags" |
| LDFLAGS="$old_ldflags" |
| ]) |
| |
| AC_SUBST(apu_have_mysql) |
| |
| dnl Since we have already done the AC_CHECK_LIB tests, if we have it, |
| dnl we know the library is there. |
| if test "$apu_have_mysql" = "1"; then |
| LDADD_dbd_mysql=$mysql_LDFLAGS |
| fi |
| AC_SUBST(LDADD_dbd_mysql) |
| ]) |
| dnl |
| AC_DEFUN([APU_CHECK_DBD_SQLITE3], [ |
| apu_have_sqlite3=0 |
| |
| AC_ARG_WITH([sqlite3], APR_HELP_STRING([--with-sqlite3=DIR], [enable sqlite3 DBD driver]), |
| [ |
| apu_have_sqlite3=0 |
| if test "$withval" = "yes"; then |
| AC_CHECK_HEADERS(sqlite3.h, AC_CHECK_LIB(sqlite3, sqlite3_open, [apu_have_sqlite3=1])) |
| elif test "$withval" = "no"; then |
| apu_have_sqlite3=0 |
| else |
| old_cppflags="$CPPFLAGS" |
| old_ldflags="$LDFLAGS" |
| |
| sqlite3_CPPFLAGS="-I$withval/include" |
| sqlite3_LDFLAGS="-L$withval/lib " |
| |
| APR_ADDTO(CPPFLAGS, [$sqlite3_CPPFLAGS]) |
| APR_ADDTO(LDFLAGS, [$sqlite3_LDFLAGS]) |
| |
| AC_MSG_NOTICE(checking for sqlite3 in $withval) |
| AC_CHECK_HEADERS(sqlite3.h, AC_CHECK_LIB(sqlite3, sqlite3_open, [apu_have_sqlite3=1])) |
| if test "$apu_have_sqlite3" != "0"; then |
| APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include]) |
| fi |
| |
| CPPFLAGS="$old_cppflags" |
| LDFLAGS="$old_ldflags" |
| fi |
| ], [ |
| apu_have_sqlite3=0 |
| AC_CHECK_HEADERS(sqlite3.h, AC_CHECK_LIB(sqlite3, sqlite3_open, [apu_have_sqlite3=1])) |
| ]) |
| |
| AC_SUBST(apu_have_sqlite3) |
| |
| dnl Since we have already done the AC_CHECK_LIB tests, if we have it, |
| dnl we know the library is there. |
| if test "$apu_have_sqlite3" = "1"; then |
| LDADD_dbd_sqlite3="-lsqlite3" |
| fi |
| AC_SUBST(LDADD_dbd_sqlite3) |
| ]) |
| dnl |
| AC_DEFUN([APU_CHECK_DBD_SQLITE2], [ |
| apu_have_sqlite2=0 |
| |
| AC_ARG_WITH([sqlite2], APR_HELP_STRING([--with-sqlite2=DIR], [enable sqlite2 DBD driver]), |
| [ |
| apu_have_sqlite2=0 |
| if test "$withval" = "yes"; then |
| AC_CHECK_HEADERS(sqlite.h, AC_CHECK_LIB(sqlite, sqlite_open, [apu_have_sqlite2=1])) |
| elif test "$withval" = "no"; then |
| apu_have_sqlite2=0 |
| else |
| old_cppflags="$CPPFLAGS" |
| old_ldflags="$LDFLAGS" |
| |
| sqlite2_CPPFLAGS="-I$withval/include" |
| sqlite2_LDFLAGS="-L$withval/lib " |
| |
| APR_ADDTO(CPPFLAGS, [$sqlite2_CPPFLAGS]) |
| APR_ADDTO(LDFLAGS, [$sqlite2_LDFLAGS]) |
| |
| AC_MSG_NOTICE(checking for sqlite2 in $withval) |
| AC_CHECK_HEADERS(sqlite.h, AC_CHECK_LIB(sqlite, sqlite_open, [apu_have_sqlite2=1])) |
| if test "$apu_have_sqlite2" != "0"; then |
| APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include]) |
| fi |
| |
| CPPFLAGS="$old_cppflags" |
| LDFLAGS="$old_ldflags" |
| fi |
| ], [ |
| apu_have_sqlite2=0 |
| AC_CHECK_HEADERS(sqlite.h, AC_CHECK_LIB(sqlite, sqlite_open, [apu_have_sqlite2=1])) |
| ]) |
| |
| AC_SUBST(apu_have_sqlite2) |
| |
| dnl Since we have already done the AC_CHECK_LIB tests, if we have it, |
| dnl we know the library is there. |
| if test "$apu_have_sqlite2" = "1"; then |
| LDADD_dbd_sqlite2="-lsqlite" |
| fi |
| AC_SUBST(LDADD_dbd_sqlite2) |
| ]) |
| dnl |
| AC_DEFUN([APU_CHECK_DBD_ORACLE], [ |
| apu_have_oracle=0 |
| |
| AC_ARG_WITH([oracle-include], |
| APR_HELP_STRING([--with-oracle-include=DIR], [path to Oracle include files])) |
| AC_ARG_WITH([oracle], |
| APR_HELP_STRING([--with-oracle=DIR], [enable Oracle DBD driver; giving ORACLE_HOME as DIR]), |
| [ |
| apu_have_oracle=0 |
| if test "$withval" = "yes"; then |
| old_cppflags="$CPPFLAGS" |
| |
| if test -n "$with_oracle_include"; then |
| oracle_CPPFLAGS="$CPPFLAGS -I$with_oracle_include" |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$with_oracle_include]) |
| fi |
| |
| APR_ADDTO(CPPFLAGS, [$oracle_CPPFLAGS]) |
| |
| AC_CHECK_HEADERS(oci.h, AC_CHECK_LIB(clntsh, OCIEnvCreate, [apu_have_oracle=1],[ |
| unset ac_cv_lib_clntsh_OCIEnvCreate |
| AC_CHECK_LIB(clntsh, OCIEnvCreate, [ |
| apu_have_oracle=1 |
| LDADD_dbd_oracle="-lnnz10" |
| ],,[-lnnz10]) |
| ])) |
| |
| CPPFLAGS="$old_cppflags" |
| elif test "$withval" = "no"; then |
| apu_have_oracle=0 |
| else |
| old_cppflags="$CPPFLAGS" |
| old_ldflags="$LDFLAGS" |
| |
| if test -n "$with_oracle_include"; then |
| oracle_CPPFLAGS="$CPPFLAGS -I$with_oracle_include" |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$with_oracle_include]) |
| else |
| oracle_CPPFLAGS="-I$withval/rdbms/demo -I$withval/rdbms/public" |
| fi |
| oracle_LDFLAGS="-L$withval/lib " |
| |
| APR_ADDTO(CPPFLAGS, [$oracle_CPPFLAGS]) |
| APR_ADDTO(LDFLAGS, [$oracle_LDFLAGS]) |
| |
| AC_MSG_NOTICE(checking for oracle in $withval) |
| AC_CHECK_HEADERS(oci.h, AC_CHECK_LIB(clntsh, OCIEnvCreate, [apu_have_oracle=1],[ |
| unset ac_cv_lib_clntsh_OCIEnvCreate |
| AC_CHECK_LIB(clntsh, OCIEnvCreate, [ |
| apu_have_oracle=1 |
| LDADD_dbd_oracle="-lnnz10" |
| ],,[-lnnz10]) |
| ])) |
| if test "$apu_have_oracle" != "0"; then |
| APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) |
| APR_ADDTO(APRUTIL_LDFLAGS, [-R$withval/lib]) |
| if test -z "$with_oracle_include"; then |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/rdbms/demo]) |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/rdbms/public]) |
| fi |
| fi |
| |
| CPPFLAGS="$old_cppflags" |
| LDFLAGS="$old_ldflags" |
| fi |
| ], [ |
| apu_have_oracle=0 |
| |
| old_cppflags="$CPPFLAGS" |
| |
| if test -n "$with_oracle_include"; then |
| oracle_CPPFLAGS="$CPPFLAGS -I$with_oracle_include" |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$with_oracle_include]) |
| fi |
| |
| APR_ADDTO(CPPFLAGS, [$oracle_CPPFLAGS]) |
| |
| AC_CHECK_HEADERS(oci.h, AC_CHECK_LIB(clntsh, OCIEnvCreate, [apu_have_oracle=1],[ |
| unset ac_cv_lib_clntsh_OCIEnvCreate |
| AC_CHECK_LIB(clntsh, OCIEnvCreate, [ |
| apu_have_oracle=1 |
| LDADD_dbd_oracle=-lnnz10 |
| ],,[-lnnz10]) |
| ])) |
| |
| CPPFLAGS="$old_cppflags" |
| ]) |
| |
| AC_SUBST(apu_have_oracle) |
| |
| dnl Since we have already done the AC_CHECK_LIB tests, if we have it, |
| dnl we know the library is there. |
| if test "$apu_have_oracle" = "1"; then |
| LDADD_dbd_oracle="$LDADD_dbd_oracle -lclntsh" |
| fi |
| AC_SUBST(LDADD_dbd_oracle) |
| ]) |
| |
| dnl |
| AC_DEFUN([APU_CHECK_DBD_FREETDS], [ |
| apu_have_freetds=0 |
| |
| AC_ARG_WITH([freetds], |
| APR_HELP_STRING([--with-freetds=DIR], [specify FreeTDS location]), |
| [ |
| apu_have_freetds=0 |
| if test "$withval" = "yes"; then |
| AC_CHECK_HEADERS(sybdb.h, AC_CHECK_LIB(sybdb, tdsdbopen, [apu_have_freetds=1])) |
| elif test "$withval" = "no"; then |
| apu_have_freetds=0 |
| else |
| old_cppflags="$CPPFLAGS" |
| old_ldflags="$LDFLAGS" |
| |
| sybdb_CPPFLAGS="-I$withval/include" |
| sybdb_LDFLAGS="-L$withval/lib " |
| |
| APR_ADDTO(CPPFLAGS, [$sybdb_CPPFLAGS]) |
| APR_ADDTO(LDFLAGS, [$sybdb_LDFLAGS]) |
| |
| AC_MSG_NOTICE(checking for freetds in $withval) |
| AC_CHECK_HEADERS(sybdb.h, AC_CHECK_LIB(sybdb, tdsdbopen, [apu_have_freetds=1])) |
| if test "$apu_have_freetds" != "0"; then |
| APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) |
| APR_ADDTO(APRUTIL_INCLUDES, [-I$withval/include]) |
| fi |
| |
| CPPFLAGS="$old_cppflags" |
| LDFLAGS="$old_ldflags" |
| fi |
| ], [ |
| apu_have_freetds=0 |
| AC_CHECK_HEADERS(sybdb.h, AC_CHECK_LIB(sybdb, tdsdbopen, [apu_have_freetds=1])) |
| ]) |
| |
| AC_SUBST(apu_have_freetds) |
| |
| dnl Since we have already done the AC_CHECK_LIB tests, if we have it, |
| dnl we know the library is there. |
| if test "$apu_have_freetds" = "1"; then |
| LDADD_dbd_freetds="$LDADD_dbd_freetds -lsybdb" |
| dnl Erm, I needed pcreposix, but I think that dependency has gone |
| dnl from the current code |
| dnl LDADD_dbd_freetds="$LDADD_dbd_freetds -lsybdb -lpcreposix" |
| fi |
| AC_SUBST(LDADD_dbd_freetds) |
| ]) |
| dnl |
| |
| AC_DEFUN([APU_CHECK_DBD_DSO], [ |
| |
| AC_ARG_ENABLE([dbd-dso], |
| APR_HELP_STRING([--enable-dbd-dso], [build DBD drivers as DSOs])) |
| |
| if test "$enable_dbd_dso" = "yes"; then |
| AC_DEFINE([APU_DSO_BUILD], 1, [Define if DBD drivers are built as DSOs]) |
| |
| dsos= |
| test $apu_have_oracle = 1 && dsos="$dsos dbd/apr_dbd_oracle.la" |
| test $apu_have_pgsql = 1 && dsos="$dsos dbd/apr_dbd_pgsql.la" |
| test $apu_have_mysql = 1 && dsos="$dsos dbd/apr_dbd_mysql.la" |
| test $apu_have_sqlite2 = 1 && dsos="$dsos dbd/apr_dbd_sqlite2.la" |
| test $apu_have_sqlite3 = 1 && dsos="$dsos dbd/apr_dbd_sqlite3.la" |
| test $apu_have_freetds = 1 && dsos="$dsos dbd/apr_dbd_freetds.la" |
| |
| APU_MODULES="$APU_MODULES $dsos" |
| else |
| # Statically link the DBD drivers: |
| |
| objs= |
| test $apu_have_oracle = 1 && objs="$objs dbd/apr_dbd_oracle.lo" |
| test $apu_have_pgsql = 1 && objs="$objs dbd/apr_dbd_pgsql.lo" |
| test $apu_have_mysql = 1 && objs="$objs dbd/apr_dbd_mysql.lo" |
| test $apu_have_sqlite2 = 1 && objs="$objs dbd/apr_dbd_sqlite2.lo" |
| test $apu_have_sqlite3 = 1 && objs="$objs dbd/apr_dbd_sqlite3.lo" |
| test $apu_have_freetds = 1 && objs="$objs dbd/apr_dbd_freetds.lo" |
| EXTRA_OBJECTS="$EXTRA_OBJECTS $objs" |
| |
| # Use libtool *.la for mysql if available |
| if test $apu_have_mysql = 1; then |
| for flag in $LDADD_dbd_mysql |
| do |
| dir=`echo $flag | grep "^-L" | sed s:-L::` |
| if test "x$dir" != 'x'; then |
| if test -f "$dir/libmysqlclient_r.la"; then |
| LDADD_dbd_mysql=$dir/libmysqlclient_r.la |
| break |
| fi |
| fi |
| done |
| fi |
| |
| APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds" |
| APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds" |
| fi |
| ]) |