configure.ac
author J. Ali Harlow <ali@juiblex.co.uk>
Sat Nov 15 19:04:45 2014 +0000 (2014-11-15)
changeset 24 2b9f54d14cc2
parent 21 4da45725031f
child 25 e10f418d8e1d
permissions -rw-r--r--
Add GUI front-end to setup and update
     1 #                                               -*- Autoconf -*-
     2 # Process this file with autoconf to produce a configure script.
     3 
     4 AC_INIT([plover],[0.4.50],[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 ])
    23 PLOVER_MSWIN_MANIFEST([setup/setup.exe.manifest:setup/manifest.xml.in
    24 update/update.exe.manifest:update/manifest.xml.in
    25 pre-inst/pre-inst.exe.manifest:pre-inst/manifest.xml.in
    26 app-manager/app-manager.exe.manifest:app-manager/manifest.xml.in
    27 ])
    28 AM_INIT_AUTOMAKE(no-define)
    29 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
    30 case $VERSION in
    31   *.*.*)
    32     AC_SUBST(PLOVER_MAJOR_VERSION,[[`echo $VERSION | sed 's/\..*//'`]])
    33     AC_SUBST(PLOVER_MINOR_VERSION,
    34       [[`echo $VERSION | sed 's/[^.]*\.\([^.]*\)\..*/\1/'`]])
    35     AC_SUBST(PLOVER_MICRO_VERSION,[[`echo $VERSION | sed 's/.*\.\([^.]*\)/\1/'`]])      ;;
    36   *.*)
    37     AC_SUBST(PLOVER_MAJOR_VERSION,[[`echo $VERSION | sed 's/\..*//'`]])
    38     AC_SUBST(PLOVER_MINOR_VERSION,
    39       [[`echo $VERSION | sed 's/[^.]*\.\([^.]*\)/\1/'`]])
    40     AC_SUBST(PLOVER_MICRO_VERSION,0)
    41     ;;
    42   *)
    43     AC_SUBST(PLOVER_MAJOR_VERSION,0)
    44     AC_SUBST(PLOVER_MINOR_VERSION,0)
    45     AC_SUBST(PLOVER_MICRO_VERSION,0)
    46     ;;
    47 esac
    48 AC_CANONICAL_HOST
    49 AC_SUBST(HOST_OS,$host_os)
    50 AC_SUBST(HOST_CPU,$host_cpu)
    51 case $host_os in
    52     mingw*)
    53 	host_mingw="yes"
    54 	;;
    55     *)
    56 	host_mingw=""
    57 	;;
    58 esac
    59 AM_CONDITIONAL(PLOVER_MINGW,[test -n "$host_mingw"])
    60 
    61 # libtool versioning for libplover. For a release one of the following
    62 # must apply:
    63 #
    64 # - If interfaces have been changed or added, but binary compatibility has
    65 #   been preserved, increment CURRENT and AGE and set REVISION to 0.
    66 # - If binary compatibility has been broken (eg removed or changed interfaces),
    67 #   increment CURRENT and set AGE and REVISION to 0.
    68 # - If the interface is the same as the previous version, increment REVISION.
    69 #
    70 lt_current=3
    71 lt_revision=0
    72 lt_age=0
    73 LIBPLOVER_LT_VERSION_INFO="$lt_current:$lt_revision:$lt_age"
    74 AC_SUBST(LIBPLOVER_LT_VERSION_INFO)
    75 
    76 # and likewise for plover-gtk.
    77 #
    78 lt_current=0
    79 lt_revision=1
    80 lt_age=0
    81 PLOVER_GTK_LT_VERSION_INFO="$lt_current:$lt_revision:$lt_age"
    82 AC_SUBST(PLOVER_GTK_LT_VERSION_INFO)
    83 
    84 ##################################################
    85 # Checks for programs.
    86 ##################################################
    87 AC_PROG_CC
    88 AC_LIBTOOL_WIN32_DLL
    89 AC_PROG_LIBTOOL
    90 PKG_PROG_PKG_CONFIG
    91 AC_CHECK_TOOL(WINDRES,windres,no)
    92 AM_CONDITIONAL([HAVE_WINDRES],[test x$WINDRES != xno])
    93 
    94 ##################################################
    95 # Checks for header files.
    96 ##################################################
    97 AC_HEADER_STDC
    98 AC_CHECK_HEADERS([winhttp.h],[],[],
    99 [#include <windows.h>
   100 ])
   101 
   102 ##################################################
   103 # Checks for typedefs, structures, and compiler characteristics.
   104 ##################################################
   105 
   106 ##################################################
   107 # Checks for libraries.
   108 ##################################################
   109 PKG_CHECK_MODULES(WHELK,[whelk])
   110 PKG_CHECK_MODULES(RAZOR,[razor >= 0.5.4],[:],[RAZOR_LIBS=-lrazor])
   111 PKG_CHECK_MODULES(EXPAT,[expat],[:],[EXPAT_LIBS=-lexpat])
   112 PKG_CHECK_MODULES(ZLIB,[zlib],[:],[ZLIB_LIBS=-lz])
   113 PKG_CHECK_MODULES(GIO,[gio-2.0])
   114 PKG_CHECK_MODULES(GTK,[gtk+-2.0])
   115 PKG_CHECK_MODULES(GMODULE_EXPORT,[gmodule-export-2.0])
   116 LIBPLOVER_CFLAGS="$RAZOR_CFLAGS $EXPAT_CFLAGS $ZLIB_CFLAGS $GIO_CFLAGS"
   117 LIBPLOVER_LIBS="$RAZOR_LIBS $EXPAT_LIBS $ZLIB_LIBS $GIO_LIBS"
   118 AC_SUBST(LIBPLOVER_CFLAGS)
   119 AC_SUBST(LIBPLOVER_LIBS)
   120 PLOVER_GTK_CFLAGS="$GTK_CFLAGS $RAZOR_CFLAGS"
   121 PLOVER_GTK_LIBS="$GTK_LIBS $RAZOR_LIBS"
   122 AC_SUBST(PLOVER_GTK_CFLAGS)
   123 AC_SUBST(PLOVER_GTK_LIBS)
   124 save_LIBS="$LIBS"
   125 AC_SEARCH_LIBS([crypt],[crypt])
   126 GUI_CFLAGS="$GMODULE_EXPORT_CFLAGS $WHELK_CFLAGS $PLOVER_GTK_CFLAGS \
   127   $LIBPLOVER_CFLAGS"
   128 GUI_LIBS="-llua-posix $GMODULE_EXPORT_LIBS $WHELK_LIBS $PLOVER_GTK_LIBS \
   129   $LIBPLOVER_LIBS $LIBS"
   130 LIBS="$save_LIBS"
   131 AC_SUBST(GUI_CFLAGS)
   132 AC_SUBST(GUI_LIBS)
   133 save_PKG_CONFIG="$PKG_CONFIG"
   134 PKG_CONFIG="$PKG_CONFIG --static"
   135 PKG_CHECK_MODULES(SETUP,[whelk razor >= 0.5.4 expat zlib gio-2.0])
   136 if test -n "$host_mingw"; then
   137     # Hack: -liconv is required for mingw. This probably stems from our use of
   138     # libiconv rather than win-iconv that Fedora uses, but should be addressed
   139     # somewhere in the stack below us.
   140     SETUP_LIBS="$SETUP_LIBS -liconv"
   141 fi
   142 PKG_CONFIG="$save_PKG_CONFIG"
   143 save_LIBS="$LIBS"
   144 AC_SEARCH_LIBS([crypt],[crypt])
   145 SETUP_LIBS="-llua-posix $SETUP_LIBS $LIBS"
   146 SETUP_CFLAGS="$SETUP_CFLAGS"
   147 AC_SUBST(SETUP_LIBS)
   148 AC_SUBST(SETUP_CFLAGS)
   149 LIBS="$save_LIBS"
   150 LIBS="$LIBS -lcrypt32"
   151 AC_MSG_CHECKING([for library containing CertEnumCertificatesInStore])
   152 AC_LINK_IFELSE([AC_LANG_PROGRAM(
   153   [[#include <windows.h>]],
   154   [return !CertEnumCertificatesInStore((HCERTSTORE)0,NULL);])],
   155   [FETCH_LIBS="-lcrypt32"])
   156 if test -z "$FETCH_LIBS"; then
   157     AC_MSG_RESULT([no])
   158 else
   159     AC_MSG_RESULT([$FETCH_LIBS])
   160 fi
   161 AC_SUBST([FETCH_LIBS])
   162 LIBS="$save_LIBS"
   163 
   164 ##################################################
   165 # Checks for library functions.
   166 ##################################################
   167 AC_CHECK_FUNCS_ONCE([fchdir fpathconf dirfd])
   168 
   169 ##################################################
   170 # Checks for processor independent files.
   171 ##################################################
   172 
   173 ##################################################
   174 # Generate the various configured files
   175 ##################################################
   176 AC_OUTPUT