1 # bump micro_version to the next even number for each point release
2 # bump micro_version to the next odd number after each release
3 m4_define([json_major_version], [0])
4 m4_define([json_minor_version], [14])
5 m4_define([json_micro_version], [2])
7 m4_define([json_version], [json_major_version.json_minor_version.json_micro_version])
9 m4_define([json_release_status],
10 [m4_if(m4_eval(json_micro_version % 2), [1], [git],
11 [m4_if(m4_eval(json_minor_version % 2), [1], [snapshot],
14 # bump up by 1 for every micro release with no API changes, otherwise
15 # set to 0. after release, bump up by 1
16 m4_define([json_interface_age], [2])
17 m4_define([json_binary_age], [m4_eval(100 * json_minor_version + json_micro_version)])
19 m4_define([lt_current], [m4_eval(100 * json_minor_version + json_micro_version - json_interface_age)])
20 m4_define([lt_revision], [json_interface_age])
21 m4_define([lt_age], [m4_eval(json_binary_age - json_interface_age)])
23 m4_define([glib_req_version], [2.26])
29 [http://bugzilla.gnome.org/enter_bug.cgi?product=json-glib],
31 [http://live.gnome.org/JsonGlib])
33 AC_CONFIG_HEADER([config.h])
34 AC_CONFIG_SRCDIR([json-glib/json-glib.h])
35 AC_CONFIG_AUX_DIR([build])
36 AC_CONFIG_MACRO_DIR([build/autotools])
38 AM_INIT_AUTOMAKE([1.11 no-define foreign -Wno-portability dist-xz no-dist-gzip tar-ustar])
40 AM_SILENT_RULES([yes])
45 LT_INIT([disable-static])
48 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
50 JSON_MAJOR_VERSION=json_major_version
51 JSON_MINOR_VERSION=json_minor_version
52 JSON_MICRO_VERSION=json_micro_version
53 JSON_VERSION=json_version
54 JSON_RELEASE_STATUS=json_release_status
55 AC_SUBST(JSON_MAJOR_VERSION)
56 AC_SUBST(JSON_MICRO_VERSION)
57 AC_SUBST(JSON_MINOR_VERSION)
58 AC_SUBST(JSON_VERSION)
59 AC_SUBST(JSON_RELEASE_STATUS)
61 JSON_LT_CURRENT=lt_current
62 JSON_LT_REVISION=lt_revision
64 JSON_LT_VERSION="$JSON_LT_CURRENT:$JSON_LT_REVISION:$JSON_LT_AGE"
65 JSON_LT_LDFLAGS="-version-info $JSON_LT_VERSION"
68 AC_MSG_CHECKING([if building for some Win32 platform])
71 [*-*-mingw*|*-*-cygwin*],
73 JSON_LT_LDFLAGS="$JSON_LT_LDFLAGS -no-undefined"
79 AC_MSG_RESULT([$platform_win32])
81 AC_SUBST(JSON_LT_LDFLAGS)
83 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
86 PKG_CHECK_MODULES(JSON, [gobject-2.0 >= glib_req_version gio-2.0])
90 AM_CONDITIONAL(ENABLE_GLIB_TEST, [test "x$enable_glibtest" = "xyes"])
92 dnl = Enable debug level ======================================================
94 m4_define([debug_default], [m4_if(m4_eval(json_minor_version % 2), [1], [yes], [minimum])])
96 AC_ARG_ENABLE([debug],
97 [AS_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
98 [turn on debugging @<:@default=]debug_default[@:>@])],
100 [enable_debug=debug_default])
102 AS_CASE([$enable_debug],
106 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
107 JSON_DEBUG_CFLAGS="-DJSON_ENABLE_DEBUG"
112 JSON_DEBUG_CFLAGS="-DJSON_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
117 JSON_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
120 [AC_MSG_ERROR([Unknown argument to --enable-debug])]
123 AC_SUBST(JSON_DEBUG_CFLAGS)
125 dnl = Enable strict compiler flags ============================================
127 # use strict compiler flags only on development releases
128 m4_define([maintainer_flags_default], [m4_if(m4_eval(json_minor_version % 2), [1], [yes], [no])])
129 AC_ARG_ENABLE([maintainer-flags],
130 [AS_HELP_STRING([--enable-maintainer-flags=@<:@no/yes@:>@],
131 [Use strict compiler flags @<:@default=]maintainer_flags_default[@:>@])],
133 [enable_maintainer_flags=maintainer_flags_default])
135 AS_IF([test "x$enable_maintainer_flags" = "xyes" && test "x$GCC" = "xyes"],
137 AS_COMPILER_FLAGS([MAINTAINER_CFLAGS],
138 ["-Wall -Wshadow -Wcast-align
139 -Wno-uninitialized -Wformat -Wformat-security
140 -Wno-strict-aliasing -Winit-self
141 -Wempty-body -Wdeclaration-after-statement
142 -Wno-strict-aliasing"])
145 MAINTAINER_CFLAGS="${MAINTAINER_CFLAGS#* }"
146 AC_SUBST([MAINTAINER_CFLAGS])
148 dnl = GCOV coverage checks ====================================================
149 AC_MSG_CHECKING([whether to build with gcov testing])
150 AC_ARG_ENABLE([gcov],
151 [AS_HELP_STRING([--enable-gcov],
152 [Whether to enable coverage testing (requires gcc and gcov)])],
156 AS_IF([test "x$enable_gcov" = "xyes" && test "x$GCC" = "xyes"],
158 GCOV_CFLAGS="$CFLAGS -O0 -g -fprofile-arcs -ftest-coverage"
159 GCOV_LDFLAGS="$LDFLAGS -lgcov"
163 AM_CONDITIONAL([GCOV_ENABLED], [test "x$enable_gcov" = "xyes"])
164 AC_SUBST([GCOV_CFLAGS])
165 AC_SUBST([GCOV_LDFLAGS])
166 AC_MSG_RESULT([$enable_gcov])
168 GTK_DOC_CHECK([1.13], [--flavour no-tmpl])
170 GOBJECT_INTROSPECTION_CHECK([0.9.5])
172 AM_GNU_GETTEXT_VERSION([0.18])
173 AM_GNU_GETTEXT([external])
175 GETTEXT_PACKAGE="json-glib-1.0"
176 AC_SUBST(GETTEXT_PACKAGE)
177 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],
178 ["$GETTEXT_PACKAGE"],
179 [The prefix for our gettext translation domains.])
186 build/autotools/Makefile
188 build/win32/config.h.win32
189 build/win32/vs9/Makefile
190 build/win32/vs10/Makefile
193 json-glib/json-version.h
194 json-glib/tests/Makefile
197 doc/reference/Makefile
198 doc/reference/version.xml
207 dnl === Summary ===============================================================
210 echo " Json-GLib - $VERSION (${JSON_RELEASE_STATUS})"
212 echo " • Prefix: ${prefix}"
214 echo " • Debug level: ${enable_debug}"
215 echo " • Compiler flags: ${CFLAGS} ${MAINTAINER_CFLAGS}"
217 echo " • API reference: ${enable_gtk_doc}"
219 echo " • Enable test suite: ${enable_glibtest}"
220 echo " • Build introspection data: ${enable_introspection}"
221 echo " • Enable coverage test: ${enable_gcov}"