Use document_show_message() when a file is externally modified
[geany-mirror.git] / configure.ac
blob68d23580a802b3af6249c954538f34183541a535
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 AC_PROG_CC
28 AC_PROG_CC_C99
29 AM_PROG_CC_C_O
31 AC_PROG_CXX
32 # check for C++ compiler explicitly and fail if none is found, do this check
33 # after AC_PROG_CXX has set the CXX environment variable
34 if ! which $CXX >/dev/null 2>&1; then
35         AC_MSG_ERROR([No C++ compiler found. Please install a C++ compiler.])
38 AC_PROG_INSTALL
39 AC_PROG_LN_S
41 # autoscan start
43 # Checks for header files.
44 AC_CHECK_HEADERS([fcntl.h fnmatch.h glob.h stdlib.h sys/time.h])
46 # Checks for typedefs, structures, and compiler characteristics.
47 AC_TYPE_OFF_T
48 AC_TYPE_SIZE_T
49 AC_STRUCT_TM
51 # Checks for library functions.
52 AC_CHECK_FUNCS([ftruncate fgetpos mkstemp strerror strstr])
54 # autoscan end
57 # check for SVN revision
58 GEANY_CHECK_REVISION([dnl force debug mode for a SVN working copy
59                                           CFLAGS="-g -DGEANY_DEBUG $CFLAGS"])
62 AC_ARG_ENABLE([gtk3],
63                 [AS_HELP_STRING([--enable-gtk3],
64                                                 [compile with GTK3 support (experimental) [default=no]])],
65                 [enable_gtk3=$enableval],
66                 [enable_gtk3=no])
68 AS_IF([test "x$enable_gtk3" = xyes],
69           [gtk_package=gtk+-3.0
70            gtk_min_version=3.0],
71           [gtk_package=gtk+-2.0
72            gtk_min_version=2.16])
73 AM_CONDITIONAL([GTK3], [test "x$gtk_package" = "xgtk+-3.0"])
75 # GTK/GLib/GIO checks
76 gtk_modules="$gtk_package >= $gtk_min_version glib-2.0 >= 2.20"
77 gtk_modules_private="gio-2.0 >= 2.20 gmodule-2.0"
78 PKG_CHECK_MODULES([GTK], [$gtk_modules $gtk_modules_private])
79 AC_SUBST([DEPENDENCIES], [$gtk_modules])
80 AC_SUBST([GTK_CFLAGS])
81 AC_SUBST([GTK_LIBS])
82 GTK_VERSION=`$PKG_CONFIG --modversion $gtk_package`
83 GEANY_STATUS_ADD([Using GTK version], [${GTK_VERSION}])
84 # GTHREAD checks
85 gthread_modules="gthread-2.0"
86 PKG_CHECK_MODULES([GTHREAD], [$gthread_modules])
87 AC_SUBST([GTHREAD_CFLAGS])
88 AC_SUBST([GTHREAD_LIBS])
90 # --disable-deprecated switch for GTK2 purification
91 AC_ARG_ENABLE([deprecated],
92                 [AS_HELP_STRING([--disable-deprecated], [Disable deprecated GTK functions.])],
93                 [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"],
94                 [])
97 # Check for binary relocation support
98 GEANY_CHECK_BINRELOC
99 # CTags source compatibility (we actually use GRegex instead of POSIX regcomp)
100 AC_DEFINE([HAVE_REGCOMP], [1], [Should always be 1, required for CTags.])
101 # Plugins support
102 GEANY_CHECK_PLUGINS
103 # check for mingw specific settings
104 GEANY_CHECK_MINGW
106 GEANY_CHECK_SOCKET
107 GEANY_CHECK_VTE
108 GEANY_CHECK_THE_FORCE dnl hehe
110 # i18n
111 GEANY_I18N
113 GEANY_DATA_DIR=`eval echo ${datarootdir}/geany`
114 AC_SUBST([GEANY_DATA_DIR])
116 # Documentation tools
117 GEANY_CHECK_DOCUTILS
118 GEANY_CHECK_DOXYGEN
120 # Output
121 AC_CONFIG_FILES([
122                 Makefile
123                 icons/Makefile
124                 icons/16x16/Makefile
125                 icons/24x24/Makefile
126                 icons/32x32/Makefile
127                 icons/48x48/Makefile
128                 icons/scalable/Makefile
129                 icons/tango/Makefile
130                 icons/tango/16x16/Makefile
131                 icons/tango/24x24/Makefile
132                 icons/tango/32x32/Makefile
133                 icons/tango/48x48/Makefile
134                 icons/tango/scalable/Makefile
135                 tagmanager/Makefile
136                 tagmanager/ctags/Makefile
137                 tagmanager/mio/Makefile
138                 tagmanager/src/Makefile
139                 scintilla/Makefile
140                 scintilla/include/Makefile
141                 src/Makefile
142                 plugins/Makefile
143                 po/Makefile.in
144                 data/Makefile
145                 doc/Makefile
146                 doc/geany.1
147                 geany.spec
148                 geany.pc
149                 doc/Doxyfile
150                 tests/Makefile
151                 tests/ctags/Makefile
153 AC_OUTPUT
155 # Summary
156 GEANY_STATUS_OUTPUT
157 echo ""
158 echo "Configuration is done OK."
159 echo ""