ali@0: # -*- Autoconf -*- ali@0: # Process this file with autoconf to produce a configure script. ali@0: ali@92: AC_INIT([plover],[0.5.7],[ali@juiblex.co.uk]) ali@0: AC_PREREQ(2.59) ali@0: AC_CONFIG_AUX_DIR([config]) ali@0: AC_CONFIG_SRCDIR([plover/plover.h]) ali@0: AC_CONFIG_HEADER([config.h]) ali@38: AC_CONFIG_MACRO_DIR([m4]) ali@0: AC_CONFIG_FILES([Makefile ali@0: plover/Makefile ali@0: plover/plover.pc ali@9: plover-gtk/Makefile ali@9: plover-gtk/plover-gtk.pc ali@0: setup/Makefile ali@0: setup/resources.rc ali@3: update/Makefile ali@61: update/resources.rc ali@24: pre-inst/Makefile ali@24: pre-inst/resources.rc ali@9: app-manager/Makefile ali@9: app-manager/resources.rc ali@25: plover-open/Makefile ali@25: plover-open/resources.rc ali@38: tests/Makefile ali@38: tests/plover/Makefile ali@38: tests/plover-gtk/Makefile ali@87: tests/pre-inst/Makefile ali@0: ]) ali@13: PLOVER_MSWIN_MANIFEST([setup/setup.exe.manifest:setup/manifest.xml.in ali@61: update/update.exe.manifest:update/manifest.xml.in ali@24: pre-inst/pre-inst.exe.manifest:pre-inst/manifest.xml.in ali@13: app-manager/app-manager.exe.manifest:app-manager/manifest.xml.in ali@25: plover-open/plover-open.exe.manifest:plover-open/manifest.xml.in ali@13: ]) ali@38: AM_INIT_AUTOMAKE(no-define parallel-tests) ali@24: m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) ali@72: AC_SUBST(PLOVER_MAJOR_VERSION,[[`echo $VERSION | \ ali@72: sed -e 's/^[^.]*$/0/' -e 's/\..*//'`]]) ali@72: AC_SUBST(PLOVER_MINOR_VERSION,[[`echo $VERSION | \ ali@72: sed -e 's/.*/&.0.0/' -e 's/[^.]*\.\([^.]*\)\..*/\1/'`]]) ali@72: AC_SUBST(PLOVER_MICRO_VERSION,[[`echo $VERSION | \ ali@72: sed -e 's/.*/&.0.0.0/' -e 's/\([^.]*\.\)\{2\}\([^.]*\)\..*/\2/'`]]) ali@72: AC_SUBST(PLOVER_PATCH_LEVEL,[[`echo $VERSION | \ ali@72: sed -e 's/.*/&.0.0.0.0/' -e 's/\([^.]*\.\)\{3\}\([^.]*\)\..*/\2/'`]]) ali@13: AC_CANONICAL_HOST ali@13: AC_SUBST(HOST_OS,$host_os) ali@13: AC_SUBST(HOST_CPU,$host_cpu) ali@24: case $host_os in ali@24: mingw*) ali@24: host_mingw="yes" ali@24: ;; ali@24: *) ali@24: host_mingw="" ali@24: ;; ali@24: esac ali@24: AM_CONDITIONAL(PLOVER_MINGW,[test -n "$host_mingw"]) ali@0: ali@5: # libtool versioning for libplover. For a release one of the following ali@5: # must apply: ali@5: # ali@5: # - If interfaces have been changed or added, but binary compatibility has ali@5: # been preserved, increment CURRENT and AGE and set REVISION to 0. ali@5: # - If binary compatibility has been broken (eg removed or changed interfaces), ali@5: # increment CURRENT and set AGE and REVISION to 0. ali@5: # - If the interface is the same as the previous version, increment REVISION. ali@5: # ali@31: lt_current=4 ali@88: lt_revision=3 ali@31: lt_age=1 ali@9: LIBPLOVER_LT_VERSION_INFO="$lt_current:$lt_revision:$lt_age" ali@9: AC_SUBST(LIBPLOVER_LT_VERSION_INFO) ali@9: ali@9: # and likewise for plover-gtk. ali@9: # ali@27: lt_current=1 ali@88: lt_revision=3 ali@9: lt_age=0 ali@9: PLOVER_GTK_LT_VERSION_INFO="$lt_current:$lt_revision:$lt_age" ali@9: AC_SUBST(PLOVER_GTK_LT_VERSION_INFO) ali@5: ali@0: ################################################## ali@0: # Checks for programs. ali@0: ################################################## ali@0: AC_PROG_CC ali@31: AC_PROG_CXX ali@0: AC_LIBTOOL_WIN32_DLL ali@0: AC_PROG_LIBTOOL ali@0: PKG_PROG_PKG_CONFIG ali@36: AC_CHECK_TOOL([WINDRES],[windres],[no]) ali@0: AM_CONDITIONAL([HAVE_WINDRES],[test x$WINDRES != xno]) ali@36: AC_CHECK_PROGS([RSVG],[rsvg rsvg-convert],[no]) ali@36: if test "$RSVG" = no; then ali@36: AC_MSG_ERROR([no rsvg program found to convert SVG files to bitmaps]) ali@36: fi ali@38: AX_VALGRIND_CHECK ali@38: AS_IF([test "$enable_valgrind" != "no"],[[ ali@38: major=`$VALGRIND --version | \ ali@38: sed -e 's/^valgrind-//' -e 's/^[^.]*$/0/' -e 's/\..*//'` ali@38: minor=`$VALGRIND --version | \ ali@38: sed -e 's/^valgrind-//' -e 's/.*/&.0.0/' -e 's/[^.]*\.\([^.]*\)\..*/\1/'` ali@38: ]],[major=0; minor=0]) ali@38: AM_CONDITIONAL([HAVE_VALGRIND_3_9],[test 0$major -gt 3 -o 0$minor -gt 8]) ali@38: AX_CODE_COVERAGE ali@38: AC_CHECK_TOOL([RAZOR],[razor],[no]) ali@38: AC_CHECK_TOOL([RPMBUILD],[rpmbuild],[no]) ali@38: AC_CHECK_TOOL([CREATEREPO],[createrepo],[no]) ali@43: AC_CHECK_TOOL([COMPILE_RESOURCES],[glib-compile-resources],[no]) ali@38: AM_CONDITIONAL([HAVE_CHECK_TOOLS], ali@43: [test x$RAZOR != xno -a x$RPMBUILD != xno -a x$CREATEREPO != xno -a \ ali@43: x$COMPILE_RESOURCES != xno]) ali@0: ali@0: ################################################## ali@0: # Checks for header files. ali@0: ################################################## ali@0: AC_HEADER_STDC ali@13: AC_CHECK_HEADERS([winhttp.h],[],[], ali@13: [#include ali@13: ]) ali@0: ali@0: ################################################## ali@0: # Checks for typedefs, structures, and compiler characteristics. ali@0: ################################################## ali@0: ali@0: ################################################## ali@0: # Checks for libraries. ali@0: ################################################## ali@24: PKG_CHECK_MODULES(WHELK,[whelk]) ali@19: PKG_CHECK_MODULES(RAZOR,[razor >= 0.5.4],[:],[RAZOR_LIBS=-lrazor]) ali@68: PKG_CHECK_MODULES(EXPAT,[expat >= 2.2],[:], ali@68: [PKG_CHECK_MODULES(EXPAT,[expat22],[:],[EXPAT_LIBS=-lexpat])]) ali@0: PKG_CHECK_MODULES(ZLIB,[zlib],[:],[ZLIB_LIBS=-lz]) ali@38: PKG_CHECK_MODULES(LUA,[lua],[:],[LUA_LIBS=-llua]) ali@9: PKG_CHECK_MODULES(GIO,[gio-2.0]) ali@9: PKG_CHECK_MODULES(GTK,[gtk+-2.0]) ali@9: PKG_CHECK_MODULES(GMODULE_EXPORT,[gmodule-export-2.0]) ali@24: LIBPLOVER_CFLAGS="$RAZOR_CFLAGS $EXPAT_CFLAGS $ZLIB_CFLAGS $GIO_CFLAGS" ali@24: LIBPLOVER_LIBS="$RAZOR_LIBS $EXPAT_LIBS $ZLIB_LIBS $GIO_LIBS" ali@0: AC_SUBST(LIBPLOVER_CFLAGS) ali@0: AC_SUBST(LIBPLOVER_LIBS) ali@9: PLOVER_GTK_CFLAGS="$GTK_CFLAGS $RAZOR_CFLAGS" ali@9: PLOVER_GTK_LIBS="$GTK_LIBS $RAZOR_LIBS" ali@9: AC_SUBST(PLOVER_GTK_CFLAGS) ali@9: AC_SUBST(PLOVER_GTK_LIBS) ali@24: save_LIBS="$LIBS" ali@24: AC_SEARCH_LIBS([crypt],[crypt]) ali@38: LUA_POSIX_CFLAGS="$LUA_CFLAGS" ali@38: LUA_POSIX_LIBS="-llua-posix $LUA_LIBS $LIBS" ali@38: LIBS="$save_LIBS" ali@38: AC_SUBST(LUA_POSIX_CFLAGS) ali@38: AC_SUBST(LUA_POSIX_LIBS) ali@24: GUI_CFLAGS="$GMODULE_EXPORT_CFLAGS $WHELK_CFLAGS $PLOVER_GTK_CFLAGS \ ali@38: $LIBPLOVER_CFLAGS $LUA_POSIX_CFLAGS" ali@38: GUI_LIBS="$GMODULE_EXPORT_LIBS $WHELK_LIBS $PLOVER_GTK_LIBS \ ali@38: $LIBPLOVER_LIBS $LUA_POSIX_LIBS" ali@9: AC_SUBST(GUI_CFLAGS) ali@9: AC_SUBST(GUI_LIBS) ali@0: save_PKG_CONFIG="$PKG_CONFIG" ali@0: PKG_CONFIG="$PKG_CONFIG --static" ali@68: PKG_CHECK_MODULES(SETUP,[whelk razor >= 0.5.4 expat >= 2.2 zlib gio-2.0],[:], ali@68: [PKG_CHECK_MODULES(SETUP,[whelk razor >= 0.5.4 expat22 zlib gio-2.0])]) ali@24: if test -n "$host_mingw"; then ali@51: # Hacks: ali@51: # -liconv is required for mingw. This probably stems from our use of ali@24: # libiconv rather than win-iconv that Fedora uses, but should be addressed ali@24: # somewhere in the stack below us. ali@51: # -ldnsapi is required by gio. This probably represents a gio bug. ali@51: SETUP_LIBS="$SETUP_LIBS -liconv -ldnsapi" ali@24: fi ali@0: PKG_CONFIG="$save_PKG_CONFIG" ali@38: SETUP_CFLAGS="$SETUP_CFLAGS $LUA_POSIX_CFLAGS" ali@38: SETUP_LIBS="$SETUP_LIBS $LUA_POSIX_LIBS" ali@0: AC_SUBST(SETUP_LIBS) ali@0: AC_SUBST(SETUP_CFLAGS) ali@38: save_LIBS="$LIBS" ali@17: LIBS="$LIBS -lcrypt32" ali@17: AC_MSG_CHECKING([for library containing CertEnumCertificatesInStore]) ali@17: AC_LINK_IFELSE([AC_LANG_PROGRAM( ali@17: [[#include ]], ali@17: [return !CertEnumCertificatesInStore((HCERTSTORE)0,NULL);])], ali@17: [FETCH_LIBS="-lcrypt32"]) ali@17: if test -z "$FETCH_LIBS"; then ali@17: AC_MSG_RESULT([no]) ali@17: else ali@17: AC_MSG_RESULT([$FETCH_LIBS]) ali@17: fi ali@17: AC_SUBST([FETCH_LIBS]) ali@17: LIBS="$save_LIBS" ali@31: AC_ARG_WITH([breakpad], ali@31: [AS_HELP_STRING([--with-breakpad], ali@31: [produce minidumps on crash @<:@default=check@:>@])], ali@31: [],[with_breakpad=check]) ali@31: if test "$with_breakpad" != no; then ali@31: PKG_CHECK_MODULES([BREAKPAD],[breakpad-client], ali@31: [have_breakpad="yes";REQUIREMENTS="$REQUIREMENTS x11"],[have_breakpad="no"]) ali@31: if test "$have_breakpad" = yes; then ali@31: AC_DEFINE([HAVE_BREAKPAD],[1],[Define if breakpad is available.]) ali@31: elif test "$with_breakpad" = yes; then ali@31: AC_MSG_ERROR([$BREAKPAD_PKG_ERRORS]) ali@31: fi ali@31: else ali@31: have_breakpad="no" ali@31: fi ali@31: AM_CONDITIONAL([HAVE_BREAKPAD],[test $have_breakpad = yes]) ali@0: ali@0: ################################################## ali@0: # Checks for library functions. ali@0: ################################################## ali@60: AC_CHECK_FUNCS_ONCE([fchdir fpathconf dirfd localtime_r]) ali@0: ali@0: ################################################## ali@0: # Checks for processor independent files. ali@0: ################################################## ali@0: ali@0: ################################################## ali@0: # Generate the various configured files ali@0: ################################################## ali@0: AC_OUTPUT