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], [10])
5 m4_define([json_micro_version], [4])
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], [3])
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.15])
29 [http://bugzilla.gnome.org/enter_bug.cgi?product=json-glib],
32 AC_CONFIG_SRCDIR([json-glib/json-glib.h])
33 AC_CONFIG_MACRO_DIR([build/autotools])
35 AM_INIT_AUTOMAKE([1.9])
36 AM_CONFIG_HEADER([config.h])
44 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
46 JSON_MAJOR_VERSION=json_major_version
47 JSON_MINOR_VERSION=json_minor_version
48 JSON_MICRO_VERSION=json_micro_version
49 JSON_VERSION=json_version
50 JSON_RELEASE_STATUS=json_release_status
51 AC_SUBST(JSON_MAJOR_VERSION)
52 AC_SUBST(JSON_MICRO_VERSION)
53 AC_SUBST(JSON_MINOR_VERSION)
54 AC_SUBST(JSON_VERSION)
55 AC_SUBST(JSON_RELEASE_STATUS)
57 JSON_LT_CURRENT=lt_current
58 JSON_LT_REVISION=lt_revision
60 JSON_LT_VERSION="$JSON_LT_CURRENT:$JSON_LT_REVISION:$JSON_LT_AGE"
61 JSON_LT_LDFLAGS="-version-info $JSON_LT_VERSION"
62 AC_SUBST(JSON_LT_LDFLAGS)
65 AC_CHECK_HEADERS([unistd.h])
70 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
73 PKG_CHECK_MODULES(JSON, [gobject-2.0 >= glib_req_version])
77 AM_CONDITIONAL(ENABLE_GLIB_TEST, [test "x$enable_glibtest" = "xyes"])
79 dnl = Enable debug level ===================================================
81 m4_define([debug_default], [m4_if(m4_eval(json_minor_version % 2), [1], [yes], [minimum])])
83 AC_ARG_ENABLE([debug],
84 [AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
85 [turn on debugging @<:@default=debug_default@:>@])],
87 [enable_debug=debug_default])
89 AS_CASE([$enable_debug],
93 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
94 JSON_DEBUG_CFLAGS="-DJSON_ENABLE_DEBUG"
99 JSON_DEBUG_CFLAGS="-DJSON_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
104 JSON_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
107 [AC_MSG_ERROR([Unknown argument to --enable-debug])]
110 AC_SUBST(JSON_DEBUG_CFLAGS)
112 dnl = Enable strict compiler flags =========================================
114 # use strict compiler flags only on development releases
115 m4_define([maintainer_flags_default], [m4_if(m4_eval(json_minor_version % 2), [1], [yes], [no])])
116 AC_ARG_ENABLE([maintainer-flags],
117 [AC_HELP_STRING([--enable-maintainer-flags=@<:@no/yes@:>@],
118 [Use strict compiler flags @<:@default=maintainer_flags_default@:>@])],
120 [enable_maintainer_flags=maintainer_flags_default])
122 AS_IF([test "x$enable_maintainer_flags" = "xyes" && test "x$GCC" = "xyes"],
124 AS_COMPILER_FLAGS([MAINTAINER_CFLAGS],
125 ["-Werror -Wall -Wshadow -Wcast-align
126 -Wno-uninitialized -Wformat-security
127 -Wno-strict-aliasing -Winit-self
128 -Wempty-body -Wdeclaration-after-statement
129 -Wno-strict-aliasing -Wno-strict-aliasing"])
132 AC_SUBST([MAINTAINER_CFLAGS])
134 GTK_DOC_CHECK([1.11])
136 GOBJECT_INTROSPECTION_CHECK([0.6.4])
138 m4_ifdef([AM_SILENT_RULES],
140 AM_SILENT_RULES([yes])
144 SHAVE_INIT([build/autotools], [enable])
146 build/autotools/shave-libtool
147 build/autotools/shave
152 AM_CONDITIONAL([USE_SHAVE], [test "x$use_shave" = "xyes"])
157 build/autotools/Makefile
159 json-glib/json-version.h
160 json-glib/tests/Makefile
163 doc/reference/Makefile
164 doc/reference/version.xml
170 dnl === Summary ===============================================================
173 echo " Json-GLib - $VERSION (${JSON_RELEASE_STATUS})"
175 echo " • Prefix: ${prefix}"
177 echo " • Debug level: ${enable_debug}"
178 echo " • Compiler flags: ${MAINTAINER_CFLAGS}"
179 echo " • Use shave: ${use_shave}"
181 echo " • API reference: ${enable_gtk_doc}"
183 echo " • Enable test suite: ${enable_glibtest}"
184 echo " • Build introspection data: ${enable_introspection}"