new release for RSA
[external/libjson-glib.git] / configure.ac
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])
6
7 m4_define([json_version], [json_major_version.json_minor_version.json_micro_version])
8
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],
12                                                               [release])])])
13
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)])
18
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)])
22
23 m4_define([glib_req_version], [2.15])
24
25 AC_PREREQ([2.61])
26
27 AC_INIT([json-glib],
28         [json_version],
29         [http://bugzilla.gnome.org/enter_bug.cgi?product=json-glib],
30         [json-glib])
31
32 AC_CONFIG_SRCDIR([json-glib/json-glib.h])
33 AC_CONFIG_MACRO_DIR([build/autotools])
34
35 AM_INIT_AUTOMAKE([1.9])
36 AM_CONFIG_HEADER([config.h])
37
38 AM_DISABLE_STATIC
39 AM_PATH_GLIB_2_0
40 AM_PROG_CC_C_O
41 AM_PROG_LIBTOOL
42
43 # Honor aclocal flags
44 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
45
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)
56
57 JSON_LT_CURRENT=lt_current
58 JSON_LT_REVISION=lt_revision
59 JSON_LT_AGE=lt_age
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)
63
64 AC_HEADER_STDC
65 AC_CHECK_HEADERS([unistd.h])
66 AC_C_CONST
67 AC_FUNC_MALLOC
68 AC_FUNC_MMAP
69
70 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
71 AC_SUBST(GLIB_PREFIX)
72
73 PKG_CHECK_MODULES(JSON, [gobject-2.0 >= glib_req_version])
74 AC_SUBST(JSON_CFLAGS)
75 AC_SUBST(JSON_LIBS)
76
77 AM_CONDITIONAL(ENABLE_GLIB_TEST, [test "x$enable_glibtest" = "xyes"])
78
79 dnl = Enable debug level ===================================================
80
81 m4_define([debug_default], [m4_if(m4_eval(json_minor_version % 2), [1], [yes], [minimum])])
82
83 AC_ARG_ENABLE([debug],
84               [AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
85                               [turn on debugging @<:@default=debug_default@:>@])],
86               [],
87               [enable_debug=debug_default])
88
89 AS_CASE([$enable_debug],
90
91         [yes],
92         [
93           test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
94           JSON_DEBUG_CFLAGS="-DJSON_ENABLE_DEBUG"
95         ],
96
97         [minimum],
98         [
99           JSON_DEBUG_CFLAGS="-DJSON_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
100         ],
101
102         [no],
103         [
104           JSON_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
105         ],
106
107         [AC_MSG_ERROR([Unknown argument to --enable-debug])]
108 )
109
110 AC_SUBST(JSON_DEBUG_CFLAGS)
111
112 dnl = Enable strict compiler flags =========================================
113
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@:>@])],
119               [],
120               [enable_maintainer_flags=maintainer_flags_default])
121
122 AS_IF([test "x$enable_maintainer_flags" = "xyes" && test "x$GCC" = "xyes"],
123       [
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"])
130       ]
131 )
132 AC_SUBST([MAINTAINER_CFLAGS])
133
134 GTK_DOC_CHECK([1.11])
135
136 GOBJECT_INTROSPECTION_CHECK([0.6.4])
137
138 m4_ifdef([AM_SILENT_RULES],
139          [
140            AM_SILENT_RULES([yes])
141            use_shave=no
142          ],
143          [
144            SHAVE_INIT([build/autotools], [enable])
145            AC_CONFIG_FILES([
146                 build/autotools/shave-libtool
147                 build/autotools/shave
148            ])
149            use_shave=yes
150          ])
151
152 AM_CONDITIONAL([USE_SHAVE], [test "x$use_shave" = "xyes"])
153
154 AC_CONFIG_FILES([
155         Makefile
156         build/Makefile
157         build/autotools/Makefile
158         json-glib/Makefile
159         json-glib/json-version.h
160         json-glib/tests/Makefile
161         tests/Makefile
162         doc/Makefile
163         doc/reference/Makefile
164         doc/reference/version.xml
165         json-glib.pc
166 ])
167
168 AC_OUTPUT
169
170 dnl === Summary ===============================================================
171
172 echo ""
173 echo " Json-GLib - $VERSION (${JSON_RELEASE_STATUS})"
174 echo ""
175 echo " • Prefix: ${prefix}"
176 echo ""
177 echo " • Debug level: ${enable_debug}"
178 echo " • Compiler flags: ${MAINTAINER_CFLAGS}"
179 echo " • Use shave: ${use_shave}"
180 echo ""
181 echo " • API reference: ${enable_gtk_doc}"
182 echo ""
183 echo " • Enable test suite: ${enable_glibtest}"
184 echo " • Build introspection data: ${enable_introspection}"
185 echo ""