m4_define([json_interface_age], [0]) m4_define([json_binary_age], [m4_eval(100 * 7 + 7)]) m4_define([lt_current], [m4_eval(100 * 7 + 7 - json_interface_age)]) m4_define([lt_revision], [json_interface_age]) m4_define([lt_age], [m4_eval(json_binary_age - json_interface_age)]) AC_PREREQ([2.59]) AC_INIT([json-glib],[0.7.7],[dev@zentific.com]) AC_CONFIG_SRCDIR([json-glib/json-glib.h]) AM_INIT_AUTOMAKE([1.9]) AM_CONFIG_HEADER([config.h]) AM_DISABLE_STATIC AM_PATH_GLIB_2_0 AM_PROG_LIBTOOL # Honor aclocal flags ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" JSON_MAJOR_VERSION=json_major_version JSON_MINOR_VERSION=json_minor_version JSON_MICRO_VERSION=json_micro_version JSON_VERSION=json_version AC_SUBST(JSON_MAJOR_VERSION) AC_SUBST(JSON_MICRO_VERSION) AC_SUBST(JSON_MINOR_VERSION) AC_SUBST(JSON_VERSION) if [[ -d /lib64 ]] then libdir="/usr/lib64" LDFLAGS="-L/usr/lib64 $LDFLAGS" fi JSON_LT_CURRENT=lt_current JSON_LT_REVISION=lt_revision JSON_LT_AGE=lt_age JSON_LT_VERSION="$JSON_LT_CURRENT:$JSON_LT_REVISION:$JSON_LT_AGE" JSON_LT_LDFLAGS="-version-info $JSON_LT_VERSION " AC_SUBST(JSON_LT_LDFLAGS) AC_PROG_CC AC_HEADER_STDC AC_CHECK_HEADERS([unistd.h]) AC_C_CONST AC_FUNC_MALLOC AC_FUNC_MMAP GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`" AC_SUBST(GLIB_PREFIX) PKG_CHECK_MODULES(JSON, [gobject-2.0 >= 2.15]) AC_SUBST(JSON_CFLAGS) AC_SUBST(JSON_LIBS) AM_CONDITIONAL(ENABLE_GLIB_TEST, [test "x$enable_glibtest" = "xyes"]) dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED]) dnl Tries to compile with the given CFLAGS. dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags, dnl and ACTION-IF-NOT-ACCEPTED otherwise. AC_DEFUN([AS_COMPILER_FLAG], [ AC_MSG_CHECKING([to see if compiler understands $1]) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $1" AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) CFLAGS="$save_CFLAGS" if test "X$flag_ok" = Xyes ; then m4_ifvaln([$2],[$2]) true else m4_ifvaln([$3],[$3]) true fi AC_MSG_RESULT([$flag_ok]) ]) dnl AS_COMPILER_FLAGS(VAR, FLAGS) dnl Tries to compile with the given CFLAGS. AC_DEFUN([AS_COMPILER_FLAGS], [ list=$2 flags_supported="" flags_unsupported="" AC_MSG_CHECKING([for supported compiler flags]) for each in $list do save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $each" AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) CFLAGS="$save_CFLAGS" if test "X$flag_ok" = Xyes ; then flags_supported="$flags_supported $each" else flags_unsupported="$flags_unsupported $each" fi done AC_MSG_RESULT([$flags_supported]) if test "X$flags_unsupported" != X ; then AC_MSG_WARN([unsupported compiler flags: $flags_unsupported]) fi $1="$$1 $flags_supported" ]) dnl = Enable debug level =================================================== m4_define([debug_default], [m4_if(m4_eval(json_minor_version % 2), [1], [yes], [minimum])]) AC_ARG_ENABLE([debug], [AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@], [turn on debugging @<:@default=debug_default@:>@])], [], [if test "x$enableval" = "yes" ; then test "$cflags_set" = set || CFLAGS="$CFLAGS -g" JSON_DEBUG_CFLAGS="-DJSON_ENABLE_DEBUG" elif test "x$enableval" = "minimal" ; then JSON_DEBUG_CFLAGS="-DJSON_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS" elif test "x$enableval" = "no" ; then JSON_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS" else JSON_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS" fi]) AC_SUBST(JSON_DEBUG_CFLAGS) dnl = Enable strict compiler flags ========================================= # use strict compiler flags only on development releases m4_define([maintainer_flags_default], [m4_if(m4_eval(7 % 2), [1], [yes], [no])]) AC_ARG_ENABLE([maintainer-flags], [AC_HELP_STRING([--enable-maintainer-flags=@<:@no/yes@:>@], [Use strict compiler flags @<:@default=maintainer_flags_default@:>@])], [], [enable_maintainer_flags=maintainer_flags_default]) AS_IF([test "x$enable_maintainer_flags" = "xyes" && test "x$GCC" = "xyes"], [ AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], ["-Werror -Wall -Wshadow -Wcast-align -Wno-uninitialized -Wformat-security -Winit-self"]) ] ) AS_IF([test -f /etc/redhat-release && test -d /lib64],[JSON_LT_LDFLAGS+="-L/lib64 -L/usr/lib64"],) AC_CONFIG_FILES([ Makefile json-glib/Makefile json-glib/json-version.h json-glib/tests/Makefile tests/Makefile json-glib-1.0.pc ]) AC_OUTPUT echo "" echo " Json-GLib $VERSION" echo "" echo " Prefix: ${prefix}" echo " Debug level: ${enable_debug}" echo " Compiler flags: ${MAINTAINER_CFLAGS}" echo " API reference: ${enable_gtk_doc}" echo " Enable test suite: ${enable_glibtest}" echo " Build introspection data: ${enable_introspection}" echo ""