1 dnl Process this file with autoconf to produce a configure script.
4 AC_INIT([Geany], [1.37],
5 [https://github.com/geany/geany/issues])
6 AC_CONFIG_SRCDIR([src/geany.h])
7 AC_CONFIG_AUX_DIR([build-aux])
8 AC_CONFIG_MACRO_DIR([m4])
9 AM_INIT_AUTOMAKE([1.11 -Wall parallel-tests subdir-objects])
10 AC_CONFIG_HEADERS([config.h])
12 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
17 GEANY_STATUS_ADD([Install Geany in], [${prefix}])
18 if test -n "${build}" -a -n "${target}"; then
19 GEANY_STATUS_ADD([Building Geany on], [${build}])
20 GEANY_STATUS_ADD([Building Geany for], [${target}])
24 AC_USE_SYSTEM_EXTENSIONS
26 m4_ifdef([AM_PROG_AR],[AM_PROG_AR])
27 LT_INIT([disable-static])
34 AX_CXX_COMPILE_STDCXX_11
41 # Checks for header files.
42 AC_CHECK_HEADERS([fcntl.h glob.h stdlib.h sys/time.h errno.h limits.h])
44 # Checks for dependencies needed by ctags
45 AC_CHECK_HEADERS([fnmatch.h direct.h io.h sys/dir.h])
46 AC_DEFINE([USE_STDBOOL_H], [1], [whether or not to use <stdbool.h>.])
47 AC_DEFINE([CTAGS_LIB], [1], [compile ctags as a library.])
49 # Checks for typedefs, structures, and compiler characteristics.
54 # Checks for library functions.
55 AC_CHECK_FUNCS([fgetpos fnmatch mkstemp strerror strstr realpath])
57 # Function checks for u-ctags
58 AC_CHECK_FUNCS([strcasecmp stricmp], [break])
59 AC_CHECK_FUNCS([strncasecmp strnicmp], [break])
60 AC_CHECK_FUNCS([truncate ftruncate chsize], [break])
61 # non-functions checks for u-ctags. Not that we really need those as we don't
62 # use u-ctags's main, but the corresponding macros have to be defined to
63 # something, so simply perform the actual checks.
64 AC_CHECK_DECLS([__environ],,,[[#include <unistd.h>]])
65 AC_CHECK_DECLS([_NSGetEnviron],,,[[#include <crt_externs.h>]])
70 # check for VCS revision
71 GEANY_CHECK_REVISION([dnl force debug mode for a VCS working copy
72 CFLAGS="-g -DGEANY_DEBUG $CFLAGS"])
76 [AS_HELP_STRING([--enable-gtk3],
77 [compile against GTK3 [default=auto]])],
78 [enable_gtk3=$enableval],
86 PKG_CHECK_EXISTS([$gtk2_package >= $gtk2_min_version], [have_gtk2=yes], [have_gtk2=no])
87 PKG_CHECK_EXISTS([$gtk3_package >= $gtk3_min_version], [have_gtk3=yes], [have_gtk3=no])
88 AS_IF([test "x$enable_gtk3" = xyes || (test "x$enable_gtk3" != xno &&
89 test "x$have_gtk3" = xyes &&
90 test "x$have_gtk2" = xno)],
91 [gtk_package=$gtk3_package
92 gtk_min_version=$gtk3_min_version],
93 [gtk_package=$gtk2_package
94 gtk_min_version=$gtk2_min_version])
95 AM_CONDITIONAL([GTK3], [test "x$gtk_package" = "x$gtk3_package"])
98 gtk_modules="$gtk_package >= $gtk_min_version glib-2.0 >= 2.32"
99 gtk_modules_private="gio-2.0 >= 2.32 gmodule-no-export-2.0"
100 PKG_CHECK_MODULES([GTK], [$gtk_modules $gtk_modules_private])
101 AC_SUBST([DEPENDENCIES], [$gtk_modules])
102 AS_VAR_APPEND([GTK_CFLAGS], [" -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32"])
103 dnl Disable all GTK deprecations on 3.x so long as we want to keep 2.x support and only require 3.0.
104 dnl No need on 2.x as we target the latest version.
105 AM_COND_IF([GTK3], [AS_VAR_APPEND([GTK_CFLAGS], [" -DGDK_DISABLE_DEPRECATION_WARNINGS"])])
106 AC_SUBST([GTK_CFLAGS])
108 GTK_VERSION=`$PKG_CONFIG --modversion $gtk_package`
109 AC_SUBST([GTK_VERSION])
110 GEANY_STATUS_ADD([Using GTK version], [${GTK_VERSION}])
112 gthread_modules="gthread-2.0"
113 PKG_CHECK_MODULES([GTHREAD], [$gthread_modules])
114 AC_SUBST([GTHREAD_CFLAGS])
115 AC_SUBST([GTHREAD_LIBS])
117 # --disable-deprecated switch for GTK purification
118 AC_ARG_ENABLE([deprecated],
119 [AS_HELP_STRING([--disable-deprecated], [Disable deprecated GTK functions.])],
120 [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"],
124 # Check for binary relocation support
126 # CTags source compatibility (we actually use GRegex instead of POSIX regcomp)
127 AC_DEFINE([HAVE_REGCOMP], [1], [Should always be 1, required for CTags.])
130 # check for mingw specific settings
135 GEANY_CHECK_MAC_INTEGRATION
136 GEANY_CHECK_THE_FORCE dnl hehe
141 # double eval since datarootdir is usually defined as ${prefix}/share
143 [pkgdatadir='${prefix}/data'],
144 [pkgdatadir='${datarootdir}/geany'])
145 AC_SUBST([GEANY_DATA_DIR], [$(eval echo $(eval echo $pkgdatadir))])
146 AC_SUBST([pkgdatadir])
148 # Documentation tools
151 GEANY_CHECK_GTKDOC_HEADER
164 icons/scalable/Makefile
166 icons/tango/16x16/Makefile
167 icons/tango/24x24/Makefile
168 icons/tango/32x32/Makefile
169 icons/tango/48x48/Makefile
170 icons/tango/scalable/Makefile
173 scintilla/include/Makefile
175 src/tagmanager/Makefile
192 echo "Configuration is done OK."