2 # Process this file with autoconf to produce a configure script.
4 AC_INIT([plover],[0.5.1],[ali@juiblex.co.uk])
6 AC_CONFIG_AUX_DIR([config])
7 AC_CONFIG_SRCDIR([plover/plover.h])
8 AC_CONFIG_HEADER([config.h])
9 AC_CONFIG_FILES([Makefile
13 plover-gtk/plover-gtk.pc
21 app-manager/resources.rc
23 plover-open/resources.rc
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
31 AM_INIT_AUTOMAKE(no-define)
32 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
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/'`]]) ;;
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)
46 AC_SUBST(PLOVER_MAJOR_VERSION,0)
47 AC_SUBST(PLOVER_MINOR_VERSION,0)
48 AC_SUBST(PLOVER_MICRO_VERSION,0)
52 AC_SUBST(HOST_OS,$host_os)
53 AC_SUBST(HOST_CPU,$host_cpu)
62 AM_CONDITIONAL(PLOVER_MINGW,[test -n "$host_mingw"])
64 # libtool versioning for libplover. For a release one of the following
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.
76 LIBPLOVER_LT_VERSION_INFO="$lt_current:$lt_revision:$lt_age"
77 AC_SUBST(LIBPLOVER_LT_VERSION_INFO)
79 # and likewise for plover-gtk.
84 PLOVER_GTK_LT_VERSION_INFO="$lt_current:$lt_revision:$lt_age"
85 AC_SUBST(PLOVER_GTK_LT_VERSION_INFO)
87 ##################################################
88 # Checks for programs.
89 ##################################################
95 AC_CHECK_TOOL(WINDRES,windres,no)
96 AM_CONDITIONAL([HAVE_WINDRES],[test x$WINDRES != xno])
98 ##################################################
99 # Checks for header files.
100 ##################################################
102 AC_CHECK_HEADERS([winhttp.h],[],[],
103 [#include <windows.h>
106 ##################################################
107 # Checks for typedefs, structures, and compiler characteristics.
108 ##################################################
110 ##################################################
111 # Checks for libraries.
112 ##################################################
113 PKG_CHECK_MODULES(WHELK,[whelk])
114 PKG_CHECK_MODULES(RAZOR,[razor >= 0.5.4],[:],[RAZOR_LIBS=-lrazor])
115 PKG_CHECK_MODULES(EXPAT,[expat >= 2.1],[:],
116 [PKG_CHECK_MODULES(EXPAT,[expat21],[:],[EXPAT_LIBS=-lexpat])])
117 PKG_CHECK_MODULES(ZLIB,[zlib],[:],[ZLIB_LIBS=-lz])
118 PKG_CHECK_MODULES(GIO,[gio-2.0])
119 PKG_CHECK_MODULES(GTK,[gtk+-2.0])
120 PKG_CHECK_MODULES(GMODULE_EXPORT,[gmodule-export-2.0])
121 LIBPLOVER_CFLAGS="$RAZOR_CFLAGS $EXPAT_CFLAGS $ZLIB_CFLAGS $GIO_CFLAGS"
122 LIBPLOVER_LIBS="$RAZOR_LIBS $EXPAT_LIBS $ZLIB_LIBS $GIO_LIBS"
123 AC_SUBST(LIBPLOVER_CFLAGS)
124 AC_SUBST(LIBPLOVER_LIBS)
125 PLOVER_GTK_CFLAGS="$GTK_CFLAGS $RAZOR_CFLAGS"
126 PLOVER_GTK_LIBS="$GTK_LIBS $RAZOR_LIBS"
127 AC_SUBST(PLOVER_GTK_CFLAGS)
128 AC_SUBST(PLOVER_GTK_LIBS)
130 AC_SEARCH_LIBS([crypt],[crypt])
131 GUI_CFLAGS="$GMODULE_EXPORT_CFLAGS $WHELK_CFLAGS $PLOVER_GTK_CFLAGS \
133 GUI_LIBS="-llua-posix $GMODULE_EXPORT_LIBS $WHELK_LIBS $PLOVER_GTK_LIBS \
134 $LIBPLOVER_LIBS $LIBS"
138 save_PKG_CONFIG="$PKG_CONFIG"
139 PKG_CONFIG="$PKG_CONFIG --static"
140 PKG_CHECK_MODULES(SETUP,[whelk razor >= 0.5.4 expat >= 2.1 zlib gio-2.0],[:],
141 [PKG_CHECK_MODULES(SETUP,[whelk razor >= 0.5.4 expat21 zlib gio-2.0])])
142 if test -n "$host_mingw"; then
143 # Hack: -liconv is required for mingw. This probably stems from our use of
144 # libiconv rather than win-iconv that Fedora uses, but should be addressed
145 # somewhere in the stack below us.
146 SETUP_LIBS="$SETUP_LIBS -liconv"
148 PKG_CONFIG="$save_PKG_CONFIG"
150 AC_SEARCH_LIBS([crypt],[crypt])
151 SETUP_LIBS="-llua-posix $SETUP_LIBS $LIBS"
152 SETUP_CFLAGS="$SETUP_CFLAGS"
154 AC_SUBST(SETUP_CFLAGS)
156 LIBS="$LIBS -lcrypt32"
157 AC_MSG_CHECKING([for library containing CertEnumCertificatesInStore])
158 AC_LINK_IFELSE([AC_LANG_PROGRAM(
159 [[#include <windows.h>]],
160 [return !CertEnumCertificatesInStore((HCERTSTORE)0,NULL);])],
161 [FETCH_LIBS="-lcrypt32"])
162 if test -z "$FETCH_LIBS"; then
165 AC_MSG_RESULT([$FETCH_LIBS])
167 AC_SUBST([FETCH_LIBS])
169 AC_ARG_WITH([breakpad],
170 [AS_HELP_STRING([--with-breakpad],
171 [produce minidumps on crash @<:@default=check@:>@])],
172 [],[with_breakpad=check])
173 if test "$with_breakpad" != no; then
174 PKG_CHECK_MODULES([BREAKPAD],[breakpad-client],
175 [have_breakpad="yes";REQUIREMENTS="$REQUIREMENTS x11"],[have_breakpad="no"])
176 if test "$have_breakpad" = yes; then
177 AC_DEFINE([HAVE_BREAKPAD],[1],[Define if breakpad is available.])
178 elif test "$with_breakpad" = yes; then
179 AC_MSG_ERROR([$BREAKPAD_PKG_ERRORS])
184 AM_CONDITIONAL([HAVE_BREAKPAD],[test $have_breakpad = yes])
186 ##################################################
187 # Checks for library functions.
188 ##################################################
189 AC_CHECK_FUNCS_ONCE([fchdir fpathconf dirfd])
191 ##################################################
192 # Checks for processor independent files.
193 ##################################################
195 ##################################################
196 # Generate the various configured files
197 ##################################################