configure.ac
author J. Ali Harlow <ali@juiblex.co.uk>
Mon Apr 18 15:04:47 2016 +0100 (2016-04-18)
changeset 37 99d80cbe2eb4
parent 35 c264564e4c89
child 38 a29623b68ca2
permissions -rw-r--r--
Added tag 0.5.1 for changeset f7d950c3431c
     1 #                                               -*- Autoconf -*-
     2 # Process this file with autoconf to produce a configure script.
     3 
     4 AC_INIT([plover],[0.5.1],[ali@juiblex.co.uk])
     5 AC_PREREQ(2.59)
     6 AC_CONFIG_AUX_DIR([config])
     7 AC_CONFIG_SRCDIR([plover/plover.h])
     8 AC_CONFIG_HEADER([config.h])
     9 AC_CONFIG_FILES([Makefile
    10 plover/Makefile
    11 plover/plover.pc
    12 plover-gtk/Makefile
    13 plover-gtk/plover-gtk.pc
    14 setup/Makefile
    15 setup/resources.rc
    16 update/Makefile
    17 update/resources.rc
    18 pre-inst/Makefile
    19 pre-inst/resources.rc
    20 app-manager/Makefile
    21 app-manager/resources.rc
    22 plover-open/Makefile
    23 plover-open/resources.rc
    24 ])
    25 PLOVER_MSWIN_MANIFEST([setup/setup.exe.manifest:setup/manifest.xml.in
    26 update/update.exe.manifest:update/manifest.xml.in
    27 pre-inst/pre-inst.exe.manifest:pre-inst/manifest.xml.in
    28 app-manager/app-manager.exe.manifest:app-manager/manifest.xml.in
    29 plover-open/plover-open.exe.manifest:plover-open/manifest.xml.in
    30 ])
    31 AM_INIT_AUTOMAKE(no-define)
    32 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
    33 case $VERSION in
    34   *.*.*)
    35     AC_SUBST(PLOVER_MAJOR_VERSION,[[`echo $VERSION | sed 's/\..*//'`]])
    36     AC_SUBST(PLOVER_MINOR_VERSION,
    37       [[`echo $VERSION | sed 's/[^.]*\.\([^.]*\)\..*/\1/'`]])
    38     AC_SUBST(PLOVER_MICRO_VERSION,[[`echo $VERSION | sed 's/.*\.\([^.]*\)/\1/'`]])      ;;
    39   *.*)
    40     AC_SUBST(PLOVER_MAJOR_VERSION,[[`echo $VERSION | sed 's/\..*//'`]])
    41     AC_SUBST(PLOVER_MINOR_VERSION,
    42       [[`echo $VERSION | sed 's/[^.]*\.\([^.]*\)/\1/'`]])
    43     AC_SUBST(PLOVER_MICRO_VERSION,0)
    44     ;;
    45   *)
    46     AC_SUBST(PLOVER_MAJOR_VERSION,0)
    47     AC_SUBST(PLOVER_MINOR_VERSION,0)
    48     AC_SUBST(PLOVER_MICRO_VERSION,0)
    49     ;;
    50 esac
    51 AC_CANONICAL_HOST
    52 AC_SUBST(HOST_OS,$host_os)
    53 AC_SUBST(HOST_CPU,$host_cpu)
    54 case $host_os in
    55     mingw*)
    56 	host_mingw="yes"
    57 	;;
    58     *)
    59 	host_mingw=""
    60 	;;
    61 esac
    62 AM_CONDITIONAL(PLOVER_MINGW,[test -n "$host_mingw"])
    63 
    64 # libtool versioning for libplover. For a release one of the following
    65 # must apply:
    66 #
    67 # - If interfaces have been changed or added, but binary compatibility has
    68 #   been preserved, increment CURRENT and AGE and set REVISION to 0.
    69 # - If binary compatibility has been broken (eg removed or changed interfaces),
    70 #   increment CURRENT and set AGE and REVISION to 0.
    71 # - If the interface is the same as the previous version, increment REVISION.
    72 #
    73 lt_current=4
    74 lt_revision=0
    75 lt_age=1
    76 LIBPLOVER_LT_VERSION_INFO="$lt_current:$lt_revision:$lt_age"
    77 AC_SUBST(LIBPLOVER_LT_VERSION_INFO)
    78 
    79 # and likewise for plover-gtk.
    80 #
    81 lt_current=1
    82 lt_revision=0
    83 lt_age=0
    84 PLOVER_GTK_LT_VERSION_INFO="$lt_current:$lt_revision:$lt_age"
    85 AC_SUBST(PLOVER_GTK_LT_VERSION_INFO)
    86 
    87 ##################################################
    88 # Checks for programs.
    89 ##################################################
    90 AC_PROG_CC
    91 AC_PROG_CXX
    92 AC_LIBTOOL_WIN32_DLL
    93 AC_PROG_LIBTOOL
    94 PKG_PROG_PKG_CONFIG
    95 AC_CHECK_TOOL([WINDRES],[windres],[no])
    96 AM_CONDITIONAL([HAVE_WINDRES],[test x$WINDRES != xno])
    97 AC_CHECK_PROGS([RSVG],[rsvg rsvg-convert],[no])
    98 if test "$RSVG" = no; then
    99     AC_MSG_ERROR([no rsvg program found to convert SVG files to bitmaps])
   100 fi
   101 
   102 ##################################################
   103 # Checks for header files.
   104 ##################################################
   105 AC_HEADER_STDC
   106 AC_CHECK_HEADERS([winhttp.h],[],[],
   107 [#include <windows.h>
   108 ])
   109 
   110 ##################################################
   111 # Checks for typedefs, structures, and compiler characteristics.
   112 ##################################################
   113 
   114 ##################################################
   115 # Checks for libraries.
   116 ##################################################
   117 PKG_CHECK_MODULES(WHELK,[whelk])
   118 PKG_CHECK_MODULES(RAZOR,[razor >= 0.5.4],[:],[RAZOR_LIBS=-lrazor])
   119 PKG_CHECK_MODULES(EXPAT,[expat >= 2.1],[:],
   120   [PKG_CHECK_MODULES(EXPAT,[expat21],[:],[EXPAT_LIBS=-lexpat])])
   121 PKG_CHECK_MODULES(ZLIB,[zlib],[:],[ZLIB_LIBS=-lz])
   122 PKG_CHECK_MODULES(GIO,[gio-2.0])
   123 PKG_CHECK_MODULES(GTK,[gtk+-2.0])
   124 PKG_CHECK_MODULES(GMODULE_EXPORT,[gmodule-export-2.0])
   125 LIBPLOVER_CFLAGS="$RAZOR_CFLAGS $EXPAT_CFLAGS $ZLIB_CFLAGS $GIO_CFLAGS"
   126 LIBPLOVER_LIBS="$RAZOR_LIBS $EXPAT_LIBS $ZLIB_LIBS $GIO_LIBS"
   127 AC_SUBST(LIBPLOVER_CFLAGS)
   128 AC_SUBST(LIBPLOVER_LIBS)
   129 PLOVER_GTK_CFLAGS="$GTK_CFLAGS $RAZOR_CFLAGS"
   130 PLOVER_GTK_LIBS="$GTK_LIBS $RAZOR_LIBS"
   131 AC_SUBST(PLOVER_GTK_CFLAGS)
   132 AC_SUBST(PLOVER_GTK_LIBS)
   133 save_LIBS="$LIBS"
   134 AC_SEARCH_LIBS([crypt],[crypt])
   135 GUI_CFLAGS="$GMODULE_EXPORT_CFLAGS $WHELK_CFLAGS $PLOVER_GTK_CFLAGS \
   136   $LIBPLOVER_CFLAGS"
   137 GUI_LIBS="-llua-posix $GMODULE_EXPORT_LIBS $WHELK_LIBS $PLOVER_GTK_LIBS \
   138   $LIBPLOVER_LIBS $LIBS"
   139 LIBS="$save_LIBS"
   140 AC_SUBST(GUI_CFLAGS)
   141 AC_SUBST(GUI_LIBS)
   142 save_PKG_CONFIG="$PKG_CONFIG"
   143 PKG_CONFIG="$PKG_CONFIG --static"
   144 PKG_CHECK_MODULES(SETUP,[whelk razor >= 0.5.4 expat >= 2.1 zlib gio-2.0],[:],
   145   [PKG_CHECK_MODULES(SETUP,[whelk razor >= 0.5.4 expat21 zlib gio-2.0])])
   146 if test -n "$host_mingw"; then
   147     # Hack: -liconv is required for mingw. This probably stems from our use of
   148     # libiconv rather than win-iconv that Fedora uses, but should be addressed
   149     # somewhere in the stack below us.
   150     SETUP_LIBS="$SETUP_LIBS -liconv"
   151 fi
   152 PKG_CONFIG="$save_PKG_CONFIG"
   153 save_LIBS="$LIBS"
   154 AC_SEARCH_LIBS([crypt],[crypt])
   155 SETUP_LIBS="-llua-posix $SETUP_LIBS $LIBS"
   156 SETUP_CFLAGS="$SETUP_CFLAGS"
   157 AC_SUBST(SETUP_LIBS)
   158 AC_SUBST(SETUP_CFLAGS)
   159 LIBS="$save_LIBS"
   160 LIBS="$LIBS -lcrypt32"
   161 AC_MSG_CHECKING([for library containing CertEnumCertificatesInStore])
   162 AC_LINK_IFELSE([AC_LANG_PROGRAM(
   163   [[#include <windows.h>]],
   164   [return !CertEnumCertificatesInStore((HCERTSTORE)0,NULL);])],
   165   [FETCH_LIBS="-lcrypt32"])
   166 if test -z "$FETCH_LIBS"; then
   167     AC_MSG_RESULT([no])
   168 else
   169     AC_MSG_RESULT([$FETCH_LIBS])
   170 fi
   171 AC_SUBST([FETCH_LIBS])
   172 LIBS="$save_LIBS"
   173 AC_ARG_WITH([breakpad],
   174   [AS_HELP_STRING([--with-breakpad],
   175     [produce minidumps on crash @<:@default=check@:>@])],
   176   [],[with_breakpad=check])
   177 if test "$with_breakpad" != no; then
   178     PKG_CHECK_MODULES([BREAKPAD],[breakpad-client],
   179       [have_breakpad="yes";REQUIREMENTS="$REQUIREMENTS x11"],[have_breakpad="no"])
   180     if test "$have_breakpad" = yes; then
   181 	AC_DEFINE([HAVE_BREAKPAD],[1],[Define if breakpad is available.])
   182     elif test "$with_breakpad" = yes; then
   183 	AC_MSG_ERROR([$BREAKPAD_PKG_ERRORS])
   184     fi
   185 else
   186     have_breakpad="no"
   187 fi
   188 AM_CONDITIONAL([HAVE_BREAKPAD],[test $have_breakpad = yes])
   189 
   190 ##################################################
   191 # Checks for library functions.
   192 ##################################################
   193 AC_CHECK_FUNCS_ONCE([fchdir fpathconf dirfd])
   194 
   195 ##################################################
   196 # Checks for processor independent files.
   197 ##################################################
   198 
   199 ##################################################
   200 # Generate the various configured files
   201 ##################################################
   202 AC_OUTPUT