blob: 263abc4e3e63bf790fe8d176fcd417a503b68423 [file] [log] [blame]
# Copyright (C) 2006-2010 David Sugar, Tycho Softworks.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
AC_INIT([ucommon],[6.0.7])
AC_CONFIG_SRCDIR([inc/ucommon/ucommon.h])
LT_VERSION="6:3:0"
OPENSSL_REQUIRES="0.9.7"
AC_CONFIG_AUX_DIR(autoconf)
AC_CANONICAL_SYSTEM
AC_PROG_CPP
AC_PROG_CC
AC_PROG_CXXCPP
AC_PROG_CXX
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
AM_INIT_AUTOMAKE([dist-shar dist-zip])
AM_CONFIG_HEADER(ucommon-config.h)
AC_C_RESTRICT
AC_C_VOLATILE
AC_C_INLINE
UCOMMON_VISIBILITY="0"
UCOMMON_FLAGS=""
UCOMMON_MODEL="CXX"
UCOMMON_CLINK=""
UCOMMON_LIBC="-lc"
UCOMMON_LIBS=""
OPENSSL_LINK=""
CHECKFLAGS="$CHECKFLAGS"
case "$with_crypto" in
ssl|openssl)
ssl="openssl"
;;
gnutls|gnu)
ssl="gnutls"
;;
none|nossl)
ssl="nossl"
;;
*)
ssl="detect"
;;
esac
have_gettext="no"
socket_lib=""
posix4_lib=""
rt_lib=""
test -z "$localedir" && localedir='${datadir}/locale'
AC_DEFUN([AC_SUBST_DIR], [
ifelse($2,,,$1="[$]$2")
result="***"
prior="A"
while test "$prior" != "$result" ; do
prior=`(echo "[$]$1")`
$1=`(
test "x$prefix" = xNONE && prefix="$ac_default_prefix"
test "x$exec_prefix" = xNONE && exec_prefix="${prefix}"
eval echo \""[$]$1"\"
)`
result=`(echo "[$]$1")`
done
AC_SUBST($1)
])
# for very old gcc and for minix we disable full ucommon build by default
# we also disable for mingw32 or when no "shared" library support because
# libstdc++ is not dll and really bloats in linkage of plugins. Any case,
# you can always override with --enable-stdcpp...
if test -z "$enable_stdcpp" ; then
if test "x$GCC" = "xyes" ; then
gccver=`$CC -dumpversion | cut -f1 -d.`
fi
if test -z "$gccver" ; then
gccver="3"
fi
if test "$gccver" -lt "3" ; then
enable_stdcpp="no"
fi
if test "x$enable_shared" = "xno" ; then
enable_stdcpp="no"
fi
case "$target_os" in
*minix*|mingw*)
enable_stdcpp="no"
;;
esac
fi
AC_ARG_ENABLE(posix-timers,
AC_HELP_STRING([--enable-posix-timers],
[enable posix timers]))
if test "x$enable_posix_timers" = "xyes" ; then
UCOMMON_FLAGS="$UCOMMON_FLAGS -DPOSIX_TIMERS"
fi
AC_ARG_ENABLE(stdcpp,
AC_HELP_STRING([--disable-stdcpp],
[compile without stdc++ runtime overhead]))
AC_MSG_CHECKING([full c++ support and linking model])
if test "x$enable_stdcpp" = "xno" ; then
UCOMMON_MODEL="CC"
AC_MSG_RESULT(no)
COMPAT=""
else
COMPAT="commoncpp"
AC_MSG_RESULT(yes)
fi
AC_ARG_WITH(sslstack,
AC_HELP_STRING([--with-sslstack=lib],[specify which ssl stack to build]),[
if test x$with_sslstack != x ; then
ssl="${with_sslstack}" ; fi
])
AC_ARG_WITH(libc,
AC_HELP_STRING([--with-libc=path],[specify path to alternate libc]),[
if test x$with_libc != x ; then
clib=`echo ${with_libc} | sed s/[-]l//`
UCOMMON_LIBC=-l${clib} ; fi
])
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug],[compile for debugging]))
if test -z "$enable_debug" ; then
enable_debug="no"
elif test $enable_debug = "yes" ; then
CXXFLAGS="${CXXFLAGS} -g -DDEBUG"
fi
AH_BOTTOM([
#include <ucommon/platform.h>
])
threading="none"
clib=`echo ${UCOMMON_LIBC} | sed s/[-]l//`
tlib=""
AC_CHECK_HEADERS(stdint.h poll.h sys/mman.h sys/shm.h sys/poll.h sys/timeb.h endian.h sys/filio.h dirent.h sys/resource.h wchar.h netinet/in.h net/if.h)
AC_CHECK_HEADERS(mach/clock.h mach-o/dyld.h linux/version.h sys/inotify.h sys/event.h syslog.h sys/wait.h termios.h termio.h fcntl.h unistd.h)
AC_CHECK_HEADERS(sys/param.h sys/lockf.h sys/file.h dlfcn.h)
AC_CHECK_HEADER(regex.h, [
AC_DEFINE(HAVE_REGEX_H, [1], [have regex header])
AC_CHECK_LIB(regex, regfree, [
UCOMMON_LIBS="$UCOMMON_LIBS -lregex"
])
])
AC_CHECK_LIB(msvcrt, fopen, [
threading="msw"
clib="msvcrt"
UCOMMON_VISIBILITY="0"
UCOMMON_LIBS="--enable-stdcall-fixup $UCOMMON_LIBS -lmingwex -lmingw32 -lcrypt32 -ladvapi32 -luser32 -lws2_32 -lwsock32 -lkernel32"
UCOMMON_LIBC="-lmsvcrt -lgcc"
OPENSSL_LINK="-lgdi32"
AC_DEFINE(HAVE_INET_NTOP, [1], [have inet_ntop])
AC_DEFINE(HAVE_GETADDRINFO, [1], [have getaddrinfo])
],[
AC_CHECK_LIB(gcc, __modsi3, [
UCOMMON_LIBC="$UCOMMON_LIBC -lgcc"
])
AC_CHECK_LIB($clib, socketpair, [
AC_DEFINE(HAVE_SOCKETPAIR, [1], [have socketpair])
],[
AC_CHECK_LIB(socket, socketpair, [AC_DEFINE(HAVE_SOCKETPAIR, [1], [have socketpair])])
])
AC_CHECK_LIB($clib, getaddrinfo, [
AC_DEFINE(HAVE_GETADDRINFO, [1], [have getaddrinfo])
],[
AC_CHECK_LIB(socket, getaddrinfo, [AC_DEFINE(HAVE_GETADDRINFO, [1], [have getaddrinfo])])
])
AC_CHECK_LIB($clib, gethostbyname2, [
AC_DEFINE(HAVE_GETHOSTBYNAME2, [1], [have gethostbyname2])
],[
AC_CHECK_LIB(socket, gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2, [1], [have gethostbyname2])])
])
AC_CHECK_LIB($clib, inet_ntop, [
AC_DEFINE(HAVE_INET_NTOP, [1], [have inet ntop])
],[
AC_CHECK_LIB(socket, inet_ntop, [
AC_DEFINE(HAVE_INET_NTOP, [1], [have inet ntop])
],[
AC_CHECK_LIB(nsl, inet_ntop, [
AC_DEFINE(HAVE_INET_NTOP, [1], [have inet_ntop])
socket_lib="$socket_lib -lnsl"
])
])
])
AC_CHECK_LIB(socket, socket,[
AC_CHECK_LIB(socket, socketpair,[
AC_DEFINE(HAVE_SOCKETPAIR, [1], [have socketpair in libsocket])
])
socket_lib="-lsocket"
])
])
AC_ARG_ENABLE(socks,
AC_HELP_STRING([--enable-socks],
[compile with socks proxy support]))
if test "x$enable_socks" = "xyes" ; then
enable_socks="no"
AC_CHECK_HEADERS(socks.h, [
enable_socks="yes"
])
else
enable_socks="no"
fi
AC_MSG_CHECKING([for socks proxy support])
if test "x$enable_socks" = "xyes" ; then
socket_lib="-lsocksd $socket_lib"
AC_DEFINE(HAVE_SOCKS, [1], "Socks proxy support")
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_CHECK_LIB($clib, lstat, [
AC_DEFINE(HAVE_LSTAT, [1], [have lstat])
])
AC_CHECK_LIB($clib, strcoll, [
AC_DEFINE(HAVE_STRCOLL, [1], [string collation])
])
AC_CHECK_LIB($clib, stricmp, [
AC_DEFINE(HAVE_STRICMP, [1], [string icmp])
])
AC_CHECK_LIB($clib, stristr, [
AC_DEFINE(HAVE_STRISTR, [1], [string istr])
])
AC_CHECK_LIB($clib, sysconf, [
AC_DEFINE(HAVE_SYSCONF, [1], [system config])
])
AC_CHECK_LIB($clib, posix_memalign, [
AC_DEFINE(HAVE_POSIX_MEMALIGN, [1], [posix memory alignment])
])
AC_CHECK_LIB($clib, dlopen,,[
AC_CHECK_LIB(dl, dlopen, [UCOMMON_LIBS="$UCOMMON_LIBS -ldl"],[
AC_CHECK_LIB(compat, dlopen, [UCOMMON_LIBS="$UCOMMON_LIBS -lcompat"])
AC_CHECK_LIB(dld, shl_load,[
AC_DEFINE(HAVE_SHL_LOAD, [1], [alternate dyn loader])
UCOMMON_LIBS="$UCOMMON_LIBS -ldld"
])
])
])
PTHREAD_FLAGS=""
if test "$enable_shared" = "no" ; then
UCOMMON_FLAGS="$UCOMMON_FLAGS -DUCOMMON_STATIC" ; fi
AC_ARG_ENABLE(atomics, [
AC_HELP_STRING([--enable-atomics],[enable gcc atomic support])], [
AC_DEFINE(HAVE_GCC_ATOMICS, [1], ["cannot test in autoconf safely"])
])
AC_ARG_ENABLE(pth, [
AC_HELP_STRING([--enable-pth],[always use GNU pth for threading])
])
if test "$threading" = "none" ; then
if test "$enable_pth" != "yes" ; then
AC_CHECK_HEADER(pthread.h, [
PTHREAD_FLAGS="-mt -pthread -pthreads"
AC_CHECK_LIB(pthread,pthread_create,[
tlib="pthread"
UCOMMON_LIBS="$UCOMMON_LIBS -lpthread"
])
if test -z "$tlib" ; then
AC_CHECK_LIB($clib, pthread_create, [tlib="$clib"])
fi
if test -z "$tlib" ; then
AC_CHECK_LIB(c_r, pthread_create, [
tlib="c_r"
if test "$clib" = "c" ; then
AC_CHECK_LIB(c_r, malloc, [clib="c_r"])
fi
])
fi
if test ! -z "$tlib" ; then
AC_CHECK_LIB($tlib,pthread_condattr_setclock,[
AC_DEFINE(HAVE_PTHREAD_CONDATTR_SETCLOCK, [1], ["pthread clocking"])
])
AC_CHECK_LIB($tlib,pthread_setconcurrency,[
AC_DEFINE(HAVE_PTHREAD_SETCONCURRENCY, [1], ["pthread concurrency"])
])
AC_CHECK_LIB($tlib,pthread_yield,[
AC_DEFINE(HAVE_PTHREAD_YIELD, [1], ["pthread yield"],[
AC_CHECK_LIB($tlib,pthread_yield_np,[
AC_DEFINE(HAVE_PTHREAD_YIELD_NP, [1], ["pthread yield np"])
])
])
])
AC_CHECK_LIB($tlib,pthread_delay,[
AC_DEFINE(HAVE_PTHREAD_DELAY, [1], ["pthread delay"])
])
AC_CHECK_LIB($tlib,pthread_delay_np,[
AC_DEFINE(HAVE_PTHREAD_DELAY_NP, [1], ["pthread delay np"])
])
AC_CHECK_LIB($tlib,pthread_setschedprio,[
AC_DEFINE(HAVE_PTHREAD_SETSCHEDPRIO, [1], ["pthread scheduling"])
])
fi
],[
AC_CHECK_HEADER(windows.h,, [
AC_CHECK_HEADER(pth.h,[
UCOMMON_LIBS="$UCOMMON_LIBS -lpth"
UCOMMON_FLAGS="$UCOMMON_FLAGS -D__PTH__"
],[
AC_MSG_ERROR("pthread or GNU pth support required")
])
])
])
else
AC_CHECK_HEADER(pth.h,[
UCOMMON_LIBS="$UCOMMON_LIBS -lpth"
UCOMMON_FLAGS="$UCOMMON_FLAGS -D__PTH__"
],[
AC_MSG_ERROR("GNU pth required")
])
fi
fi
for func in ftok shm_open nanosleep clock_nanosleep clock_gettime strerror_r localtime_r gmtime_r posix_fadvise ftruncate pwrite setpgrp setlocale gettext execvp atexit realpath symlink readlink waitpid wait4 ; do
found="no"
AC_CHECK_FUNC($func,[
found=$func
],[
AC_CHECK_LIB(posix4, $func, [
found=$func
posix4_lib="-lposix4"
],[
AC_CHECK_LIB(rt, $func, [
found=$func
rt_lib="-lrt"
],[
if test ! -z "$tlib" ; then
AC_CHECK_LIB($tlib, $func, [
found=$func
])
fi
])
])
])
case $found in
shm_open)
AC_DEFINE(HAVE_SHM_OPEN, [1], [shared memory open])
;;
setpgrp)
AC_DEFINE(HAVE_SETPGRP, [1], [process group control])
;;
realpath)
AC_DEFINE(HAVE_REALPATH, [1], [realpath support])
;;
ftok)
AC_DEFINE(HAVE_FTOK, [1], [has ftok])
;;
gmtime_r)
AC_DEFINE(HAVE_GMTIME_R, [1], [has localtime_r])
;;
localtime_r)
AC_DEFINE(HAVE_LOCALTIME_R, [1], [has localtime_r])
;;
strerror_r)
AC_DEFINE(HAVE_STRERROR_R, [1], [has strerror_r])
;;
nanosleep)
AC_DEFINE(HAVE_NANOSLEEP, [1], [has nanosleep])
;;
clock_nanosleep)
AC_DEFINE(HAVE_CLOCK_NANOSLEEP, [1], [has clocked nanosleep])
;;
clock_gettime)
AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [has posix clock functions])
;;
posix_fadvise)
AC_DEFINE(HAVE_POSIX_FADVISE, [1], [can specify access options])
;;
ftruncate)
AC_DEFINE(HAVE_FTRUNCATE, [1], [can truncate files])
;;
pwrite)
AC_DEFINE(HAVE_PWRITE, [1], [can do atomic write with offset])
;;
setlocale)
AC_DEFINE(HAVE_SETLOCALE, [1], [can set localization])
;;
gettext)
AC_DEFINE(HAVE_GETTEXT, [1], [has gettext in libc])
have_gettext="yes"
;;
execvp)
AC_DEFINE(HAVE_EXECVP, [1], [has execvp in libc])
;;
symlink)
AC_DEFINE(HAVE_SYMLINK, [1], [has symlink in libc])
;;
readlink)
AC_DEFINE(HAVE_READLINK, [1], [has readlink in libc])
;;
waitpid)
AC_DEFINE(HAVE_WAITPID, [1], [has waitpid in libc])
;;
wait4)
AC_DEFINE(HAVE_WAIT4, [1], [has wait4 in libc])
;;
esac
done
UCOMMON_LINKED="$socket_lib $posix4_lib $rt_lib $UCOMMON_LIBS"
UCOMMON_LIBS="$socket_lib $posix4_lib $rt_lib $UCOMMON_LIBS $UCOMMON_LIBC"
if test "$UCOMMON_MODEL" = "CC" ; then
AC_CHECK_LIB(Systemstubs, printf, [
UCOMMON_CLINK="$UCOMMON_CLINK -lSystemstubs"
UCOMMON_LIBC="$UCOMMON_LIBC -lgcc"
])
fi
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
COMPILER_FLAGS=""
if test "x$GCC" = "xyes" ; then
UCOMMON_FLAGS="$UCOMMON_FLAGS -Wno-long-long" ; fi
for flag in $CXXFLAGS ; do
case "$flag" in
-f*exceptions|-f*rtti|-f*check-new|-f*enforce-eh-specs|-finline|-f*except)
if test "$UCOMMON_MODEL" = "CXX" ; then
UCOMMON_FLAGS="$UCOMMON_FLAGS $flag" ; fi
;;
-fvisibility=*)
VISIBLE_FLAGS=""
COMPILER_FLAGS="$COMPILER_FLAGS $flag"
;;
*)
COMPILER_FLAGS="$COMPILER_FLAGS $flag"
;;
esac
done
export CXXFLAGS="$COMPILER_FLAGS"
if test "$UCOMMON_MODEL" = "CC" ; then
UCOMMON_FLAGS="$UCOMMON_FLAGS"
if test x"$GCC" = "xyes" ; then
ucflags="-fno-exceptions -fno-rtti -fno-enforce-eh-specs"
lcflags="-nodefaultlibs -nostdinc++"
else
ucflags="-library=no%Cstd -features=no%except -features=namespace -features=no%rtti"
lcflags=""
fi
for flag in $ucflags ; do
AC_MSG_CHECKING([whether ${CXX} supports $flag])
echo 'void f(){}' >conftest.cpp
if test -z "`${CXX} $flag -c conftest.cpp 2>&1`"; then
UCOMMON_FLAGS="$UCOMMON_FLAGS $flag"
AC_MSG_RESULT(yes)
if test "$flag" = "-library=no%Cstd" ; then
UCOMMON_MODEL="CXX" ; fi
else
AC_MSG_RESULT(no)
fi
rm -f conftest*
done
for flag in $lcflags ; do
AC_MSG_CHECKING([whether ${CXX} supports $flag])
echo 'void f(){}' >conftest.cpp
if test -z "`${CXX} $flag -c conftest.cpp 2>&1`"; then
UCOMMON_CLINK="$UCOMMON_CLINK $flag"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
rm -f conftest*
done
else
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=""
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_CHECK_HEADERS(stdexcept)
AC_MSG_CHECKING(for old style iostream)
AC_TRY_COMPILE([
#include <iostream>
using namespace std;
class mystr : public streambuf, public iostream
{
mystr();
};
mystr::mystr() : streambuf(), iostream((streambuf *)this)
{
}
],[return 0;],[
AC_MSG_RESULT(no)
UCOMMON_FLAGS="$UCOMMON_FLAGS -DNEW_STDCPP"
],[
AC_MSG_RESULT(yes)
UCOMMON_FLAGS="$UCOMMON_FLAGS -DOLD_STDCPP"
])
AC_LANG_RESTORE
CXXFLAGS="$ac_save_CXXFLAGS"
fi
if test ! -z "$PTHREAD_FLAGS" ; then
for flag in $PTHREAD_FLAGS ; do
AC_MSG_CHECKING([whether ${CXX} supports $flag])
echo 'void f(){}' >conftest.cpp
if test -z "`${CXX} $flag -c conftest.cpp 2>&1`"; then
AC_MSG_RESULT(yes)
UCOMMON_FLAGS="$UCOMMON_FLAGS $flag"
break
else
AC_MSG_RESULT(no)
fi
done
fi
export CXXFLAGS
# libstdc++ on some targets broken badly if inlines hidden. Might be
# deeper issue with ansi c++ library model...
flags="-fno-check-new -finline"
if test "$UCOMMON_MODEL" = "CC" ; then
if test "$enable_shared" != "no" ; then
flags="$flags -fvisibility-inlines-hidden"
fi
fi
for flag in $flags ; do
AC_MSG_CHECKING([whether ${CXX} supports $flag])
echo 'void f(){}' >conftest.cpp
if test -z "`${CXX} $flag -c conftest.cpp 2>&1`"; then
UCOMMON_FLAGS="$UCOMMON_FLAGS $flag"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
rm -f conftest*
done
AC_MSG_CHECKING([whether ${CXX} supports visibility])
echo 'void f(){}' >conftest.cpp
if test -z "`${CXX} -fvisibility=hidden -c conftest.cpp 2>&1`"; then
UCOMMON_FLAGS="$UCOMMON_FLAGS -fvisibility=hidden -DUCOMMON_VISIBILITY=1"
AC_MSG_RESULT(yes)
UCOMMON_VISIBILITY="1"
else
UCOMMON_FLAGS="$UCOMMON_FLAGS -DUCOMMON_VISIBILITY=0"
AC_MSG_RESULT(no)
fi
rm -f conftest*
AC_LANG_RESTORE
AC_SUBST_DIR(includes, includedir)
AC_SUBST_DIR(libs, libdir)
case "$libs" in
/usr/*)
;;
*)
UCOMMON_LINKED="-L$libs $UCOMMON_LINKED"
;;
esac
case "$includes" in
/usr/*)
;;
*)
UCOMMON_FLAGS="$UCOMMON_FLAGS -I$includes"
;;
esac
case "$target_os" in
*bsd*)
if test "$UCOMMON_MODEL" = "CC" ; then
if test "$GCC" = "yes" -a "$UCOMMON_LIBC" = "-lc" ; then
UCOMMON_LIBC="-Wl,-lc"
elif test "$GCC" = "yes" -a "$UCOMMON_LIBC" = "-lc_r" ; then
UCOMMON_LIBC="-Wl,-lc_r"
fi
fi
;;
osf*)
UCOMMON_FLAGS="$UCOMMON_FLAGS -D_POSIX_C_SOURCE=1 -D_OSF_SOURCE=1 -D__USE_STD_IOSTREAM"
;;
cygwin*|mingw*)
UCOMMON_LINKED="$UCOMMON_LINKED -no-undefined"
UCOMMON_LIBS="$UCOMMON_LIBS -no-undefined"
;;
esac
UCOMMON_CLINK="$UCOMMON_CLINK $UCOMMON_LIBC"
if test -z "$UCOMMON_SSLSTACK" ; then
UCOMMON_SSLSTACK="$sslstack" ; fi
OPENSSL_LIBS=""
GNUTLS_LIBS=""
AC_ARG_WITH(pkg-config,
AC_HELP_STRING([--with-pkg-config],[enable support for pkg-config]),[
PKG_CHECK_MODULES(OPENSSL, [openssl >= $OPENSSL_REQUIRES], [], [
OPENSSL_LIBS=""
AC_CHECK_HEADERS(openssl/ssl.h, [
OPENSSL_LIBS="-lssl -lcrypto -lz $OPENSSL_LINK"
])
AC_CHECK_HEADERS(openssl/fips.h)
])
PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.8.0], [], [GNUTLS_LIBS=""])
],[
AC_CHECK_HEADERS(openssl/ssl.h, [
OPENSSL_LIBS="-lssl -lcrypto -lz $OPENSSL_LINK"
])
AC_CHECK_HEADERS(openssl/fips.h)
AC_CHECK_LIB(gnutls, gnutls_init, [
GNUTLS_LIBS="-lgnutls"
])
])
SECURE=""
case "$ssl" in
secure|any|detect)
if test ! -z "$GNUTLS_LIBS" ; then
SECURE_LIBS="$GNUTLS_LIBS"
SECURE="gnutls"
fi
if test -z "$SECURE" ; then
if test ! -z "$OPENSSL_LIBS" ; then
SECURE_LIBS="$OPENSSL_LIBS"
SECURE="openssl"
fi
fi
;;
gnutls|gnu)
if test ! -z "$GNUTLS_LIBS" ; then
SECURE_LIBS="$GNUTLS_LIBS"
SECURE="gnutls"
fi
;;
openssl|ssl)
if test ! -z "$OPENSSL_LIBS" ; then
SECURE_LIBS="$OPENSSL_LIBS"
SECURE="openssl"
fi
;;
esac
if test -z "$SECURE" ; then
SECURE_LIBS=""
SECURE="nossl"
fi
AC_MSG_CHECKING([secure library mode])
AC_MSG_RESULT([$SECURE])
SECURE_LOCAL="../$SECURE/libusecure.la $SECURE_LIBS"
LT_GENERIC="${LIBTOOL}"
if test "$UCOMMON_MODEL" = "CC" ; then
LIBTOOL='$(SHELL) $(top_srcdir)/cmodel.sh'" ${LIBTOOL}" ; fi
includes='${includedir}/ucommon'
if test "$sysconfdir" = '${prefix}/etc' ; then
sysconfdir="/etc" ; fi
if test "$localstatedir" = '${prefix}/var' ; then
localstatedir="/var" ; fi
AC_CHECK_HEADER(libintl.h, [
AC_DEFINE(HAVE_LIBINTL_H, [1], [international headers])
if test "$have_gettext" = "no" ; then
AC_CHECK_LIB(intl, gettext, [
AC_DEFINE(HAVE_GETTEXT, [1], [has gettext in glibc])
UCOMMON_LIBS="$UCOMMON_LIBS -lintl"
])
fi
])
if test "$prefix" = "NONE" ; then
prefixdir="$ac_default_prefix"
else
prefixdir="$prefix" ; fi
AC_SUBST_DIR(UCOMMON_INCLUDES, includes)
AC_SUBST_DIR(UCOMMON_LOCALE, localedir)
AC_SUBST_DIR(UCOMMON_CFGPATH, sysconfdir)
AC_SUBST_DIR(UCOMMON_VARPATH, localstatedir)
AC_SUBST_DIR(UCOMMON_PREFIX, prefixdir)
AC_DEFINE_UNQUOTED(UCOMMON_PREFIX, "$UCOMMON_PREFIX", [config path])
AC_DEFINE_UNQUOTED(UCOMMON_CFGPATH, "$UCOMMON_CFGPATH", [config path])
AC_DEFINE_UNQUOTED(UCOMMON_VARPATH, "$UCOMMON_VARPATH", [config path])
AC_DEFINE_UNQUOTED(UCOMMON_LOCALE, "$UCOMMON_LOCALE", [locale path])
AC_PATH_PROG(DOXYGEN, doxygen, doxygen)
AC_SUBST(DOXYGEN)
AC_SUBST(CHECKFLAGS)
AC_SUBST(CXXFLAGS)
AC_SUBST(UCOMMON_VISIBILITY)
AC_SUBST(UCOMMON_INCLUDES)
AC_SUBST(UCOMMON_LOCALE)
AC_SUBST(UCOMMON_LINKED)
AC_SUBST(UCOMMON_MODEL)
AC_SUBST(UCOMMON_FLAGS)
AC_SUBST(UCOMMON_CLINK)
AC_SUBST(UCOMMON_LIBC)
AC_SUBST(UCOMMON_LIBS)
AC_SUBST(SECURE_LOCAL)
AC_SUBST(SECURE_LIBS)
AC_SUBST(SECURE)
AC_SUBST(COMPAT)
AC_SUBST(OPENSSL_LIBS)
AC_SUBST(GNUTLS_LIBS)
AC_SUBST(LT_VERSION)
AC_SUBST(LT_GENERIC)
AC_SUBST(localedir)
AC_OUTPUT(Makefile corelib/Makefile commoncpp/Makefile
openssl/Makefile gnutls/Makefile nossl/Makefile utils/Makefile
inc/Makefile inc/ucommon/Makefile inc/commoncpp/Makefile test/Makefile
directive commoncpp.pc ucommon.pc ucommon.spec ucommon-config commoncpp-config)