summaryrefslogtreecommitdiffstats
path: root/ipa-server/configure.ac
diff options
context:
space:
mode:
authorKarl MacMillan <kmacmill@redhat.com>2007-10-17 15:40:55 -0400
committerKarl MacMillan <kmacmill@redhat.com>2007-10-17 15:40:55 -0400
commitf8fba3b7ddbfbb8eb33faab1df3e024a30986b3e (patch)
tree7d79dd620858f31623f4e4e90edc06e37b0be762 /ipa-server/configure.ac
parentbc52446074fb6013d1f06f1bb579e2cbfcb896b2 (diff)
downloadfreeipa-f8fba3b7ddbfbb8eb33faab1df3e024a30986b3e.tar.gz
freeipa-f8fba3b7ddbfbb8eb33faab1df3e024a30986b3e.tar.xz
freeipa-f8fba3b7ddbfbb8eb33faab1df3e024a30986b3e.zip
Autotool ipa-server - patch from William Jon McCann <mccann@jhu.edu>.
Diffstat (limited to 'ipa-server/configure.ac')
-rw-r--r--ipa-server/configure.ac252
1 files changed, 252 insertions, 0 deletions
diff --git a/ipa-server/configure.ac b/ipa-server/configure.ac
new file mode 100644
index 000000000..f8360f333
--- /dev/null
+++ b/ipa-server/configure.ac
@@ -0,0 +1,252 @@
+AC_PREREQ(2.59c)
+AC_INIT([freeipa-server],
+ [0.4],
+ [https://hosted.fedoraproject.org/projects/freeipa/newticket])
+
+AC_CONFIG_SRCDIR([ipaserver/ipaldap.py])
+AC_CONFIG_HEADERS([config.h])
+
+AM_INIT_AUTOMAKE
+
+AM_MAINTAINER_MODE
+AC_PROG_CC
+AC_STDC_HEADERS
+AC_DISABLE_STATIC
+AC_PROG_LIBTOOL
+
+AC_HEADER_STDC
+
+AC_SUBST(VERSION)
+
+dnl ---------------------------------------------------------------------------
+dnl - Check for DS slapi plugin
+dnl ---------------------------------------------------------------------------
+
+AC_CHECK_HEADER(dirsrv/slapi-plugin.h)
+
+dnl ---------------------------------------------------------------------------
+dnl - Check for KRB5
+dnl ---------------------------------------------------------------------------
+
+KRB5_LIBS=
+AC_CHECK_HEADER(krb5.h)
+
+krb5_impl=mit
+
+if test "x$ac_cv_header_krb5_h" = "xyes" ; then
+ dnl lazy check for Heimdal Kerberos
+ AC_CHECK_HEADERS(heim_err.h)
+ if test $ac_cv_header_heim_err_h = yes ; then
+ krb5_impl=heimdal
+ else
+ krb5_impl=mit
+ fi
+
+ if test "x$krb5_impl" = "xmit"; then
+ AC_CHECK_LIB(k5crypto, main,
+ [krb5crypto=k5crypto],
+ [krb5crypto=crypto])
+
+ AC_CHECK_LIB(krb5, main,
+ [have_krb5=yes
+ KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
+ [have_krb5=no],
+ [-l$krb5crypto -lcom_err])
+
+ elif test "x$krb5_impl" = "xheimdal"; then
+ AC_CHECK_LIB(des, main,
+ [krb5crypto=des],
+ [krb5crypto=crypto])
+
+ AC_CHECK_LIB(krb5, main,
+ [have_krb5=yes
+ KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
+ [have_krb5=no],
+ [-l$krb5crypto -lasn1 -lroken -lcom_err])
+
+ AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
+ [define if you have HEIMDAL Kerberos])
+
+ else
+ have_krb5=no
+ AC_MSG_WARN([Unrecognized Kerberos5 Implementation])
+ fi
+
+ if test "x$have_krb5" = "xyes" ; then
+ ol_link_krb5=yes
+
+ AC_DEFINE(HAVE_KRB5, 1,
+ [define if you have Kerberos V])
+
+ else
+ AC_MSG_ERROR([Required Kerberos 5 support not available])
+ fi
+
+fi
+
+AC_SUBST(KRB5_LIBS)
+
+dnl ---------------------------------------------------------------------------
+dnl - Check for LDAP
+dnl ---------------------------------------------------------------------------
+
+LDAP_LIBS=
+AC_CHECK_HEADER(ldap.h)
+AC_CHECK_HEADER(lber.h)
+
+AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes)
+dnl Check for other libraries we need to link with to get the main routines.
+test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) }
+test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) }
+test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes], , -llber -lkrb -ldes) }
+dnl Recently, we need -lber even though the main routines are elsewhere,
+dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on. So just
+dnl check for that (it's a variable not a fun but that doesn't seem to
+dnl matter in these checks) and stick in -lber if so. Can't hurt (even to
+dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who
+dnl #### understands LDAP needs to fix this properly.
+test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) }
+
+if test "$with_ldap" = "yes"; then
+ if test "$with_ldap_des" = "yes" ; then
+ LDAP_LIBS="${LDAP_LIBS} -ldes"
+ fi
+ if test "$with_ldap_krb" = "yes" ; then
+ LDAP_LIBS="${LDAP_LIBS} -lkrb"
+ fi
+ if test "$with_ldap_lber" = "yes" ; then
+ LDAP_LIBS="${LDAP_LIBS} -llber"
+ fi
+ LDAP_LIBS="${LDAP_LIBS} -lldap"
+else
+ AC_MSG_ERROR([LDAP not found])
+fi
+
+AC_SUBST(LDAP_LIBS)
+
+dnl ---------------------------------------------------------------------------
+dnl - Check for Mozilla LDAP SDK
+dnl ---------------------------------------------------------------------------
+
+PKG_CHECK_MODULES(MOZLDAP, mozldap > 6)
+
+dnl ---------------------------------------------------------------------------
+dnl - Check for Python
+dnl ---------------------------------------------------------------------------
+
+AC_MSG_NOTICE([Checking for Python])
+have_python=no
+AM_PATH_PYTHON(2.3)
+
+if test "x$PYTHON" = "x" ; then
+ AC_MSG_ERROR([Python not found])
+fi
+
+dnl ---------------------------------------------------------------------------
+dnl - Set the data install directory since we don't use pkgdatadir
+dnl ---------------------------------------------------------------------------
+
+IPA_DATA_DIR="$datadir/ipa"
+AC_SUBST(IPA_DATA_DIR)
+
+dnl ---------------------------------------------------------------------------
+dnl Finish
+dnl ---------------------------------------------------------------------------
+
+# Turn on the additional warnings last, so -Werror doesn't affect other tests.
+
+AC_ARG_ENABLE(more-warnings,
+ [AC_HELP_STRING([--enable-more-warnings],
+ [Maximum compiler warnings])],
+ set_more_warnings="$enableval",[
+ if test -d $srcdir/../.hg; then
+ set_more_warnings=yes
+ else
+ set_more_warnings=no
+ fi
+ ])
+AC_MSG_CHECKING(for more warnings)
+if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+ AC_MSG_RESULT(yes)
+ CFLAGS="\
+ -Wall \
+ -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
+ -Wnested-externs -Wpointer-arith \
+ -Wcast-align -Wsign-compare \
+ $CFLAGS"
+
+ for option in -Wno-strict-aliasing -Wno-sign-compare; do
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $option"
+ AC_MSG_CHECKING([whether gcc understands $option])
+ AC_TRY_COMPILE([], [],
+ has_option=yes,
+ has_option=no,)
+ if test $has_option = no; then
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ AC_MSG_RESULT($has_option)
+ unset has_option
+ unset SAVE_CFLAGS
+ done
+ unset option
+else
+ AC_MSG_RESULT(no)
+fi
+
+# Flags
+
+AC_SUBST(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+
+# Files
+
+AC_CONFIG_FILES([
+ Makefile
+ ipa-gui/Makefile
+ ipa-gui/ipagui/Makefile
+ ipa-gui/ipagui/config/Makefile
+ ipa-gui/ipagui/forms/Makefile
+ ipa-gui/ipagui/helpers/Makefile
+ ipa-gui/ipagui/static/Makefile
+ ipa-gui/ipagui/static/css/Makefile
+ ipa-gui/ipagui/static/images/Makefile
+ ipa-gui/ipagui/static/javascript/Makefile
+ ipa-gui/ipagui/subcontrollers/Makefile
+ ipa-gui/ipagui/templates/Makefile
+ ipa-gui/ipagui/tests/Makefile
+ ipa-gui/ipa_gui.egg-info/Makefile
+ ipa-install/Makefile
+ ipa-install/share/Makefile
+ ipa-kpasswd/Makefile
+ ipaserver/Makefile
+ ipa-slapi-plugins/Makefile
+ ipa-slapi-plugins/dna/Makefile
+ ipa-slapi-plugins/ipa-memberof/Makefile
+ ipa-slapi-plugins/ipa-pwd-extop/Makefile
+ xmlrpc-server/Makefile
+ xmlrpc-server/test/Makefile
+])
+
+AC_OUTPUT
+
+echo "
+ FreeIPA Server $VERSION
+ ========================
+
+ prefix: ${prefix}
+ exec_prefix: ${exec_prefix}
+ libdir: ${libdir}
+ bindir: ${bindir}
+ sbindir: ${sbindir}
+ sysconfdir: ${sysconfdir}
+ localstatedir: ${localstatedir}
+ datadir: ${datadir}
+ source code location: ${srcdir}
+ compiler: ${CC}
+ cflags: ${CFLAGS}
+ LDAP libs: ${LDAP_LIBS}
+ KRB5 libs: ${KRB5_LIBS}
+ Maintainer mode: ${USE_MAINTAINER_MODE}
+"