Annotation of embedaddon/php/ext/pdo_odbc/config.m4, revision 1.1.1.2

1.1.1.2 ! misho       1: dnl $Id$
1.1       misho       2: dnl config.m4 for extension pdo_odbc
                      3: dnl vim:et:sw=2:ts=2:
                      4: 
                      5: define([PDO_ODBC_HELP_TEXT],[[
                      6:                             include and lib dirs are looked for under 'dir'.
                      7:                             
                      8:                             'flavour' can be one of:  ibm-db2, iODBC, unixODBC, generic
                      9:                             If ',dir' part is omitted, default for the flavour 
                     10:                             you have selected will used. e.g.:
                     11:                             
                     12:                               --with-pdo-odbc=unixODBC
                     13:                               
                     14:                             will check for unixODBC under /usr/local. You may attempt 
                     15:                             to use an otherwise unsupported driver using the \"generic\" 
                     16:                             flavour.  The syntax for generic ODBC support is:
                     17:                             
                     18:                               --with-pdo-odbc=generic,dir,libname,ldflags,cflags
                     19: 
                     20:                             When build as shared the extension filename is always pdo_odbc.so]])
                     21: 
                     22: PHP_ARG_WITH(pdo-odbc, for ODBC v3 support for PDO,
                     23: [  --with-pdo-odbc=flavour,dir
                     24:                             PDO: Support for 'flavour' ODBC driver.]PDO_ODBC_HELP_TEXT)
                     25: 
                     26: 
                     27: AC_DEFUN([PDO_ODBC_CHECK_HEADER],[
                     28:   AC_MSG_CHECKING([for $1 in $PDO_ODBC_INCDIR])
                     29:   if test -f "$PDO_ODBC_INCDIR/$1"; then
                     30:     php_pdo_have_header=yes
                     31:     PHP_DEF_HAVE(translit($1,.,_))
                     32:     AC_MSG_RESULT(yes)
                     33:   else
                     34:     AC_MSG_RESULT(no)
                     35:   fi
                     36: ])
                     37:                                   
                     38: if test "$PHP_PDO_ODBC" != "no"; then
                     39: 
                     40:   if test "$PHP_PDO" = "no" && test "$ext_shared" = "no"; then
                     41:     AC_MSG_ERROR([PDO is not enabled! Add --enable-pdo to your configure line.])
                     42:   fi
                     43: 
                     44:   ifdef([PHP_CHECK_PDO_INCLUDES],
                     45:   [
                     46:     PHP_CHECK_PDO_INCLUDES
                     47:   ],[
                     48:     AC_MSG_CHECKING([for PDO includes])
                     49:     if test -f $abs_srcdir/include/php/ext/pdo/php_pdo_driver.h; then
1.1.1.2 ! misho      50:       pdo_cv_inc_path=$abs_srcdir/ext
1.1       misho      51:     elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then
1.1.1.2 ! misho      52:       pdo_cv_inc_path=$abs_srcdir/ext
1.1       misho      53:     elif test -f $prefix/include/php/ext/pdo/php_pdo_driver.h; then
1.1.1.2 ! misho      54:       pdo_cv_inc_path=$prefix/include/php/ext
1.1       misho      55:     else
                     56:       AC_MSG_ERROR([Cannot find php_pdo_driver.h.])
                     57:     fi
1.1.1.2 ! misho      58:     AC_MSG_RESULT($pdo_cv_inc_path)
1.1       misho      59:   ])
                     60: 
                     61:   AC_MSG_CHECKING([for selected PDO ODBC flavour])
                     62: 
                     63:   pdo_odbc_flavour="`echo $PHP_PDO_ODBC | cut -d, -f1`"
                     64:   pdo_odbc_dir="`echo $PHP_PDO_ODBC | cut -d, -f2`"
                     65: 
                     66:   if test "$pdo_odbc_dir" = "$PHP_PDO_ODBC" ; then
                     67:     pdo_odbc_dir=
                     68:   fi
                     69: 
                     70:   case $pdo_odbc_flavour in
                     71:     ibm-db2)
                     72:         pdo_odbc_def_libdir=/home/db2inst1/sqllib/lib
                     73:         pdo_odbc_def_incdir=/home/db2inst1/sqllib/include
                     74:         pdo_odbc_def_lib=db2
                     75:         ;;
                     76: 
                     77:     iODBC|iodbc)
                     78:         pdo_odbc_def_libdir=/usr/local/$PHP_LIBDIR
                     79:         pdo_odbc_def_incdir=/usr/local/include
                     80:         pdo_odbc_def_lib=iodbc
                     81:         ;;
                     82: 
                     83:     unixODBC|unixodbc)
                     84:         pdo_odbc_def_libdir=/usr/local/$PHP_LIBDIR
                     85:         pdo_odbc_def_incdir=/usr/local/include
                     86:         pdo_odbc_def_lib=odbc
                     87:         ;;
                     88: 
                     89:     ODBCRouter|odbcrouter)
                     90:         pdo_odbc_def_libdir=/usr/$PHP_LIBDIR
                     91:         pdo_odbc_def_incdir=/usr/include
                     92:         pdo_odbc_def_lib=odbcsdk
                     93:         ;;
                     94: 
                     95:     generic)
                     96:         pdo_odbc_def_lib="`echo $PHP_PDO_ODBC | cut -d, -f3`"
                     97:         pdo_odbc_def_ldflags="`echo $PHP_PDO_ODBC | cut -d, -f4`"
                     98:         pdo_odbc_def_cflags="`echo $PHP_PDO_ODBC | cut -d, -f5`"
                     99:         pdo_odbc_flavour="generic-$pdo_odbc_def_lib"
                    100:         ;;
                    101: 
                    102:       *)
                    103:         AC_MSG_ERROR([Unknown ODBC flavour $pdo_odbc_flavour]PDO_ODBC_HELP_TEXT)
                    104:         ;;
                    105:   esac
                    106: 
                    107:   if test -n "$pdo_odbc_dir"; then
                    108:     PDO_ODBC_INCDIR="$pdo_odbc_dir/include"
                    109:     PDO_ODBC_LIBDIR="$pdo_odbc_dir/$PHP_LIBDIR"
                    110:   else
                    111:     PDO_ODBC_INCDIR="$pdo_odbc_def_incdir"
                    112:     PDO_ODBC_LIBDIR="$pdo_odbc_def_libdir"
                    113:   fi
                    114:   
                    115:   AC_MSG_RESULT([$pdo_odbc_flavour
                    116:           libs       $PDO_ODBC_LIBDIR,
                    117:           headers    $PDO_ODBC_INCDIR])
                    118: 
                    119:   if test ! -d "$PDO_ODBC_LIBDIR" ; then
                    120:     AC_MSG_WARN([library dir $PDO_ODBC_LIBDIR does not exist])
                    121:   fi
                    122: 
                    123:   PDO_ODBC_CHECK_HEADER(odbc.h)
                    124:   PDO_ODBC_CHECK_HEADER(odbcsdk.h)
                    125:   PDO_ODBC_CHECK_HEADER(iodbc.h)
                    126:   PDO_ODBC_CHECK_HEADER(sqlunix.h)
                    127:   PDO_ODBC_CHECK_HEADER(sqltypes.h)
                    128:   PDO_ODBC_CHECK_HEADER(sqlucode.h)
                    129:   PDO_ODBC_CHECK_HEADER(sql.h)
                    130:   PDO_ODBC_CHECK_HEADER(isql.h)
                    131:   PDO_ODBC_CHECK_HEADER(sqlext.h)
                    132:   PDO_ODBC_CHECK_HEADER(isqlext.h)
                    133:   PDO_ODBC_CHECK_HEADER(udbcext.h)
                    134:   PDO_ODBC_CHECK_HEADER(sqlcli1.h)
                    135:   PDO_ODBC_CHECK_HEADER(LibraryManager.h)
                    136:   PDO_ODBC_CHECK_HEADER(cli0core.h)
                    137:   PDO_ODBC_CHECK_HEADER(cli0ext.h)
                    138:   PDO_ODBC_CHECK_HEADER(cli0cli.h)
                    139:   PDO_ODBC_CHECK_HEADER(cli0defs.h)
                    140:   PDO_ODBC_CHECK_HEADER(cli0env.h)
                    141: 
                    142:   if test "$php_pdo_have_header" != "yes"; then
                    143:     AC_MSG_ERROR([Cannot find header file(s) for pdo_odbc])
                    144:   fi
                    145: 
                    146:   PDO_ODBC_INCLUDE="$pdo_odbc_def_cflags -I$PDO_ODBC_INCDIR -DPDO_ODBC_TYPE=\\\"$pdo_odbc_flavour\\\""
                    147:   PDO_ODBC_LDFLAGS="$pdo_odbc_def_ldflags -L$PDO_ODBC_LIBDIR -l$pdo_odbc_def_lib"
                    148: 
                    149:   PHP_EVAL_LIBLINE([$PDO_ODBC_LDFLAGS], [PDO_ODBC_SHARED_LIBADD])
                    150: 
                    151:   dnl Check first for an ODBC 1.0 function to assert that the libraries work
                    152:   PHP_CHECK_LIBRARY($pdo_odbc_def_lib, SQLBindCol,
                    153:   [
                    154:     dnl And now check for an ODBC 3.0 function to assert that they're
                    155:     dnl *good* libraries.
                    156:     PHP_CHECK_LIBRARY($pdo_odbc_def_lib, SQLAllocHandle,
                    157:     [], [
                    158:       AC_MSG_ERROR([
                    159: Your ODBC library does not appear to be ODBC 3 compatible.
                    160: You should consider using iODBC or unixODBC instead, and loading your
                    161: libraries as a driver in that environment; it will emulate the
                    162: functions required for PDO support.
                    163: ])], $PDO_ODBC_LDFLAGS)
                    164:   ],[
                    165:     AC_MSG_ERROR([Your ODBC library does not exist or there was an error. Check config.log for more information])
                    166:   ], $PDO_ODBC_LDFLAGS)
                    167: 
1.1.1.2 ! misho     168:   PHP_NEW_EXTENSION(pdo_odbc, pdo_odbc.c odbc_driver.c odbc_stmt.c, $ext_shared,,-I$pdo_cv_inc_path $PDO_ODBC_INCLUDE)
1.1       misho     169:   PHP_SUBST(PDO_ODBC_SHARED_LIBADD)
                    170:   ifdef([PHP_ADD_EXTENSION_DEP],
                    171:   [
                    172:     PHP_ADD_EXTENSION_DEP(pdo_odbc, pdo)
                    173:   ])
                    174: fi

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>