X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=configure.in;h=60e1e213c022de07b1b6f9719c5c911697b39be6;hb=ae2dfe524acfbee7f0c0cac93aff7f258c2c5ed0;hp=3de117317f4b405822389363dc5a1d81edcef9c4;hpb=e2d41a8f0858487d1b2c1ce48df135cd87141f8c;p=captive.git diff --git a/configure.in b/configure.in index 3de1173..60e1e21 100644 --- a/configure.in +++ b/configure.in @@ -19,7 +19,9 @@ AC_INIT(src/libcaptive/Makefile-libcaptive.am) dnl 2.53 for AM_GLIB_GNU_GETTEXT: AC_PREREQ(2.53) -AM_INIT_AUTOMAKE(captive,1.0.1) +dnl Not yet present in: Red Hat autoconf-2.57-3 +dnl AC_CONFIG_MACRO_DIR(macros) +AM_INIT_AUTOMAKE(captive,1.0.3cvs) AM_CONFIG_HEADER(config.h) AM_MAINTAINER_MODE dnl Call AC_PROG_CC before AC_ISC_POSIX. @@ -34,10 +36,15 @@ dnl Prevent "AC_TRY_COMPILE was called before AC_ISC_POSIX": AC_ISC_POSIX AC_SYS_LARGEFILE AM_PROG_AS -AM_ENABLE_STATIC -AM_DISABLE_SHARED +AM_DISABLE_STATIC +AM_ENABLE_SHARED AM_PROG_LIBTOOL +dnl Workaround for autoconf-2.57: +m4_pattern_allow([AC_MSG_WARN]) +m4_pattern_allow([AC_CHECK_LIB]) +m4_pattern_allow([AC_CHECK_HEADERS]) + dnl gettext localization. dnl Use simpler AM_GLIB_GNU_GETTEXT instead of AM_GNU_GETTEXT dnl as we depend on glib and glib requires system installed gettext anyway. @@ -192,7 +199,8 @@ GnomeVFSResult gnome_vfs_read_entire_file(const char *uri,int *file_size,char ** #endif /* !_CAPTIVE_CONFIG_H */ ]) -AM_PATH_GLIB_2_0(,,[AC_MSG_ERROR([Captive requires glib-2.0 library.])],[gmodule gobject]) +dnl Do not use PKG_CHECK_MODULES() as it would not set 'GLIB_GENMARSHAL' etc. +AM_PATH_GLIB_2_0(,,[AC_MSG_ERROR([Captive requires glib-2.0 library.])],[gmodule gobject gthread]) dnl Force glib for the whole package CFLAGS="$CFLAGS $GLIB_CFLAGS" LIBS="$LIBS $GLIB_LIBS" @@ -302,6 +310,8 @@ AC_SUBST(OPENSSL_CFLAGS) AC_SUBST(OPENSSL_LIBS) # AC_ARG_ENABLE(lufs,[--enable-lufs=[no/yes/auto]],,enable_lufs=auto) +have_lufs_includes=false +PATH_LUFSMOUNT="" if test x$enable_lufs != no;then have_lufs_includes=true dnl If ACTION-IF-NOT-FOUND is given, it is executed when one of the header @@ -322,16 +332,44 @@ if test x$enable_lufs != no;then AC_MSG_WARN([Although LUFS include files were found they are too old. df(1) will not show available NTFS disk space.]) fi ],[#include ]) + AC_PATH_PROGS(PATH_LUFSMOUNT,lufsmount) + if test x$PATH_LUFSMOUNT = x;then + if test x$enable_lufs = xyes;then + AC_MSG_ERROR([LUFS client was requested (--enable-lufs) but no lufsmount(1) binary was found. Install 'lufs-*-*captive*' package.]) + else + AC_MSG_WARN([LUFS client not being compiled as no lufsmount(1) binary was found. Install 'lufs-*-*captive*' package.]) + fi + fi fi -AM_CONDITIONAL(ENABLE_LUFS,[ $have_lufs_includes && test x$enable_lufs != no ]) - -dnl for $(top_srcdir)/src/libcaptive/sandbox/split-sandbox.c -AM_PATH_LINC(,,[AC_MSG_ERROR([Captive requires linc library used by ORBit.])]) +AM_CONDITIONAL(ENABLE_LUFS,[ $have_lufs_includes && test x$PATH_LUFSMOUNT != x -a x$enable_lufs != no ]) +AC_SUBST(PATH_LUFSMOUNT) dnl for $(top_srcdir)/src/libcaptive/client/ dnl Do not use '[client server]' as $4 to prevent: configure: test: too many arguments dnl - currently this argument is not used by 'orbit2-config' in any way anyway -AM_PATH_ORBIT2(,,[AC_MSG_ERROR([Captive requires ORBit library.])]) +dnl Do not use PKG_CHECK_MODULES() as it would not set 'ORBIT_IDL' etc. +AM_PATH_ORBIT2(,,[AC_MSG_ERROR([Captive requires ORBit2 library.])]) + +AC_ARG_WITH(orbit-line,[ --with-orbit-line=[link/linc/auto] Use 'link' for ORBit2 >=2.7.x+ (def.=auto)],,with_orbit_line=auto) +captive_save_CFLAGS="$CFLAGS" +captive_save_LIBS="$LIBS" +CFLAGS="$CFLAGS $ORBIT_CFLAGS" +LIBS="$LIBS $ORBIT_LIBS" +AC_CHECK_FUNC(link_get_tmpdir,[ + AC_DEFINE(HAVE_ORBIT_LINK,,[ORBit2 is 2.7.x+ and therefore includes its own 'link' library]) + found_orbit_line=link + ], + found_orbit_line=linc + ) +CFLAGS="$captive_save_CFLAGS" +LIBS="$captive_save_LIBS" +if test "x$with_orbit_line" != "xauto" -a "x$with_orbit_line" != "x$found_orbit_line";then + AC_MSG_ERROR([--with-orbit-line=$with_orbit_line specified but the detected line is $found_orbit_line]) +fi + +if test "x$found_orbit_line" = "xlinc";then + PKG_CHECK_MODULES(LINC,linc) +fi # AC_ARG_ENABLE(install-pkg,[--enable-install-pkg=[no/yes/auto]],,enable_install_pkg=auto) GLADE_W_INIT([ @@ -344,13 +382,32 @@ GLADE_W_INIT([ AC_CHECK_LIB(ntfs,ntfs_mount,[ LIBNTFS_LIBS="-lntfs" + have_libntfs_includes=true + AC_CHECK_HEADERS + # '#include "config.h"' may be required by include files. + # "config.h" may be already present while not yet being compilable. + rm -f config.h-ntfs_save + mv -f config.h config.h-ntfs_save 2>/dev/null + touch config.h captive_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $LIBXML_CFLAGS" - AC_CHECK_HEADERS(libxml/xmlreader.h, - [ glade_addon=yes ], - [ AC_MSG_WARN([Captive requires libxml >= 2.4.29 for --enable-install-pkg.]) ]) + CPPFLAGS="$CPPFLAGS -I." # for "config.h" touched above + AC_CHECK_HEADERS(ntfs/types.h ntfs/volume.h,,[ have_libntfs_includes=false ]) CPPFLAGS="$captive_save_CPPFLAGS" - ]) + rm -f config.h + mv -f config.h-ntfs_save config.h 2>/dev/null + if $have_libntfs_includes;then + + captive_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $LIBXML_CFLAGS" + AC_CHECK_HEADERS(libxml/xmlreader.h, + [ glade_addon=yes ], + [ AC_MSG_WARN([Captive requires libxml >= 2.4.29 for --enable-install-pkg.]) ]) + CPPFLAGS="$captive_save_CPPFLAGS" + + else + AC_MSG_WARN([Captive requires ntfs/* include files (of ntfsprogs-devel) for --enable-install-pkg.]) + fi + ],[ AC_MSG_WARN([Captive requires libntfs (of ntfsprogs-devel) for --enable-install-pkg.]) ]) ]) AC_SUBST(GNOMEUI_CFLAGS) AC_SUBST(GNOMEUI_LIBS)