X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=configure.in;h=f4647b873bc795b011317711a32bbe3e50289923;hb=3a72bd16dc3dde9b1fc1d7f247b2fa6cc1ebe730;hp=6dcb141a804fecaa13a2ef3180704c53a6626f7b;hpb=3457e5f287836dca6e95c761b7ebf7cda3850f46;p=captive.git diff --git a/configure.in b/configure.in index 6dcb141..f4647b8 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,0.9) +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. @@ -176,6 +183,14 @@ AH_BOTTOM([ #include /* for 'gchar' */ #define G_LOG_DOMAIN ((const gchar *)"Captive") +/* Ensure we have proper -I options: */ +#if defined(CAPTIVE_USE_GNOME_VFS_MODULE) || defined(CAPTIVE_USE_GNOME_VFS) +#ifndef HAVE_GNOME_VFS_READ_ENTIRE_FILE +#include +GnomeVFSResult gnome_vfs_read_entire_file(const char *uri,int *file_size,char **file_contents); +#endif +#endif + /* Supplemental definitions not possible in this file. */ #ifdef LIBCAPTIVE #include "captive/config2.h" @@ -184,7 +199,8 @@ AH_BOTTOM([ #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" @@ -253,9 +269,11 @@ AC_SUBST(READLINE_LIBS) AC_SUBST(READLINE_LDFLAGS) PKG_CHECK_MODULES(GNOME_VFS_MODULE,gnome-vfs-module-2.0) +GNOME_VFS_MODULE_CFLAGS="$GNOME_VFS_MODULE_CFLAGS -DCAPTIVE_USE_GNOME_VFS_MODULE=1" AC_SUBST(GNOME_VFS_MODULE_CFLAGS) AC_SUBST(GNOME_VFS_MODULE_LIBS) PKG_CHECK_MODULES(GNOME_VFS,gnome-vfs-2.0) +GNOME_VFS_CFLAGS="$GNOME_VFS_CFLAGS -DCAPTIVE_USE_GNOME_VFS=1" AC_SUBST(GNOME_VFS_CFLAGS) AC_SUBST(GNOME_VFS_LIBS) @@ -292,6 +310,11 @@ AC_SUBST(OPENSSL_CFLAGS) AC_SUBST(OPENSSL_LIBS) # AC_ARG_ENABLE(lufs,[--enable-lufs=[no/yes/auto]],,enable_lufs=auto) +have_lufs_includes=false +# Although it would be more appropriate to use lufsmount(1) instead of lufsd(1) +# we use lufsd(1) as lufsmount(1) is just a dumb wrapper and it would cost us +# another big binary file for the static build package version. +PATH_LUFSD="" 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 @@ -312,16 +335,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_LUFSD,lufsd) + if test x$PATH_LUFSD = x;then + if test x$enable_lufs = xyes;then + AC_MSG_ERROR([LUFS client was requested (--enable-lufs) but no lufsd(1) binary was found. Install 'lufs-*-*captive*' package.]) + else + AC_MSG_WARN([LUFS client not being compiled as no lufsd(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_LUFSD != x -a x$enable_lufs != no ]) +AC_SUBST(PATH_LUFSD) 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([ @@ -334,13 +385,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) @@ -359,6 +429,17 @@ AC_SUBST(GNOME_ADDON_LIBS) dnl $BUILD_GLADESRC is already conditioned by $enable_install_pkg by GLADE_W_INIT() AM_CONDITIONAL(ENABLE_INSTALL_PKG,[ test "xyes" = "x$BUILD_GLADESRC" ]) +dnl Do not use AC_REPLACE_FUNCS() as we need to link it selectively: +GNOME_VFS_READ_ENTIRE_FILE_O="" +captive_save_CFLAGS="$CFLAGS" +captive_save_LIBS="$LIBS" +CFLAGS="$CFLAGS $GNOME_VFS_MODULE_CFLAGS" +LIBS="$LIBS $GNOME_VFS_MODULE_LIBS" +AC_CHECK_FUNCS(gnome_vfs_read_entire_file,, + [ GNOME_VFS_READ_ENTIRE_FILE_O='gnome_vfs_read_entire_file.$(OBJEXT)' ]) +CFLAGS="$captive_save_CFLAGS" +LIBS="$captive_save_LIBS" +AC_SUBST(GNOME_VFS_READ_ENTIRE_FILE_O) AC_SUBST(CFLAGS) AC_SUBST(LIBS)