Merge pull request #1667 from eht16/issue1018_win_execute_builtin_path
[geany-mirror.git] / configure.ac
blob678939d65e9a8b37afab4a11323113f4d34fba18
1 dnl Process this file with autoconf to produce a configure script.
3 AC_PREREQ([2.60])
4 AC_INIT([Geany], [1.32],
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 fnmatch.h glob.h stdlib.h sys/time.h])
44 # Checks for typedefs, structures, and compiler characteristics.
45 AC_TYPE_OFF_T
46 AC_TYPE_SIZE_T
47 AC_STRUCT_TM
49 # Checks for library functions.
50 AC_CHECK_FUNCS([ftruncate fgetpos fnmatch mkstemp strerror strstr])
52 # autoscan end
55 # check for VCS revision
56 GEANY_CHECK_REVISION([dnl force debug mode for a VCS working copy
57                                           CFLAGS="-g -DGEANY_DEBUG $CFLAGS"])
60 AC_ARG_ENABLE([gtk3],
61                 [AS_HELP_STRING([--enable-gtk3],
62                                                 [compile with GTK3 support (experimental) [default=no]])],
63                 [enable_gtk3=$enableval],
64                 [enable_gtk3=no])
66 AS_IF([test "x$enable_gtk3" = xyes],
67           [gtk_package=gtk+-3.0
68            gtk_min_version=3.0],
69           [gtk_package=gtk+-2.0
70            gtk_min_version=2.24])
71 AM_CONDITIONAL([GTK3], [test "x$gtk_package" = "xgtk+-3.0"])
73 # GTK/GLib/GIO checks
74 gtk_modules="$gtk_package >= $gtk_min_version glib-2.0 >= 2.32"
75 gtk_modules_private="gio-2.0 >= 2.32 gmodule-no-export-2.0"
76 PKG_CHECK_MODULES([GTK], [$gtk_modules $gtk_modules_private])
77 AC_SUBST([DEPENDENCIES], [$gtk_modules])
78 AS_VAR_APPEND([GTK_CFLAGS], [" -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32"])
79 dnl Disable all GTK deprecations on 3.x so long as we want to keep 2.x support and only require 3.0.
80 dnl No need on 2.x as we target the latest version.
81 AM_COND_IF([GTK3], [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_package`
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.spec
158                 geany.pc
159                 geany.nsi
160                 doc/Doxyfile
161                 tests/Makefile
162                 tests/ctags/Makefile
164 AC_OUTPUT
166 # Summary
167 GEANY_STATUS_OUTPUT
168 echo ""
169 echo "Configuration is done OK."
170 echo ""