Merge pull request #481 from techee/go
[geany-mirror.git] / configure.ac
blob52287bc6674eeffcfe22ef81f77a5e822b7a7357
1 dnl Process this file with autoconf to produce a configure script.
3 AC_PREREQ([2.60])
4 AC_INIT([Geany], [1.25],
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 SVN revision
59 GEANY_CHECK_REVISION([dnl force debug mode for a SVN 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.20"
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 GEANY_STATUS_ADD([Using GTK version], [${GTK_VERSION}])
85 # GTHREAD checks
86 gthread_modules="gthread-2.0"
87 PKG_CHECK_MODULES([GTHREAD], [$gthread_modules])
88 AC_SUBST([GTHREAD_CFLAGS])
89 AC_SUBST([GTHREAD_LIBS])
91 # --disable-deprecated switch for GTK2 purification
92 AC_ARG_ENABLE([deprecated],
93                 [AS_HELP_STRING([--disable-deprecated], [Disable deprecated GTK functions.])],
94                 [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"],
95                 [])
98 # Check for binary relocation support
99 GEANY_CHECK_BINRELOC
100 # CTags source compatibility (we actually use GRegex instead of POSIX regcomp)
101 AC_DEFINE([HAVE_REGCOMP], [1], [Should always be 1, required for CTags.])
102 # Plugins support
103 GEANY_CHECK_PLUGINS
104 # check for mingw specific settings
105 GEANY_CHECK_MINGW
107 GEANY_CHECK_SOCKET
108 GEANY_CHECK_VTE
109 GEANY_CHECK_MAC_INTEGRATION
110 GEANY_CHECK_THE_FORCE dnl hehe
112 # i18n
113 GEANY_I18N
115 # double eval since datarootdir is usually defined as ${prefix}/share
116 AM_COND_IF([MINGW],
117   [pkgdatadir='${prefix}/data'],
118   [pkgdatadir='${datarootdir}/geany'])
119 AC_SUBST([GEANY_DATA_DIR], [$(eval echo $(eval echo $pkgdatadir))])
120 AC_SUBST([pkgdatadir])
122 # Documentation tools
123 GEANY_CHECK_DOCUTILS
124 GEANY_CHECK_DOXYGEN
126 # libgeany
127 GEANY_LIB_INIT
129 # Output
130 AC_CONFIG_FILES([
131                 Makefile
132                 icons/Makefile
133                 icons/16x16/Makefile
134                 icons/24x24/Makefile
135                 icons/32x32/Makefile
136                 icons/48x48/Makefile
137                 icons/scalable/Makefile
138                 icons/tango/Makefile
139                 icons/tango/16x16/Makefile
140                 icons/tango/24x24/Makefile
141                 icons/tango/32x32/Makefile
142                 icons/tango/48x48/Makefile
143                 icons/tango/scalable/Makefile
144                 tagmanager/Makefile
145                 tagmanager/ctags/Makefile
146                 tagmanager/mio/Makefile
147                 tagmanager/src/Makefile
148                 scintilla/Makefile
149                 scintilla/include/Makefile
150                 src/Makefile
151                 plugins/Makefile
152                 po/Makefile.in
153                 data/Makefile
154                 doc/Makefile
155                 doc/geany.1
156                 geany.spec
157                 geany.pc
158                 doc/Doxyfile
159                 tests/Makefile
160                 tests/ctags/Makefile
162 AC_OUTPUT
164 # Summary
165 GEANY_STATUS_OUTPUT
166 echo ""
167 echo "Configuration is done OK."
168 echo ""