Merge pull request #575 from techee/colourise
[geany-mirror.git] / configure.ac
blobb4f8bb33e96b9159781c1adfb76e4d997951ada4
1 dnl Process this file with autoconf to produce a configure script.
3 AC_PREREQ([2.60])
4 AC_INIT([Geany], [1.27],
5                 [https://sourceforge.net/tracker/?group_id=153444&atid=787791])
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 # check for C++ compiler explicitly and fail if none is found, do this check
34 # after AC_PROG_CXX has set the CXX environment variable
35 if ! which $CXX >/dev/null 2>&1; then
36         AC_MSG_ERROR([No C++ compiler found. Please install a C++ compiler.])
39 AC_PROG_INSTALL
40 AC_PROG_LN_S
42 # autoscan start
44 # Checks for header files.
45 AC_CHECK_HEADERS([fcntl.h fnmatch.h glob.h stdlib.h sys/time.h])
47 # Checks for typedefs, structures, and compiler characteristics.
48 AC_TYPE_OFF_T
49 AC_TYPE_SIZE_T
50 AC_STRUCT_TM
52 # Checks for library functions.
53 AC_CHECK_FUNCS([ftruncate fgetpos fnmatch mkstemp strerror strstr])
55 # autoscan end
58 # check for VCS revision
59 GEANY_CHECK_REVISION([dnl force debug mode for a VCS working copy
60                                           CFLAGS="-g -DGEANY_DEBUG $CFLAGS"])
63 AC_ARG_ENABLE([gtk3],
64                 [AS_HELP_STRING([--enable-gtk3],
65                                                 [compile with GTK3 support (experimental) [default=no]])],
66                 [enable_gtk3=$enableval],
67                 [enable_gtk3=no])
69 AS_IF([test "x$enable_gtk3" = xyes],
70           [gtk_package=gtk+-3.0
71            gtk_min_version=3.0],
72           [gtk_package=gtk+-2.0
73            gtk_min_version=2.24])
74 AM_CONDITIONAL([GTK3], [test "x$gtk_package" = "xgtk+-3.0"])
76 # GTK/GLib/GIO checks
77 gtk_modules="$gtk_package >= $gtk_min_version glib-2.0 >= 2.28"
78 gtk_modules_private="gio-2.0 >= 2.28 gmodule-no-export-2.0"
79 PKG_CHECK_MODULES([GTK], [$gtk_modules $gtk_modules_private])
80 AC_SUBST([DEPENDENCIES], [$gtk_modules])
81 AC_SUBST([GTK_CFLAGS])
82 AC_SUBST([GTK_LIBS])
83 GTK_VERSION=`$PKG_CONFIG --modversion $gtk_package`
84 AC_SUBST([GTK_VERSION])
85 GEANY_STATUS_ADD([Using GTK version], [${GTK_VERSION}])
86 # GTHREAD checks
87 gthread_modules="gthread-2.0"
88 PKG_CHECK_MODULES([GTHREAD], [$gthread_modules])
89 AC_SUBST([GTHREAD_CFLAGS])
90 AC_SUBST([GTHREAD_LIBS])
92 # --disable-deprecated switch for GTK purification
93 AC_ARG_ENABLE([deprecated],
94                 [AS_HELP_STRING([--disable-deprecated], [Disable deprecated GTK functions.])],
95                 [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"],
96                 [])
99 # Check for binary relocation support
100 GEANY_CHECK_BINRELOC
101 # CTags source compatibility (we actually use GRegex instead of POSIX regcomp)
102 AC_DEFINE([HAVE_REGCOMP], [1], [Should always be 1, required for CTags.])
103 # Plugins support
104 GEANY_CHECK_PLUGINS
105 # check for mingw specific settings
106 GEANY_CHECK_MINGW
108 GEANY_CHECK_SOCKET
109 GEANY_CHECK_VTE
110 GEANY_CHECK_MAC_INTEGRATION
111 GEANY_CHECK_THE_FORCE dnl hehe
113 # i18n
114 GEANY_I18N
116 # double eval since datarootdir is usually defined as ${prefix}/share
117 AM_COND_IF([MINGW],
118   [pkgdatadir='${prefix}/data'],
119   [pkgdatadir='${datarootdir}/geany'])
120 AC_SUBST([GEANY_DATA_DIR], [$(eval echo $(eval echo $pkgdatadir))])
121 AC_SUBST([pkgdatadir])
123 # Documentation tools
124 GEANY_CHECK_DOCUTILS
125 GEANY_CHECK_DOXYGEN
127 # libgeany
128 GEANY_LIB_INIT
130 # Output
131 AC_CONFIG_FILES([
132                 Makefile
133                 icons/Makefile
134                 icons/16x16/Makefile
135                 icons/24x24/Makefile
136                 icons/32x32/Makefile
137                 icons/48x48/Makefile
138                 icons/scalable/Makefile
139                 icons/tango/Makefile
140                 icons/tango/16x16/Makefile
141                 icons/tango/24x24/Makefile
142                 icons/tango/32x32/Makefile
143                 icons/tango/48x48/Makefile
144                 icons/tango/scalable/Makefile
145                 tagmanager/Makefile
146                 tagmanager/ctags/Makefile
147                 tagmanager/mio/Makefile
148                 tagmanager/src/Makefile
149                 scintilla/Makefile
150                 scintilla/include/Makefile
151                 src/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 ""