4
dnl ***********************************************************************
5
dnl Define Versioning Information
6
dnl ***********************************************************************
7
m4_define([builder_major_version],[3])
8
m4_define([builder_minor_version],[16])
9
m4_define([builder_micro_version],[3])
10
m4_define([builder_version],[builder_major_version.builder_minor_version.builder_micro_version])
11
m4_define([builder_interface_age],[0])
12
m4_define([builder_bugreport_url],
13
[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-builder])
14
m4_define([builder_debug_default],
15
[m4_if(m4_eval(builder_minor_version % 2), [1], [yes], [minimum])])
18
dnl ***********************************************************************
19
dnl Initialize Autoconf
20
dnl ***********************************************************************
21
AC_INIT([gnome-builder],[builder_version],[builder_bugreport_url])
22
AC_CONFIG_HEADERS([config.h])
23
AC_CONFIG_SRCDIR([src/main.c])
24
AC_CONFIG_MACRO_DIR([build/autotools])
25
AC_CONFIG_AUX_DIR([build])
26
AC_SUBST(ACLOCAL_AMFLAGS, "-I build/autotools")
30
dnl ***********************************************************************
31
dnl Make Version Info Available to .in Files
32
dnl ***********************************************************************
33
MAJOR_VERSION=builder_major_version
34
MINOR_VERSION=builder_minor_version
35
MICRO_VERSION=builder_micro_version
36
LIBIDE_VERSION=builder_version
37
AC_SUBST(MAJOR_VERSION)
38
AC_SUBST(MINOR_VERSION)
39
AC_SUBST(MICRO_VERSION)
40
AC_SUBST(LIBIDE_VERSION)
43
dnl ***********************************************************************
44
dnl Initialize Automake
45
dnl ***********************************************************************
46
AM_SILENT_RULES([yes])
47
AM_INIT_AUTOMAKE([1.11 foreign subdir-objects tar-ustar no-dist-gzip dist-xz])
48
AM_MAINTAINER_MODE([enable])
51
dnl ***********************************************************************
52
dnl Internationalization
53
dnl ***********************************************************************
54
IT_PROG_INTLTOOL([0.50.1])
55
GETTEXT_PACKAGE=AC_PACKAGE_TARNAME
56
AC_SUBST(GETTEXT_PACKAGE)
57
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [GETTEXT package name])
61
dnl ***********************************************************************
62
dnl Check for Required Programs
63
dnl ***********************************************************************
68
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
69
AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums])
70
AC_PATH_PROG([GLIB_COMPILE_RESOURCES], [glib-compile-resources])
72
PKG_PROG_PKG_CONFIG([0.22])
75
dnl ***********************************************************************
76
dnl Ensure C11 is Supported
77
dnl ***********************************************************************
78
AX_CHECK_COMPILE_FLAG([-std=gnu11],
79
[CFLAGS="$CFLAGS -std=gnu11"],
80
[AC_MSG_ERROR([C compiler cannot compile GNU C11 code])])
83
dnl ***********************************************************************
84
dnl Ensure C++11 is Supported
85
dnl ***********************************************************************
86
AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])
88
dnl ***********************************************************************
89
dnl Find Path of GNU Make
90
dnl ***********************************************************************
91
AC_CHECK_PROG([GMAKE], [gmake], [gmake], [make])
92
AC_DEFINE_UNQUOTED([GNU_MAKE_NAME], ["$GMAKE"], [Name of GNU make on this system])
95
dnl ***********************************************************************
96
dnl Enable high-performance counters
97
dnl ***********************************************************************
101
dnl ***********************************************************************
102
dnl Setup Debug and Tracing Support
103
dnl ***********************************************************************
104
AC_ARG_ENABLE(tracing,
105
AS_HELP_STRING([--enable-tracing=@<:@no/yes@:>@],
106
[add extra debugging information @<:@default=no@:>@]),
109
AS_IF([test "x$enable_tracing" = "xyes"],[enable_debug=yes ENABLE_TRACING=1],[ENABLE_TRACING=0])
110
AC_SUBST(ENABLE_TRACING)
113
AS_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
114
[turn on debugging @<:@default=builder_debug_default@:>@]),
116
enable_debug=builder_debug_default)
117
AS_CASE(["$enable_debug"],
119
DEBUG_CFLAGS="$DEBUG_CFLAGS -O0"
120
DEBUG_CFLAGS="$DEBUG_CFLAGS -g"
123
DEBUG_CFLAGS="$DEBUG_CFLAGS -DG_DISABLE_CAST_CHECKS"
126
DEBUG_CFLAGS="$DEBUG_CFLAGS -DG_DISABLE_ASSERT"
127
DEBUG_CFLAGS="$DEBUG_CFLAGS -DG_DISABLE_CHECKS"
128
DEBUG_CFLAGS="$DEBUG_CFLAGS -DG_DISABLE_CAST_CHECKS"
131
AC_SUBST(DEBUG_CFLAGS)
133
BUGREPORT_URL=builder_bugreport_url
134
AC_SUBST(BUGREPORT_URL)
137
dnl ***********************************************************************
138
dnl Check for Required Packages
139
dnl ***********************************************************************
140
m4_define([gtk_required_version], [3.16.1])
141
m4_define([glib_required_version], [2.44.0])
142
m4_define([gtksourceview_required_version], [3.16.1])
143
m4_define([ggit_required_version], [0.22.6])
144
m4_define([gjs_required_version], [1.42.0])
145
m4_define([pygobject_required_version], [3.0.0])
146
m4_define([devhelp_required_version], [3.16.0])
147
m4_define([libxml_required_version], [2.9.0])
149
PKG_CHECK_MODULES(BUILDER, [gtk+-3.0 >= gtk_required_version
150
gio-2.0 >= glib_required_version
151
gtksourceview-3.0 >= gtksourceview_required_version
152
libdevhelp-3.0 >= devhelp_required_version
153
libgit2-glib-1.0 >= ggit_required_version])
154
PKG_CHECK_MODULES(EGG, [glib-2.0 >= glib_required_version
155
gtk+-3.0 >= gtk_required_version])
156
PKG_CHECK_MODULES(LIBIDE, [gio-2.0 >= glib_required_version
157
gio-unix-2.0 >= glib_required_version
158
gtksourceview-3.0 >= gtksourceview_required_version
159
libdevhelp-3.0 >= devhelp_required_version
160
libgit2-glib-1.0 >= ggit_required_version
161
gjs-1.0 >= gjs_required_version
162
gjs-internals-1.0 >= gjs_required_version
163
pygobject-3.0 >= pygobject_required_version])
164
PKG_CHECK_MODULES(SEARCH, [glib-2.0 >= glib_required_version])
165
PKG_CHECK_MODULES(GEDIT, [glib-2.0 >= glib_required_version
166
gtk+-3.0 >= gtk_required_version])
167
PKG_CHECK_MODULES(NAUTILUS, [glib-2.0 >= glib_required_version
168
gtk+-3.0 >= gtk_required_version])
169
PKG_CHECK_MODULES(XML, [gio-2.0 >= glib_required_version
170
libxml-2.0 >= libxml_required_version])
173
dnl ***********************************************************************
174
dnl Check for Clang, Required for C/C++ Diagnostics
175
dnl ***********************************************************************
176
AC_CHECK_PROGS([LLVM_CONFIG], [llvm-config-3.5 llvm-config35 llvm-config], [])
177
AS_IF([test "x$LLVM_CONFIG" = "x"],[
178
AC_MSG_ERROR([Failed to locate the llvm-config program. Please install llvm-devel.])
180
CLANG_INCLUDEDIR=`$LLVM_CONFIG --includedir`
181
CLANG_CFLAGS="-I$CLANG_INCLUDEDIR"
182
CLANG_LDFLAGS=`$LLVM_CONFIG --ldflags`
183
AC_SUBST([CLANG_INCLUDEDIR])
184
AC_SUBST([CLANG_CFLAGS])
185
AC_SUBST([CLANG_LDFLAGS])
186
CPPFLAGS_SAVE=${CPPFLAGS}
187
CPPFLAGS=-I${CLANG_INCLUDEDIR}
188
AC_CHECK_HEADER([clang-c/Index.h], [], [
189
AC_MSG_ERROR([Failed to locage clang-c/Index.h. Please install clang-devel.])
191
CPPFLAGS=${CPPFLAGS_SAVE}
194
dnl ***********************************************************************
195
dnl Check for Required Python
196
dnl ***********************************************************************
197
AC_PATH_TOOL(PYTHON3_CONFIG, "python3-config")
198
AS_IF([test -z "${PYTHON3_CONFIG}"],[
199
AC_MSG_ERROR([Failed to locate python3-config.])
201
LIBIDE_CFLAGS="${LIBIDE_CFLAGS} `${PYTHON3_CONFIG} --includes`"
202
LIBIDE_LIBS="${LIBIDE_LIBS} `${PYTHON3_CONFIG} --libs`"
203
LIBIDE_LDFLAGS="${LIBIDE_LDFLAGS} `${PYTHON3_CONFIG} --ldflags`"
206
dnl ***********************************************************************
207
dnl Initialize Libtool
208
dnl ***********************************************************************
213
dnl ***********************************************************************
214
dnl Additional C Compiler Flags
215
dnl ***********************************************************************
216
AX_APPEND_COMPILE_FLAGS([ \
219
-Wdeclaration-after-statement \
221
-Werror=format-security \
225
-Wformat-nonliteral \
228
-Wmissing-include-dirs \
230
-Wno-missing-field-initializers \
232
-Wno-strict-aliasing \
234
-Wno-unused-parameter \
247
dnl ***********************************************************************
248
dnl Desktop Settings Support
249
dnl ***********************************************************************
253
dnl ***********************************************************************
254
dnl Setup Introspection
255
dnl ***********************************************************************
256
GOBJECT_INTROSPECTION_CHECK([1.42.0])
259
dnl ***********************************************************************
260
dnl Always build tests
261
dnl ***********************************************************************
262
AC_ARG_ENABLE([tests],
263
AS_HELP_STRING([--enable-tests],
264
[Enable always building tests during 'make all' [default=no]]),
265
[enable_tests=$enableval], [enable_tests=no])
267
AM_CONDITIONAL([ENABLE_TESTS], test "$enable_tests" = "yes")
270
dnl ***********************************************************************
271
dnl Support for gtk-doc Documentation Engine
272
dnl ***********************************************************************
273
GTK_DOC_CHECK([1.11],[--flavour no-tmpl])
274
AM_CONDITIONAL(ENABLE_GTK_DOC, test "x$enable_gtk_doc" = "xyes")
275
AC_ARG_ENABLE(doc-cross-references,
276
AS_HELP_STRING([--disable-doc-cross-references],
277
[cross reference symbols from other libraries @<:@default=yes@:>@]),
278
enable_doc_cross_references=$enableval,
279
enable_doc_cross_references=yes)
280
AM_CONDITIONAL(ENABLE_DOC_CROSS_REFERENCES, test x$enable_doc_cross_references != xno)
283
dnl ***********************************************************************
284
dnl Rules for Generating AppStream Information
285
dnl ***********************************************************************
289
dnl ***********************************************************************
290
dnl Setup Various Compiler Optimizations
291
dnl ***********************************************************************
292
AC_MSG_CHECKING([whether to enable optimized builds])
293
AC_ARG_ENABLE(optimizations,
294
AC_HELP_STRING([--enable-optimizations],
295
[turn on build-time optimizations [default=yes]]),
296
[enable_optimizations=$enableval],
297
[AS_IF([test "x$enable_debug" = "xyes"],
298
[enable_optimizations="no"],
299
[enable_optimizations="yes"])])
300
AC_MSG_RESULT([$enable_optimizations])
302
AC_HELP_STRING([--enable-lto],
303
[turn on link time optimizations [default=no]]),
304
[enable_lto=$enableval],
309
AS_IF([test "$enable_optimizations" != "no"],
310
[AX_CHECK_LINK_FLAG([-Wl,-Bsymbolic],
311
[OPTIMIZE_LDFLAGS="$OPTIMIZE_LDFLAGS -Wl,-Bsymbolic"])])
314
# Enable Link-Time-Optimization
316
OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS $LTO_CFLAGS"
319
AC_SUBST(OPTIMIZE_CFLAGS)
320
AC_SUBST(OPTIMIZE_LDFLAGS)
323
dnl ***********************************************************************
324
dnl Check if shm_open Requires a Library
325
dnl ***********************************************************************
326
AC_CHECK_FUNCS([shm_open], [SHM_LIB=],
327
[AC_CHECK_LIB([rt], [shm_open], [SHM_LIB=-lrt], [SHM_LIB=])])
331
dnl ***********************************************************************
332
dnl Process .in Files
333
dnl ***********************************************************************
338
build/autotools/Makefile
342
contrib/gedit/Makefile
343
contrib/libeditorconfig/Makefile
344
contrib/nautilus/Makefile
345
contrib/search/Makefile
352
data/gsettings/Makefile
355
data/style-schemes/Makefile
358
doc/examples/Makefile
359
doc/examples/scripts/Makefile
360
doc/reference/Makefile
361
doc/reference/libide/Makefile
362
doc/reference/libide/version.xml
376
echo " ${PACKAGE} - ${VERSION}"
380
echo " Prefix ............................... : ${prefix}"
381
echo " Libdir ............................... : ${libdir}"
382
echo " Optimized Build ...................... : ${enable_optimizations}"
383
echo " Link-Time-Optimization ............... : ${enable_lto}"
384
echo " rdtscp ............................... : ${enable_rdtscp}"
386
echo " Development Options"
388
echo " Enable Debug ......................... : ${enable_debug}"
389
echo " Enable Tracing ....................... : ${enable_tracing}"
390
echo " Build Test Suite ..................... : ${enable_tests}"
391
echo " Build API reference .................. : ${enable_gtk_doc}"
392
echo " Use cross-referencing in API docs .... : ${enable_doc_cross_references}"