From 9cd4f91ac981b18effada505a06bf57ab56b98e4 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Tue, 7 Nov 2006 00:38:12 +0000 Subject: [PATCH] allow to select the desired ODBC sequence (ITS#4735) --- configure | 80 ++++++++++++++++++++++++++++++++++++++++------------ configure.in | 37 ++++++++++++++++++------ 2 files changed, 91 insertions(+), 26 deletions(-) diff --git a/configure b/configure index 05f093e0ec..9f262b2c9f 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in OpenLDAP: pkg/ldap/configure.in,v 1.638 2006/09/21 15:54:37 hyc Exp . +# From configure.in OpenLDAP: pkg/ldap/configure.in,v 1.639 2006/10/11 10:36:54 kurt Exp . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59. # @@ -1088,6 +1088,7 @@ Optional Packages: --with-tls with TLS/SSL support [auto] --with-yielding-select with implicitly yielding select [auto] --with-mp with multiple precision statistics auto|longlong|long|bignum|gmp [auto] + --with-odbc with specific ODBC support iodbc|unixodbc|auto [auto] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] @@ -2449,6 +2450,29 @@ else ol_with_mp="auto" fi; # end --with-mp +# OpenLDAP --with-odbc + +# Check whether --with-odbc or --without-odbc was given. +if test "${with_odbc+set}" = set; then + withval="$with_odbc" + + ol_arg=invalid + for ol_val in auto iodbc unixodbc ; do + if test "$withval" = "$ol_val" ; then + ol_arg="$ol_val" + fi + done + if test "$ol_arg" = "invalid" ; then + { { echo "$as_me:$LINENO: error: bad value $withval for --with-odbc" >&5 +echo "$as_me: error: bad value $withval for --with-odbc" >&2;} + { (exit 1); exit 1; }; } + fi + ol_with_odbc="$ol_arg" + +else + ol_with_odbc="auto" +fi; # end --with-odbc + # Check whether --enable-xxslapdoptions or --disable-xxslapdoptions was given. @@ -5662,7 +5686,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 5665 "configure"' > conftest.$ac_ext + echo '#line 5689 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7642,11 +7666,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7645: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7669: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7649: \$? = $ac_status" >&5 + echo "$as_me:7673: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7904,11 +7928,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7907: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7931: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7911: \$? = $ac_status" >&5 + echo "$as_me:7935: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7966,11 +7990,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7969: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7993: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7973: \$? = $ac_status" >&5 + echo "$as_me:7997: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10214,7 +10238,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5 + if test $ol_with_odbc = auto ; then + ol_with_odbc="iodbc unixodbc" + fi + + for odbc in $ol_with_odbc ; do + if test $ol_link_sql = no ; then + case $odbc in + iodbc) + echo "$as_me:$LINENO: checking for SQLDriverConnect in -liodbc" >&5 echo $ECHO_N "checking for SQLDriverConnect in -liodbc... $ECHO_C" >&6 if test "${ac_cv_lib_iodbc_SQLDriverConnect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -32254,10 +32286,13 @@ else have_iodbc=no fi - if test $have_iodbc = yes ; then - ol_link_sql="-liodbc" - else - echo "$as_me:$LINENO: checking for SQLDriverConnect in -lodbc" >&5 + if test $have_iodbc = yes ; then + ol_link_sql="-liodbc" + fi + ;; + + unixodbc) + echo "$as_me:$LINENO: checking for SQLDriverConnect in -lodbc" >&5 echo $ECHO_N "checking for SQLDriverConnect in -lodbc... $ECHO_C" >&6 if test "${ac_cv_lib_odbc_SQLDriverConnect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -32327,10 +32362,19 @@ else have_odbc=no fi - if test $have_odbc = yes ; then - ol_link_sql="-lodbc" + if test $have_odbc = yes ; then + ol_link_sql="-lodbc" + fi + ;; + + *) + { { echo "$as_me:$LINENO: error: unknown ODBC library" >&5 +echo "$as_me: error: unknown ODBC library" >&2;} + { (exit 1); exit 1; }; } + ;; + esac fi - fi + done LIBS="$sql_LIBS" diff --git a/configure.in b/configure.in index 5b8fdbc20d..be2f5e9043 100644 --- a/configure.in +++ b/configure.in @@ -254,6 +254,9 @@ OL_ARG_WITH(yielding_select, OL_ARG_WITH(mp, [ --with-mp with multiple precision statistics auto|longlong|long|bignum|gmp], auto, [auto longlong long bignum gmp yes no]) +OL_ARG_WITH(odbc, + [ --with-odbc with specific ODBC support iodbc|unixodbc|auto], + auto, [auto iodbc unixodbc] ) dnl ---------------------------------------------------------------- dnl Server options @@ -2071,16 +2074,34 @@ if test $ol_enable_sql != no ; then sql_LIBS="$LIBS" LIBS="$LTHREAD_LIBS" - AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no]) - if test $have_iodbc = yes ; then - ol_link_sql="-liodbc" - else - AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no]) - if test $have_odbc = yes ; then - ol_link_sql="-lodbc" - fi + if test $ol_with_odbc = auto ; then + ol_with_odbc="iodbc unixodbc" fi + for odbc in $ol_with_odbc ; do + if test $ol_link_sql = no ; then + case $odbc in + iodbc) + AC_CHECK_LIB(iodbc, SQLDriverConnect, [have_iodbc=yes], [have_iodbc=no]) + if test $have_iodbc = yes ; then + ol_link_sql="-liodbc" + fi + ;; + + unixodbc) + AC_CHECK_LIB(odbc, SQLDriverConnect, [have_odbc=yes], [have_odbc=no]) + if test $have_odbc = yes ; then + ol_link_sql="-lodbc" + fi + ;; + + *) + AC_MSG_ERROR([unknown ODBC library]) + ;; + esac + fi + done + LIBS="$sql_LIBS" if test $ol_link_sql != no ; then -- 2.39.5