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

347 lines (302 sloc) 9.086 kb
AC_PREREQ(2.50)
AC_REVISION($Id$)
#
# configure.in
#
# (C) 2001 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
AC_CONFIG_SRCDIR([include/isql.h])
AC_CONFIG_AUX_DIR(admin)
AM_CONFIG_HEADER(include/config.h)
AM_INIT_AUTOMAKE(libiodbc,3.0.4)
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, [Define if you have the -ldl library])
LIBADD_DL="-ldl"],
[AC_CHECK_FUNCS(dlopen _dlopen, [
AC_DEFINE(HAVE_LIBDL, 1,[Define if you have the -ldl library])
])]
)
AC_CHECK_FUNC(shl_load,
[AC_DEFINE(HAVE_SHL_LOAD, 1, [Define if you have the shl_load function])],
[AC_CHECK_LIB(dld, shl_load,
[AC_DEFINE(HAVE_SHL_LOAD, 1, [Define if you have the shl_load function]) LIBADD_DL="$LIBADD_DL -ldld"])]
)
AC_CHECK_LIB(dld, dld_link,
[AC_DEFINE(HAVE_DLD, 1, [Define if you have the -ldld library])dnl
test "x$ac_cv_lib_dld_shl_load" = yes || LIBADD_DL="$LIBADD_DL -ldld"])
AC_CHECK_FUNC(NSCreateObjectFileImageFromFile,
[AC_DEFINE(HAVE_DYLD, 1, [Define if you have the DYLD library])])
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:4: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",
[Define path to systemwide odbc.ini file])
AC_DEFINE_UNQUOTED(SYS_ODBCINST_INI, "$inidir/odbcinst.ini",
[Define path to systemwide odbcinst.ini file])
##########################################################################
## ##
## 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_CONFIG_FILES([
Makefile
admin/Makefile
admin/libiodbc.spec
bin/Makefile
bin/iodbc-config
etc/Makefile
include/Makefile
iodbc/Makefile
samples/Makefile
])
AC_CONFIG_COMMANDS([default],[
chmod 755 bin/iodbc-config
])
AC_OUTPUT
Jump to Line
Something went wrong with that request. Please try again.