Initial pass at remove GTK+2
[geany-mirror.git] / configure.ac
blobcc82cc04c3e0870a6fa2fdd36de6aa08bc3f1ce8
1 dnl Process this file with autoconf to produce a configure script.
3 AC_PREREQ([2.60])
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])])
14 GEANY_PREFIX
15 GEANY_DOCDIR
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}])
23 # why do we use this?
24 AC_USE_SYSTEM_EXTENSIONS
26 m4_ifdef([AM_PROG_AR],[AM_PROG_AR])
27 LT_INIT([disable-static])
28 AC_PROG_CC
29 AC_PROG_CC_C99
30 AM_PROG_CC_C_O
32 AC_PROG_CXX
33 GEANY_PROG_CXX
34 AX_CXX_COMPILE_STDCXX_11
36 AC_PROG_INSTALL
37 AC_PROG_LN_S
39 # autoscan start
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.
50 AC_TYPE_OFF_T
51 AC_TYPE_SIZE_T
52 AC_STRUCT_TM
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>]])
67 # autoscan end
70 # check for VCS revision
71 GEANY_CHECK_REVISION([dnl force debug mode for a VCS working copy
72                                           CFLAGS="-g -DGEANY_DEBUG $CFLAGS"])
74 # GTK/GLib/GIO checks
75 gtk_modules="gtk+-3.0 >= 3.0 glib-2.0 >= 2.32"
76 gtk_modules_private="gio-2.0 >= 2.32 gmodule-no-export-2.0"
77 PKG_CHECK_MODULES([GTK], [$gtk_modules $gtk_modules_private])
78 AC_SUBST([DEPENDENCIES], [$gtk_modules])
79 AS_VAR_APPEND([GTK_CFLAGS], [" -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32"])
80 dnl Disable all GTK deprecations
81 AS_VAR_APPEND([GTK_CFLAGS], [" -DGDK_DISABLE_DEPRECATION_WARNINGS"])
82 AC_SUBST([GTK_CFLAGS])
83 AC_SUBST([GTK_LIBS])
84 GTK_VERSION=`$PKG_CONFIG --modversion gtk+-3.0`
85 AC_SUBST([GTK_VERSION])
86 GEANY_STATUS_ADD([Using GTK version], [${GTK_VERSION}])
87 # GTHREAD checks
88 gthread_modules="gthread-2.0"
89 PKG_CHECK_MODULES([GTHREAD], [$gthread_modules])
90 AC_SUBST([GTHREAD_CFLAGS])
91 AC_SUBST([GTHREAD_LIBS])
93 # --disable-deprecated switch for GTK purification
94 AC_ARG_ENABLE([deprecated],
95                 [AS_HELP_STRING([--disable-deprecated], [Disable deprecated GTK functions.])],
96                 [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"],
97                 [])
100 # Check for binary relocation support
101 GEANY_CHECK_BINRELOC
102 # CTags source compatibility (we actually use GRegex instead of POSIX regcomp)
103 AC_DEFINE([HAVE_REGCOMP], [1], [Should always be 1, required for CTags.])
104 # Plugins support
105 GEANY_CHECK_PLUGINS
106 # check for mingw specific settings
107 GEANY_CHECK_MINGW
109 GEANY_CHECK_SOCKET
110 GEANY_CHECK_VTE
111 GEANY_CHECK_MAC_INTEGRATION
112 GEANY_CHECK_THE_FORCE dnl hehe
114 # i18n
115 GEANY_I18N
117 # double eval since datarootdir is usually defined as ${prefix}/share
118 AM_COND_IF([MINGW],
119   [pkgdatadir='${prefix}/data'],
120   [pkgdatadir='${datarootdir}/geany'])
121 AC_SUBST([GEANY_DATA_DIR], [$(eval echo $(eval echo $pkgdatadir))])
122 AC_SUBST([pkgdatadir])
124 # Documentation tools
125 GEANY_CHECK_DOCUTILS
126 GEANY_CHECK_DOXYGEN
127 GEANY_CHECK_GTKDOC_HEADER
129 # libgeany
130 GEANY_LIB_INIT
132 # Output
133 AC_CONFIG_FILES([
134                 Makefile
135                 icons/Makefile
136                 icons/16x16/Makefile
137                 icons/24x24/Makefile
138                 icons/32x32/Makefile
139                 icons/48x48/Makefile
140                 icons/scalable/Makefile
141                 icons/tango/Makefile
142                 icons/tango/16x16/Makefile
143                 icons/tango/24x24/Makefile
144                 icons/tango/32x32/Makefile
145                 icons/tango/48x48/Makefile
146                 icons/tango/scalable/Makefile
147                 ctags/Makefile
148                 scintilla/Makefile
149                 scintilla/include/Makefile
150                 src/Makefile
151                 src/tagmanager/Makefile
152                 plugins/Makefile
153                 po/Makefile.in
154                 data/Makefile
155                 doc/Makefile
156                 doc/geany.1
157                 geany.pc
158                 geany.nsi
159                 doc/Doxyfile
160                 tests/Makefile
161                 tests/ctags/Makefile
163 AC_OUTPUT
165 # Summary
166 GEANY_STATUS_OUTPUT
167 echo ""
168 echo "Configuration is done OK."
169 echo ""