Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

331 lines (286 sloc) 8.483 kb
AC_PREREQ(2.13)
AC_REVISION($Id$)
#
# configure.in
#
# (C) 1999 OpenLink Software Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
##########################################################################
## ##
## Initialization ##
## ##
##########################################################################
AC_INIT(isql.h)
AM_INIT_AUTOMAKE(libiodbc,3.0.2)
AC_CANONICAL_HOST
AM_MAINTAINER_MODE
##########################################################################
## ##
## Check whether config.cache belongs to this machine ##
## ##
##########################################################################
AC_MSG_CHECKING(cached information)
hostcheck="$host"
AC_CACHE_VAL(ac_cv_hostcheck, [ ac_cv_hostcheck="$hostcheck" ])
if test "$ac_cv_hostcheck" != "$hostcheck"; then
AC_MSG_RESULT(changed)
AC_MSG_WARN([Running on a different architecture.])
AC_MSG_WARN([Can't use cached values.])
AC_MSG_ERROR([Please remove the invalid config.cache file, then try again.])
else
AC_MSG_RESULT(ok)
fi
##########################################################################
## ##
## Check for C compiler ##
## ##
##########################################################################
AC_PROG_CC
AC_PROG_CC_C_O
AC_PROG_CC_STDC
AC_PROG_CPP
AC_LANG_C
##########################################################################
## ##
## Check for standard programs ##
## ##
##########################################################################
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
dnl AC_PROG_RANLIB
AC_LIBTOOL_DLOPEN
AM_PROG_LIBTOOL
##########################################################################
## ##
## Check for header files ##
## ##
##########################################################################
dnl Checks for header files.
AC_HEADER_STDC
##########################################################################
## ##
## Check for specific library functions ##
## ##
##########################################################################
AC_CHECK_FUNCS(strerror)
##########################################################################
## ##
## Check for dynamic load module ##
## ##
##########################################################################
AC_CHECK_HEADERS(dlfcn.h dl.h dld.h)
LIBADD_DL=
AC_CHECK_LIB(dl, dlopen,
[AC_DEFINE(HAVE_LIBDL, 1) LIBADD_DL="-ldl"],
[AC_CHECK_FUNCS(dlopen _dlopen, [AC_DEFINE(HAVE_LIBDL, 1)])]
)
AC_CHECK_FUNC(shl_load,
[AC_DEFINE(HAVE_SHL_LOAD, 1)],
[AC_CHECK_LIB(dld, shl_load,
[AC_DEFINE(HAVE_SHL_LOAD, 1) LIBADD_DL="$LIBADD_DL -ldld"])]
)
AC_CHECK_LIB(dld, dld_link,
[AC_DEFINE(HAVE_DLD, 1)dnl
test "x$ac_cv_lib_dld_shl_load" = yes || LIBADD_DL="$LIBADD_DL -ldld"])
AC_CHECK_FUNC(NSCreateObjectFileImageFromFile,
[AC_DEFINE(HAVE_DYLD, 1)])
AC_SUBST(LIBADD_DL)
AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
${CC} -c conftest.c > /dev/null
if (nm conftest.o | grep _fnord) > /dev/null; then
libltdl_cv_uscore=yes
else
libltdl_cv_uscore=no
fi
rm -f conftest*
])
if test x"$libltdl_cv_uscore" = xyes; then
if test x"$ac_cv_func_dlopen" = xyes ||
test x"$ac_cv_lib_dl_dlopen" = xyes ; then
AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
libltdl_cv_need_uscore, [dnl
AC_TRY_RUN([
#if HAVE_DLFCN_H
#include <dlfcn.h>
#endif
#include <stdio.h>
#ifdef RTLD_GLOBAL
# define LTDL_GLOBAL RTLD_GLOBAL
#else
# ifdef DL_GLOBAL
# define LTDL_GLOBAL DL_GLOBAL
# else
# define LTDL_GLOBAL 0
# endif
#endif
/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
find out it does not work in some platform. */
#ifndef LTDL_LAZY_OR_NOW
# ifdef RTLD_LAZY
# define LTDL_LAZY_OR_NOW RTLD_LAZY
# else
# ifdef DL_LAZY
# define LTDL_LAZY_OR_NOW DL_LAZY
# else
# ifdef RTLD_NOW
# define LTDL_LAZY_OR_NOW RTLD_NOW
# else
# ifdef DL_NOW
# define LTDL_LAZY_OR_NOW DL_NOW
# else
# define LTDL_LAZY_OR_NOW 0
# endif
# endif
# endif
# endif
#endif
fnord ()
{
int i = 42;
}
main ()
{
void *self, *ptr1, *ptr2;
self = dlopen (0, LTDL_GLOBAL | LTDL_LAZY_OR_NOW);
if (self)
{
ptr1 = dlsym (self, "fnord");
ptr2 = dlsym (self, "_fnord");
if (ptr1 && !ptr2)
{
dlclose (self);
exit (0);
}
}
exit (1);
}
], libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
libltdl_cv_need_uscore=no
)])
fi
fi
if test x"$libltdl_cv_need_uscore" = xyes; then
AC_DEFINE(NEED_USCORE, 1,
[Define if dlsym() requires a leading underscode in symbol names. ])
fi
##########################################################################
## ##
## Set version information ##
## ##
##########################################################################
AC_MSG_CHECKING(for iODBC mode)
AC_ARG_ENABLE(odbc3,
[ --enable-odbc3 build ODBC 3.x compatible driver manager (default)
--disable-odbc3 build ODBC 2.x compatible driver manager],
[
case "${enableval}" in
yes) odbcmode=3 ;;
no) odbcmode=2 ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-odbc3) ;;
esac
],
[
odbcmode=3 # set default to ODBC 3.x mode
])
if test "x$odbcmode" = "x3"
then
lib_version=3:2:1
CFLAGS="$CFLAGS -DODBCVER=0x0350"
AC_MSG_RESULT(ODBC 3.x compatible mode)
else
lib_version=2:53:0;
CFLAGS="$CFLAGS -DODBCVER=0x0250"
AC_MSG_RESULT(ODBC 2.x compatible mode)
fi
AC_SUBST(odbcmode)
AC_SUBST(lib_version)
##########################################################################
## ##
## Where to find the system odbc.ini file **
## ##
##########################################################################
#
# First determine the systemwide default directory according
# to GNU specifications
#
AC_MSG_CHECKING(system config directory)
sysinidir=`eval echo $sysconfdir`
case "$sysinidir" in
NONE*)
sysinidir=$ac_default_prefix/etc
;;
/usr/etc)
sysinidir=/etc
;;
*)
sysinidir=`eval echo $sysconfdir`
;;
esac
AC_MSG_RESULT($sysinidir)
#
# Now allow to overrule this directory with a custom setting
#
AC_MSG_CHECKING(for iODBC ini directory)
AC_ARG_WITH(iodbc-inidir,
[ --with-iodbc-inidir=DIR where the system odbc.ini file should be located.
(default is /etc) ],
[
case "$withval" in
yes|no)
inidir=$sysinidir
;;
*)
inidir=$withval
;;
esac
], [ inidir=/etc ])
AC_MSG_RESULT($inidir)
AC_SUBST(inidir)
AC_DEFINE_UNQUOTED(SYS_ODBC_INI, "$inidir/odbc.ini")
AC_DEFINE_UNQUOTED(SYS_ODBCINST_INI, "$inidir/odbcinst.ini")
##########################################################################
## ##
## Checkout pthread situation ##
## ##
##########################################################################
AC_ARG_WITH(pthreads,
[ --with-pthreads build pthread implementation if possible],
[CFLAGS="$CFLAGS -DWITH_PTHREADS -D_REENTRANT"
AC_CHECK_LIB(pthreads, pthread_create,
[if test "$host_os" = "osf3.2"
then
CFLAGS="$CFLAGS -DOLD_PTHREADS"
LIBS="$LIBS -lpthreads -lmach -lc_r"
else
LIBS="$LIBS -lpthreads"
fi
],
[AC_CHECK_LIB(pthread, pthread_create, [LIBS="$LIBS -lpthread"])])
])
##########################################################################
## ##
## Generate Makefiles etc. ##
## ##
##########################################################################
AC_OUTPUT([
Makefile
samples/Makefile
iodbc-config
], [
chmod 755 iodbc-config
])
Jump to Line
Something went wrong with that request. Please try again.