X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=configure.in;h=b6ec40284af1cef822873bc17c566715bfd2eb96;hb=f2a80ff827fe9b773afa314879b59e42250341c5;hp=4dd720267ae6888928de2611db1cedb5ef8915f6;hpb=f7e10947ca1177bfde50e6e60b2074bff284f0a7;p=openldap diff --git a/configure.in b/configure.in index 4dd720267a..b6ec40284a 100644 --- a/configure.in +++ b/configure.in @@ -446,7 +446,7 @@ fi if test $ol_enable_kbind = yes -o $ol_enable_kpasswd = yes ; then if test $ol_with_kerberos = no ; then AC_MSG_ERROR([options require --with-kerberos]) - elif $ol_with_kerberos = auto ; then + elif test $ol_with_kerberos = auto ; then ol_with_kerberos=yes fi @@ -513,6 +513,9 @@ SLAPD_MODULES_LDFLAGS= SLAPD_MODULES_CPPFLAGS= SLAPD_MODULES_LIST= +SLAPD_STATIC_BACKENDS= +SLAPD_DYNAMIC_BACKENDS= + SLAPD_PERL_LDFLAGS= MOD_PERL_LDFLAGS= PERL_CPPFLAGS= @@ -594,7 +597,7 @@ dnl The default CFLAGS is empty NOT whatever AC_PROG_CC sets. dnl (for now, let autoconf sort this out) dnl CFLAGS=${CFLAGS-""} -AC_CHECK_PROGS(AR,ar gar) +AC_CHECK_PROGS(AR,ar gar,ar) AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_DLOPEN @@ -705,8 +708,8 @@ if test $ol_enable_modules != no ; then fi AC_CHECK_LIB(ltdl, lt_dlinit, [ - MODULES_LIBS=-lltdl - AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl]) + MODULES_LIBS=-lltdl + AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl]) ]) if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then @@ -777,6 +780,7 @@ AC_CHECK_HEADERS( \ sys/errno.h \ sys/ioctl.h \ sys/param.h \ + sys/queue.h \ sys/resource.h \ sys/select.h \ sys/socket.h \ @@ -787,6 +791,7 @@ AC_CHECK_HEADERS( \ termios.h \ unistd.h \ winsock.h \ + winsock2.h \ ) @@ -798,24 +803,43 @@ AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)]) dnl HP-UX requires -lV3 AC_CHECK_LIB(V3, sigset) -dnl Gotta check for winsock manually -if test $ac_cv_header_winsock_h = yes; then - AC_CACHE_CHECK([for winsock], [ol_cv_winsock], - AC_TRY_LINK([#include ],[ - socket(0,0,0); - select(0,NULL,NULL,NULL,NULL); - closesocket(0); - gethostname(NULL,0); - ],[ol_cv_winsock=yes],[ol_cv_winsock=no])) - - if test $ol_cv_winsock = yes ; then - AC_DEFINE(HAVE_WINSOCK,1,[define if you have winsock]) +dnl The following is INTENTIONALLY scripted out because shell does not +dnl support variable names with the '@' character, which is what +dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS +AC_MSG_CHECKING(for winsock) +save_LIBS="$LIBS" +for curlib in ws2_32 wsock32; do + LIBS="$LIBS -l$curlib" + AC_TRY_LINK([ + char socket@12(); + char select@20(); + char closesocket@4(); + char gethostname@8(); + ], + [ + socket@12(); + select@20(); + closesocket@4(); + gethostname@8(); + ], + have_winsock=yes, have_winsock=no) + + if test $have_winsock = yes; then + AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock]) ac_cv_func_socket=yes ac_cv_func_select=yes ac_cv_func_closesocket=yes ac_cv_func_gethostname=yes + if test $curlib = ws2_32; then + have_winsock=winsock2 + AC_DEFINE(HAVE_WINSOCK2, 1, + [define if you have winsock2]) + fi + break fi -fi + LIBS="$save_LIBS" +done +AC_MSG_RESULT($have_winsock) dnl Find socket() dnl Likely combinations: @@ -836,10 +860,10 @@ dnl require select AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.])) if test "${ac_cv_header_winsock_h}" != yes; then - dnl Select arg types - dnl (if this detection becomes permenent, it and the select() detection - dnl should be done before the yielding select test) - AC_FUNC_SELECT_ARGTYPES + dnl Select arg types + dnl (if this detection becomes permenent, it and the select() detection + dnl should be done before the yielding select test) + AC_FUNC_SELECT_ARGTYPES fi dnl check to see if system call automatically restart @@ -851,13 +875,34 @@ AC_CHECK_HEADERS( regex.h ) if test "$ac_cv_header_regex_h" != yes ; then AC_MSG_ERROR([POSIX regex.h required.]) fi -AC_CHECK_FUNC(regfree, :, AC_MSG_ERROR([POSIX regex required.])) +AC_SEARCH_LIBS(regfree, [regex gnuregex], + :, AC_MSG_ERROR([POSIX regex required.])) OL_POSIX_REGEX if test "$ol_cv_c_posix_regex" = no ; then AC_MSG_ERROR([broken POSIX regex!]) fi +dnl ---------------------------------------------------------------- +dnl For windows, check for the need of RPCRT for UUID function support +AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support) +save_LIBS="$LIBS" +LIBS="$LIBS -lrpcrt4" +AC_TRY_LINK([ + char UuidCreate@4(); + char UuidToStringA@8(); + ], + [ + UuidCreate@4(); + UuidToStringA@8(); + ], + need_rpcrt=yes, need_rpcrt=no) +if test $need_rpcrt = yes; then + SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4" +fi +LIBS="$save_LIBS" +AC_MSG_RESULT($need_rpcrt) + dnl ---------------------------------------------------------------- dnl Check for resolver routines dnl need to check for both res_query and __res_query @@ -905,16 +950,14 @@ fi dnl ---------------------------------------------------------------- dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN dnl PF_LOCAL may use getaddrinfo in available -AC_CHECK_FUNCS( getaddrinfo inet_ntop ) +AC_CHECK_FUNCS( getaddrinfo gai_strerror inet_ntop ) ol_link_ipv6=no if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then if test $ol_enable_ipv6 = yes ; then AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()]) fi -else - AC_CHECK_FUNCS( gai_strerror ) - +elif test $ol_enable_ipv6 != no ; then AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[ AC_EGREP_CPP(__has_inet6_addrstrlen__,[ # include @@ -1233,9 +1276,9 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \ OL_NT_THREADS if test "$ol_cv_nt_threads" = yes ; then - ol_link_threads=nt - ol_with_threads=found - ol_with_yielding_select=yes + ol_link_threads=nt + ol_with_threads=found + ol_with_yielding_select=yes AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager]) AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log]) @@ -1579,7 +1622,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \ fi fi - elif test $ac_cv_header_cthreads_h = yes ; then + elif test $ac_cv_header_cthreads_h = yes ; then dnl Hurd variant of Mach Cthreads dnl uses and -lthreads @@ -1765,7 +1808,7 @@ dnl dnl dnl check for reentrant/threadsafe functions dnl dnl dnl dnl note: these should only be used when linking -dnl dnl with $LTHREAD_LIBS +dnl dnl with $LTHREAD_LIBS dnl dnl dnl save_CPPFLAGS="$CPPFLAGS" dnl save_LIBS="$LIBS" @@ -1897,9 +1940,10 @@ fi dnl ---------------------------------------------------------------- if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then - LINK_BINS_DYNAMIC="yes" + BUILD_LIBS_DYNAMIC=shared + AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic]) else - LINK_BINS_DYNAMIC="no" + BUILD_LIBS_DYNAMIC=static fi dnl ---------------------------------------------------------------- @@ -1984,9 +2028,9 @@ if test $ol_enable_tcl != no ; then AC_CHECK_LIB($lib,main, [have_tcl=yes if test x"$ol_with_tcl_module" = "xstatic" ; then - SLAPD_LIBS="$SLAPD_LIBS -l${lib}" + SLAPD_LIBS="$SLAPD_LIBS -l${lib}" else - MOD_TCL_LIB="-l${lib}" + MOD_TCL_LIB="-l${lib}" fi;break],[have_tcl=no]) done fi @@ -2073,7 +2117,7 @@ fi dnl ---------------------------------------------------------------- dnl Check for entropy sources -if test $cross_compiling != yes ; then +if test $cross_compiling != yes -a $ac_cv_mingw32 != yes ; then dev=no if test -r /dev/urandom ; then dev="/dev/urandom"; @@ -2291,6 +2335,8 @@ AC_CHECK_FUNCS( \ lockf \ memcpy \ memmove \ + mkstemp \ + mktemp \ pipe \ read \ recv \ @@ -2326,7 +2372,7 @@ dnl We actually may need to replace more than this. AC_REPLACE_FUNCS(getopt) if test "$ac_cv_func_getopt" != yes; then - LIBSRCS="$LIBSRCS getopt.c" + LIBSRCS="$LIBSRCS getopt.c" fi dnl ---------------------------------------------------------------- @@ -2405,6 +2451,9 @@ if test "$ol_enable_bdb" != no ; then BUILD_BDB=mod BUILD_BDB_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-bdb/back_bdb.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb" fi fi @@ -2418,6 +2467,9 @@ if test "$ol_link_dnssrv" != no ; then BUILD_DNSSRV=mod BUILD_DNSSRV_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-dnssrv/back_dnssrv.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv" fi fi @@ -2431,6 +2483,9 @@ if test "$ol_enable_ldap" != no ; then BUILD_LDAP=mod BUILD_LDAP_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldap/back_ldap.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap" fi fi @@ -2445,6 +2500,9 @@ if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then BUILD_LDBM=mod BUILD_LDBM_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldbm/back_ldbm.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm" fi fi @@ -2464,6 +2522,9 @@ if test "$ol_enable_meta" != no ; then BUILD_META=mod BUILD_META_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-meta/back_meta.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta" fi fi @@ -2477,6 +2538,9 @@ if test "$ol_enable_monitor" != no ; then BUILD_MONITOR=mod BUILD_MONITOR_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-monitor/back_monitor.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor" fi fi @@ -2490,6 +2554,9 @@ if test "$ol_enable_passwd" != no ; then BUILD_PASSWD=mod BUILD_PASSWD_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-passwd/back_passwd.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd" fi fi @@ -2503,6 +2570,9 @@ if test "$ol_link_perl" != no ; then BUILD_PERL=mod BUILD_PERL_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-perl/back_perl.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl" fi fi @@ -2516,6 +2586,9 @@ if test "$ol_enable_shell" != no ; then BUILD_SHELL=mod BUILD_SHELL_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-shell/back_shell.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell" fi fi @@ -2529,6 +2602,9 @@ if test "$ol_enable_tcl" != no ; then BUILD_TCL=mod BUILD_TCL_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-tcl/back_tcl.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-tcl" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-tcl" fi fi @@ -2542,6 +2618,9 @@ if test "$ol_link_sql" != no ; then BUILD_SQL=mod BUILD_SQL_DYNAMIC=shared SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-sql/back_sql.la" + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql" + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql" fi fi @@ -2558,28 +2637,22 @@ fi dnl ---------------------------------------------------------------- -if test "$LINK_BINS_DYNAMIC" = yes; then - LIB_LINKAGE=DYN - LT_LIB_LINKAGE=shared -else - LIB_LINKAGE=STAT - LT_LIB_LINKAGE=static -fi +dnl +dnl For Windows build, we don't want to include -dlopen flags. +dnl They hurt more than they help. +dnl if test "$ac_cv_mingw32" = yes ; then - PLAT=NT - DYN_EXT=dll + PLAT=NT + SLAPD_MODULES_LDFLAGS= + SLAPD_MODULES_LIST= else - PLAT=UNIX - DYN_EXT=so + PLAT=UNIX fi AC_SUBST(LIBSRCS) - AC_SUBST(PLAT) -AC_SUBST(LIB_LINKAGE) -AC_SUBST(LT_LIB_LINKAGE) -AC_SUBST(DYN_EXT) +AC_SUBST(BUILD_LIBS_DYNAMIC) AC_SUBST(BUILD_SLAPD) AC_SUBST(BUILD_BDB) @@ -2617,12 +2690,14 @@ AC_SUBST(LTHREAD_LIBS) AC_SUBST(LUTIL_LIBS) AC_SUBST(WRAP_LIBS) AC_SUBST(MOD_TCL_LIB) -AC_SUBST(LINK_BINS_DYNAMIC) AC_SUBST(SLAPD_MODULES_CPPFLAGS) AC_SUBST(SLAPD_MODULES_LDFLAGS) AC_SUBST(SLAPD_MODULES_LIST) +AC_SUBST(SLAPD_STATIC_BACKENDS) +AC_SUBST(SLAPD_DYNAMIC_BACKENDS) + AC_SUBST(PERL_CPPFLAGS) AC_SUBST(SLAPD_PERL_LDFLAGS) AC_SUBST(MOD_PERL_LDFLAGS) @@ -2670,7 +2745,7 @@ libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib. libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk \ libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \ libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \ -libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \ +libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \ servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \ servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \ servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \