From 0d7d6f3904287bb4903ffaa9d8c61e7593ae76d6 Mon Sep 17 00:00:00 2001 From: Petr Spacek Date: Oct 24 2016 11:30:12 +0000 Subject: Build: merge client/configure.ac into top-level configure.ac https://fedorahosted.org/freeipa/ticket/6418 Reviewed-By: Lukas Slebodnik Reviewed-By: Stanislav Laznicka Reviewed-By: Christian Heimes --- diff --git a/Makefile b/Makefile index 280cc7f..0ed77d6 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,7 @@ all: bootstrap-autogen server tests .PHONY=FORCE FORCE: -client: client-autogen +client: bootstrap-autogen @for subdir in $(CLIENTDIRS); do \ (cd $$subdir && $(MAKE) all) || exit 1; \ done @@ -92,18 +92,15 @@ check: bootstrap-autogen server tests (cd $$subdir && $(MAKE) check) || exit 1; \ done -client-check: client-autogen +client-check: bootstrap-autogen @for subdir in $(CLIENTDIRS); do \ (cd $$subdir && $(MAKE) check) || exit 1; \ done -bootstrap-autogen: version-update client-autogen +bootstrap-autogen: version-update @echo "Building IPA $(IPA_VERSION)" ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR) -client-autogen: version-update - cd client; if [ ! -e Makefile ]; then ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); fi - install: all server-install tests-install client-install @for subdir in $(SUBDIRS); do \ (cd $$subdir && $(MAKE) $@) || exit 1; \ @@ -248,7 +245,7 @@ tarballs: local-archive cd dist/$(TARBALL_PREFIX); ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR) cd dist/$(TARBALL_PREFIX)/asn1; make distclean cd dist/$(TARBALL_PREFIX)/daemons; make distclean - cd dist/$(TARBALL_PREFIX)/client; ../autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=$(LIBDIR); make distclean + cd dist/$(TARBALL_PREFIX)/client; make distclean cd dist/$(TARBALL_PREFIX)/install; make distclean cd dist; tar cfz sources/$(TARBALL) $(TARBALL_PREFIX) rm -rf dist/$(TARBALL_PREFIX) diff --git a/client/Makefile.am b/client/Makefile.am index e95fba2..3f6caaf 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -30,7 +30,7 @@ AM_CPPFLAGS = \ -DLOCALEDIR=\""$(localedir)"\" \ -DIPACONFFILE=\""$(IPA_CONF_FILE)"\" \ $(KRB5_CFLAGS) \ - $(OPENLDAP_CFLAGS) \ + $(LDAP_CFLAGS) \ $(SASL_CFLAGS) \ $(POPT_CFLAGS) \ $(WARN_CFLAGS) \ @@ -58,7 +58,7 @@ ipa_getkeytab_SOURCES = \ ipa_getkeytab_LDADD = \ ../asn1/libipaasn1.la \ $(KRB5_LIBS) \ - $(OPENLDAP_LIBS) \ + $(LDAP_LIBS) \ $(SASL_LIBS) \ $(POPT_LIBS) \ $(LIBINTL_LIBS) \ @@ -84,7 +84,7 @@ ipa_join_SOURCES = \ ipa_join_LDADD = \ $(KRB5_LIBS) \ - $(OPENLDAP_LIBS) \ + $(LDAP_LIBS) \ $(SASL_LIBS) \ $(CURL_LIBS) \ $(XMLRPC_LIBS) \ diff --git a/client/configure.ac b/client/configure.ac deleted file mode 100644 index 1de1db8..0000000 --- a/client/configure.ac +++ /dev/null @@ -1,241 +0,0 @@ -AC_PREREQ(2.59) -m4_include(version.m4) -AC_INIT([ipa-client], - IPA_VERSION, - [https://hosted.fedoraproject.org/projects/freeipa/newticket]) -LT_INIT - -AC_CONFIG_HEADERS([config.h]) - -AM_INIT_AUTOMAKE([foreign]) - -AM_MAINTAINER_MODE - -AC_PROG_CC_C99 -AC_STDC_HEADERS -AC_DISABLE_STATIC - -AC_HEADER_STDC - -AM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes]) - -AC_SUBST(VERSION) -AC_SUBST([INSTALL_DATA], ['$(INSTALL) -m 644 -p']) - -dnl --------------------------------------------------------------------------- -dnl - Check for KRB5 -dnl --------------------------------------------------------------------------- - -KRB5_LIBS= -AC_CHECK_HEADER(krb5.h, [], [AC_MSG_ERROR([krb5.h not found])]) - -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 - OpenLDAP SDK -dnl --------------------------------------------------------------------------- - -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 - OPENLDAP_LIBS="${OPENLDAP_LIBS} -ldes" - fi - if test "$with_ldap_krb" = "yes" ; then - OPENLDAP_LIBS="${OPENLDAP_LIBS} -lkrb" - fi - if test "$with_ldap_lber" = "yes" ; then - OPENLDAP_LIBS="${OPENLDAP_LIBS} -llber" - fi - OPENLDAP_LIBS="${OPENLDAP_LIBS} -lldap" -else - AC_MSG_ERROR([OpenLDAP not found]) -fi - -AC_SUBST(OPENLDAP_LIBS) - - -dnl --------------------------------------------------------------------------- -dnl - Check for POPT -dnl --------------------------------------------------------------------------- - -POPT_LIBS= -AC_CHECK_HEADER(popt.h, [], [AC_MSG_ERROR([popt.h not found])]) -AC_CHECK_LIB(popt, poptGetContext, [POPT_LIBS="-lpopt"]) -AC_SUBST(POPT_LIBS) - -dnl --------------------------------------------------------------------------- -dnl - Check for SASL -dnl --------------------------------------------------------------------------- - -SASL_LIBS= -AC_CHECK_HEADER(sasl/sasl.h, [], [AC_MSG_ERROR([sasl/sasl.h not found])]) -AC_CHECK_LIB(sasl2, sasl_client_init, [SASL_LIBS="-lsasl2"]) -AC_SUBST(SASL_LIBS) - -dnl --------------------------------------------------------------------------- -dnl - Check for CURL -dnl --------------------------------------------------------------------------- - -CURL_LIBS= -AC_CHECK_HEADER(curl/curl.h, [], [AC_MSG_ERROR([curl/curl.h not found])]) -AC_CHECK_LIB(curl, curl_easy_init, [CURL_LIBS="-lcurl"]) -if test "x$CURL_LIBS" = "x" ; then - AC_MSG_ERROR([curl not found]) -fi -AC_SUBST(CURL_LIBS) - -dnl --------------------------------------------------------------------------- -dnl - Check for XMLRPC-C -dnl --------------------------------------------------------------------------- - -XMLRPC_LIBS= -AC_CHECK_HEADER(xmlrpc-c/base.h, [], [AC_MSG_ERROR([xmlrpc-c/base.h not found])]) -AC_CHECK_LIB(xmlrpc_client, xmlrpc_client_init2, [XMLRPC_LIBS="-lxmlrpc -lxmlrpc_client -lxmlrpc_util"]) -if test "x$XMLRPC_LIBS" = "x" ; then - AC_MSG_ERROR([xmlrpc-c not found]) -fi -AC_SUBST(XMLRPC_LIBS) - -dnl --------------------------------------------------------------------------- -dnl - Check for libintl -dnl --------------------------------------------------------------------------- -SAVE_LIBS="$LIBS" -LIBINTL_LIBS= -AC_CHECK_HEADER(libintl.h, [], [AC_MSG_ERROR([libintl.h not found, please install xgettext])]) -AC_SEARCH_LIBS([bindtextdomain], [libintl],[], []) -if test "x$ac_cv_search_bindtextdomain" = "xno" ; then - AC_MSG_ERROR([libintl is not found and your libc does not support gettext, please install xgettext]) -elif test "x$ac_cv_search_bindtextdomain" != "xnone required" ; then - LIBINTL_LIBS="$ac_cv_search_bindtextdomain" -fi -LIBS="$SAVELIBS" -AC_SUBST(LIBINTL_LIBS) - -dnl --------------------------------------------------------------------------- -dnl - Check for libini_config -dnl --------------------------------------------------------------------------- -PKG_CHECK_MODULES([LIBINI_CONFIG], [ini_config >= 1.2.0], [have_libini_config=1], [have_libini_config=]) -if test x$have_libini_config = x; then - AC_MSG_WARN([Could not find LIBINI_CONFIG headers]) -else - INI_CONFIG_CFLAGS="`$PKG_CONFIG --cflags ini_config`" - INI_CONFIG_LIBS="`$PKG_CONFIG --libs ini_config`" - AC_CHECK_LIB(ini_config, ini_config_file_open, [], - [AC_MSG_WARN([ini_config library must support ini_config_file_open])], - [$INI_CONFIG_LIBS]) - AC_CHECK_LIB(ini_config, ini_config_augment, [], - [AC_MSG_WARN([ini_config library must support ini_config_augment])], - [$INI_CONFIG_LIBS]) -fi - -if test x$have_libini_config = x1; then - INI_CFLAGS="$INI_CONFIG_CFLAGS" - INI_LIBS="$INI_CONFIG_LIBS" -else - AC_MSG_ERROR([ini_config development packages not available]) -fi - -AC_SUBST(INI_LIBS) -AC_SUBST(INI_CFLAGS) - - -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 --------------------------------------------------------------------------- - -# Files - -AC_CONFIG_FILES([ - Makefile - man/Makefile -]) - -AC_OUTPUT - -echo " - IPA client $VERSION - ======================== - - prefix: ${prefix} - exec_prefix: ${exec_prefix} - libdir: ${libdir} - bindir: ${bindir} - sbindir: ${sbindir} - sysconfdir: ${sysconfdir} - localstatedir: ${localstatedir} - datadir: ${datadir} - source code location: ${srcdir} - Maintainer mode: ${USE_MAINTAINER_MODE} -" diff --git a/configure.ac b/configure.ac index 2811252..7effd86 100644 --- a/configure.ac +++ b/configure.ac @@ -207,6 +207,90 @@ PKG_CHECK_MODULES([SSSIDMAP], [sss_idmap]) PKG_CHECK_MODULES([SSSNSSIDMAP], [sss_nss_idmap >= 1.13.90]) dnl --------------------------------------------------------------------------- +dnl - Check for POPT +dnl --------------------------------------------------------------------------- + +POPT_LIBS= +AC_CHECK_HEADER(popt.h, [], [AC_MSG_ERROR([popt.h not found])]) +AC_CHECK_LIB(popt, poptGetContext, [POPT_LIBS="-lpopt"]) +AC_SUBST(POPT_LIBS) + +dnl --------------------------------------------------------------------------- +dnl - Check for SASL +dnl --------------------------------------------------------------------------- + +SASL_LIBS= +AC_CHECK_HEADER(sasl/sasl.h, [], [AC_MSG_ERROR([sasl/sasl.h not found])]) +AC_CHECK_LIB(sasl2, sasl_client_init, [SASL_LIBS="-lsasl2"]) +AC_SUBST(SASL_LIBS) + +dnl --------------------------------------------------------------------------- +dnl - Check for CURL +dnl --------------------------------------------------------------------------- + +CURL_LIBS= +AC_CHECK_HEADER(curl/curl.h, [], [AC_MSG_ERROR([curl/curl.h not found])]) +AC_CHECK_LIB(curl, curl_easy_init, [CURL_LIBS="-lcurl"]) +if test "x$CURL_LIBS" = "x" ; then + AC_MSG_ERROR([curl not found]) +fi +AC_SUBST(CURL_LIBS) + +dnl --------------------------------------------------------------------------- +dnl - Check for XMLRPC-C +dnl --------------------------------------------------------------------------- + +XMLRPC_LIBS= +AC_CHECK_HEADER(xmlrpc-c/base.h, [], [AC_MSG_ERROR([xmlrpc-c/base.h not found])]) +AC_CHECK_LIB(xmlrpc_client, xmlrpc_client_init2, [XMLRPC_LIBS="-lxmlrpc -lxmlrpc_client -lxmlrpc_util"]) +if test "x$XMLRPC_LIBS" = "x" ; then + AC_MSG_ERROR([xmlrpc-c not found]) +fi +AC_SUBST(XMLRPC_LIBS) + +dnl --------------------------------------------------------------------------- +dnl - Check for libintl +dnl --------------------------------------------------------------------------- +SAVE_LIBS="$LIBS" +LIBINTL_LIBS= +AC_CHECK_HEADER(libintl.h, [], [AC_MSG_ERROR([libintl.h not found, please install xgettext])]) +AC_SEARCH_LIBS([bindtextdomain], [libintl],[], []) +if test "x$ac_cv_search_bindtextdomain" = "xno" ; then + AC_MSG_ERROR([libintl is not found and your libc does not support gettext, please install xgettext]) +elif test "x$ac_cv_search_bindtextdomain" != "xnone required" ; then + LIBINTL_LIBS="$ac_cv_search_bindtextdomain" +fi +LIBS="$SAVELIBS" +AC_SUBST(LIBINTL_LIBS) + +dnl --------------------------------------------------------------------------- +dnl - Check for libini_config +dnl --------------------------------------------------------------------------- +PKG_CHECK_MODULES([LIBINI_CONFIG], [ini_config >= 1.2.0], [have_libini_config=1], [have_libini_config=]) +if test x$have_libini_config = x; then + AC_MSG_WARN([Could not find LIBINI_CONFIG headers]) +else + INI_CONFIG_CFLAGS="`$PKG_CONFIG --cflags ini_config`" + INI_CONFIG_LIBS="`$PKG_CONFIG --libs ini_config`" + AC_CHECK_LIB(ini_config, ini_config_file_open, [], + [AC_MSG_WARN([ini_config library must support ini_config_file_open])], + [$INI_CONFIG_LIBS]) + AC_CHECK_LIB(ini_config, ini_config_augment, [], + [AC_MSG_WARN([ini_config library must support ini_config_augment])], + [$INI_CONFIG_LIBS]) +fi + +if test x$have_libini_config = x1; then + INI_CFLAGS="$INI_CONFIG_CFLAGS" + INI_LIBS="$INI_CONFIG_LIBS" +else + AC_MSG_ERROR([ini_config development packages not available]) +fi + +AC_SUBST(INI_LIBS) +AC_SUBST(INI_CFLAGS) + +dnl --------------------------------------------------------------------------- dnl - Check for systemd unit directory dnl --------------------------------------------------------------------------- PKG_CHECK_EXISTS([systemd], [], [AC_MSG_ERROR([systemd not found])]) @@ -324,6 +408,8 @@ AC_SUBST(LDFLAGS) AC_CONFIG_FILES([ asn1/Makefile asn1/asn1c/Makefile + client/Makefile + client/man/Makefile daemons/Makefile daemons/ipa-kdb/Makefile daemons/ipa-sam/Makefile diff --git a/freeipa.spec.in b/freeipa.spec.in index 7beee3c..495ce92 100644 --- a/freeipa.spec.in +++ b/freeipa.spec.in @@ -666,7 +666,6 @@ rm -f ipaplatform/paths.py rm -f ipaplatform/constants.py make LIBDIR=%{_libdir} version-update ./autogen.sh --prefix=%{_usr} --sysconfdir=%{_sysconfdir} --localstatedir=%{_localstatedir} --libdir=%{_libdir} --mandir=%{_mandir} -cd client; ../autogen.sh --prefix=%{_usr} --sysconfdir=%{_sysconfdir} --localstatedir=%{_localstatedir} --libdir=%{_libdir} --mandir=%{_mandir}; cd .. %if ! %{ONLY_CLIENT} %endif # ONLY_CLIENT