diff options
-rw-r--r-- | README | 4 | ||||
-rw-r--r-- | build/autotools/Makefile.am | 3 | ||||
-rw-r--r-- | build/autotools/Makefile.am.silent | 6 | ||||
-rw-r--r-- | build/autotools/introspection.m4 | 6 | ||||
-rw-r--r-- | build/autotools/shave-libtool.in | 69 | ||||
-rw-r--r-- | build/autotools/shave.in | 79 | ||||
-rw-r--r-- | build/autotools/shave.m4 | 77 | ||||
-rw-r--r-- | configure.ac | 46 | ||||
-rw-r--r-- | json-glib/Makefile.am | 47 |
9 files changed, 37 insertions, 300 deletions
@@ -27,12 +27,12 @@ REQUIREMENTS In order to build JSON-GLib you will need: • pkg-config - • gtk-doc >= 1.11 + • gtk-doc >= 1.13 • GLib >= 2.16 Optionally, JSON-GLib depends on: - • GObject-Introspection >= 0.6.4 + • GObject-Introspection >= 0.6.7 INSTALLATION ------------------------------------------------------------------------------- diff --git a/build/autotools/Makefile.am b/build/autotools/Makefile.am index 4b51223..dc9b614 100644 --- a/build/autotools/Makefile.am +++ b/build/autotools/Makefile.am @@ -1,7 +1,4 @@ EXTRA_DIST = \ - shave-libtool.in \ - shave.in \ - shave.m4 \ as-compiler-flag.m4 \ introspection.m4 \ Makefile.am.silent \ diff --git a/build/autotools/Makefile.am.silent b/build/autotools/Makefile.am.silent index 249f6af..8576846 100644 --- a/build/autotools/Makefile.am.silent +++ b/build/autotools/Makefile.am.silent @@ -1,10 +1,5 @@ # custom rules for quiet builds -if USE_SHAVE -QUIET_GEN = $(Q:@=@echo ' GEN '$@;) -QUIET_LN = $(Q:@=@echo ' LN '$@;) -QUIET_RM = $(Q:@=@echo ' RM '$@;) -else QUIET_GEN = $(AM_V_GEN) QUIET_LN = $(QUIET_LN_$(V)) @@ -14,4 +9,3 @@ QUIET_LN_0 = @echo ' LN '$@; QUIET_RM = $(QUIET_RM_$(V)) QUIET_RM_ = $(QUIET_RM_$(AM_DEFAULT_VERBOSITY)) QUIET_RM_0 = @echo ' RM '$@; -endif # USE_SHAVE diff --git a/build/autotools/introspection.m4 b/build/autotools/introspection.m4 index f9ce49c..589721c 100644 --- a/build/autotools/introspection.m4 +++ b/build/autotools/introspection.m4 @@ -59,12 +59,18 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" + INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` + INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` + INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection fi AC_SUBST(INTROSPECTION_SCANNER) AC_SUBST(INTROSPECTION_COMPILER) AC_SUBST(INTROSPECTION_GENERATE) AC_SUBST(INTROSPECTION_GIRDIR) AC_SUBST(INTROSPECTION_TYPELIBDIR) + AC_SUBST(INTROSPECTION_CFLAGS) + AC_SUBST(INTROSPECTION_LIBS) + AC_SUBST(INTROSPECTION_MAKEFILE) AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") ]) diff --git a/build/autotools/shave-libtool.in b/build/autotools/shave-libtool.in deleted file mode 100644 index 1f3a720..0000000 --- a/build/autotools/shave-libtool.in +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh - -# we need sed -SED=@SED@ -if test -z "$SED" ; then -SED=sed -fi - -lt_unmangle () -{ - last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'` -} - -# the real libtool to use -LIBTOOL="$1" -shift - -# if 1, don't print anything, the underlaying wrapper will do it -pass_though=0 - -# scan the arguments, keep the right ones for libtool, and discover the mode -preserved_args= -while test "$#" -gt 0; do - opt="$1" - shift - - case $opt in - --mode=*) - mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'` - preserved_args="$preserved_args $opt" - ;; - -o) - lt_output="$1" - preserved_args="$preserved_args $opt" - ;; - *) - preserved_args="$preserved_args $opt" - ;; - esac -done - -case "$mode" in -compile) - # shave will be called and print the actual CC/CXX/LINK line - preserved_args="$preserved_args --shave-mode=$mode" - pass_though=1 - ;; -link) - preserved_args="$preserved_args --shave-mode=$mode" - Q=" LINK " - ;; -*) - # let's u - # echo "*** libtool: Unimplemented mode: $mode, fill a bug report" - ;; -esac - -lt_unmangle "$lt_output" -output=$last_result - -if test -z $V; then - if test $pass_though -eq 0; then - echo "$Q$output" - fi - $LIBTOOL --silent $preserved_args -else - echo $LIBTOOL $preserved_args - $LIBTOOL $preserved_args -fi diff --git a/build/autotools/shave.in b/build/autotools/shave.in deleted file mode 100644 index 5c16f27..0000000 --- a/build/autotools/shave.in +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh - -# we need sed -SED=@SED@ -if test -z "$SED" ; then -SED=sed -fi - -lt_unmangle () -{ - last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'` -} - -# the tool to wrap (cc, cxx, ar, ranlib, ..) -tool="$1" -shift - -# the reel tool (to call) -REEL_TOOL="$1" -shift - -pass_through=0 -preserved_args= -while test "$#" -gt 0; do - opt="$1" - shift - - case $opt in - --shave-mode=*) - mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'` - ;; - -o) - lt_output="$1" - preserved_args="$preserved_args $opt" - ;; - *) - preserved_args="$preserved_args $opt" - ;; - esac -done - -# mode=link is handled in the libtool wrapper -case "$mode,$tool" in -link,*) - pass_through=1 - ;; -*,cxx) - Q=" CXX " - ;; -*,cc) - Q=" CC " - ;; -*,fc) - Q=" FC " - ;; -*,f77) - Q=" F77 " - ;; -*,objc) - Q=" OBJC " - ;; -*,*) - # should not happen - Q=" CC " - ;; -esac - -lt_unmangle "$lt_output" -output=$last_result - -if test -z $V; then - if test $pass_through -eq 0; then - echo "$Q$output" - fi - $REEL_TOOL $preserved_args -else - echo $REEL_TOOL $preserved_args - $REEL_TOOL $preserved_args -fi diff --git a/build/autotools/shave.m4 b/build/autotools/shave.m4 deleted file mode 100644 index 0a3509e..0000000 --- a/build/autotools/shave.m4 +++ /dev/null @@ -1,77 +0,0 @@ -dnl Make automake/libtool output more friendly to humans -dnl Damien Lespiau <damien.lespiau@gmail.com> -dnl -dnl SHAVE_INIT([shavedir],[default_mode]) -dnl -dnl shavedir: the directory where the shave scripts are, it defaults to -dnl $(top_builddir) -dnl default_mode: (enable|disable) default shave mode. This parameter -dnl controls shave's behaviour when no option has been -dnl given to configure. It defaults to disable. -dnl -dnl * SHAVE_INIT should be called late in your configure.(ac|in) file (just -dnl before AC_CONFIG_FILE/AC_OUTPUT is perfect. This macro rewrites CC and -dnl LIBTOOL, you don't want the configure tests to have these variables -dnl re-defined. -dnl * This macro requires GNU make's -s option. - -AC_DEFUN([_SHAVE_ARG_ENABLE], -[ - AC_ARG_ENABLE([shave], - AS_HELP_STRING( - [--enable-shave], - [use shave to make the build pretty [[default=$1]]]),, - [enable_shave=$1] - ) -]) - -AC_DEFUN([SHAVE_INIT], -[ - dnl you can tweak the default value of enable_shave - m4_if([$2], [enable], [_SHAVE_ARG_ENABLE(yes)], [_SHAVE_ARG_ENABLE(no)]) - - if test x"$enable_shave" = xyes; then - dnl where can we find the shave scripts? - m4_if([$1],, - [shavedir="$ac_pwd"], - [shavedir="$ac_pwd/$1"]) - AC_SUBST(shavedir) - - dnl make is now quiet - AC_SUBST([MAKEFLAGS], [-s]) - AC_SUBST([AM_MAKEFLAGS], ['`test -z $V && echo -s`']) - - dnl we need sed - AC_CHECK_PROG(SED,sed,sed,false) - - dnl substitute libtool - SHAVE_SAVED_LIBTOOL=$LIBTOOL - LIBTOOL="${SHELL} ${shavedir}/shave-libtool '${SHAVE_SAVED_LIBTOOL}'" - AC_SUBST(LIBTOOL) - - dnl substitute cc/cxx - SHAVE_SAVED_CC=$CC - SHAVE_SAVED_CXX=$CXX - SHAVE_SAVED_FC=$FC - SHAVE_SAVED_F77=$F77 - SHAVE_SAVED_OBJC=$OBJC - CC="${SHELL} ${shavedir}/shave cc ${SHAVE_SAVED_CC}" - CXX="${SHELL} ${shavedir}/shave cxx ${SHAVE_SAVED_CXX}" - FC="${SHELL} ${shavedir}/shave fc ${SHAVE_SAVED_FC}" - F77="${SHELL} ${shavedir}/shave f77 ${SHAVE_SAVED_F77}" - OBJC="${SHELL} ${shavedir}/shave objc ${SHAVE_SAVED_OBJC}" - AC_SUBST(CC) - AC_SUBST(CXX) - AC_SUBST(FC) - AC_SUBST(F77) - AC_SUBST(OBJC) - - V=@ - else - V=1 - fi - Q='$(V:1=)' - AC_SUBST(V) - AC_SUBST(Q) -]) - diff --git a/configure.ac b/configure.ac index e7c3830..636b554 100644 --- a/configure.ac +++ b/configure.ac @@ -22,23 +22,25 @@ m4_define([lt_age], [m4_eval(json_binary_age - json_interface_age)]) m4_define([glib_req_version], [2.15]) -AC_PREREQ([2.61]) +AC_PREREQ([2.63]) AC_INIT([json-glib], [json_version], [http://bugzilla.gnome.org/enter_bug.cgi?product=json-glib], [json-glib]) +AC_CONFIG_HEADER([config.h]) AC_CONFIG_SRCDIR([json-glib/json-glib.h]) AC_CONFIG_MACRO_DIR([build/autotools]) -AM_INIT_AUTOMAKE([1.10 no-define -Wno-portability dist-bzip2]) -AM_CONFIG_HEADER([config.h]) +AM_INIT_AUTOMAKE([1.11 no-define -Wno-portability dist-bzip2]) -AM_DISABLE_STATIC +AM_SILENT_RULES([yes]) AM_PATH_GLIB_2_0 AM_PROG_CC_C_O -AM_PROG_LIBTOOL + +LT_PREREQ([2.2.6]) +LT_INIT([disable-static]) # Honor aclocal flags ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" @@ -61,12 +63,6 @@ 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_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) @@ -122,11 +118,11 @@ AC_ARG_ENABLE([maintainer-flags], 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 + ["-Wall -Wshadow -Wcast-align + -Wno-uninitialized -Wformat -Wformat-security -Wno-strict-aliasing -Winit-self -Wempty-body -Wdeclaration-after-statement - -Wno-strict-aliasing -Wno-strict-aliasing"]) + -Wno-strict-aliasing"]) ] ) AC_SUBST([MAINTAINER_CFLAGS]) @@ -151,25 +147,9 @@ AC_SUBST([GCOV_CFLAGS]) AC_SUBST([GCOV_LDFLAGS]) AC_MSG_RESULT([$enable_gcov]) -GTK_DOC_CHECK([1.11]) - -GOBJECT_INTROSPECTION_CHECK([0.6.4]) - -m4_ifdef([AM_SILENT_RULES], - [ - AM_SILENT_RULES([yes]) - use_shave=no - ], - [ - SHAVE_INIT([build/autotools], [enable]) - AC_CONFIG_FILES([ - build/autotools/shave-libtool - build/autotools/shave - ]) - use_shave=yes - ]) - -AM_CONDITIONAL([USE_SHAVE], [test "x$use_shave" = "xyes"]) +GTK_DOC_CHECK([1.13]) + +GOBJECT_INTROSPECTION_CHECK([0.6.7]) AC_CONFIG_FILES([ Makefile diff --git a/json-glib/Makefile.am b/json-glib/Makefile.am index d83c735..717393c 100644 --- a/json-glib/Makefile.am +++ b/json-glib/Makefile.am @@ -85,42 +85,27 @@ EXTRA_DIST += json-version.h.in json-glib.h TESTS_ENVIRONMENT = srcdir="$(srcdir)" json_all_c_sources="$(source_c)" +# intospection +-include $(INTROSPECTION_MAKEFILE) + if HAVE_INTROSPECTION -BUILT_GIRSOURCES = - -Json-1.0.gir: $(INTROSPECTION_SCANNER) libjson-glib-1.0.la - $(QUIET_GEN)$(INTROSPECTION_SCANNER) \ - -v --namespace Json --nsversion=1.0 \ - $(INCLUDES) \ - $(AM_CPPFLAGS) \ - --c-include='json-glib/json-gobject.h' \ - --include=GObject-2.0 \ - --library=libjson-glib-1.0.la \ - --libtool="$(top_builddir)/libtool" \ - --pkg gobject-2.0 \ - --output $@ \ - $(source_h) \ - $(source_c) - -BUILT_GIRSOURCES += Json-1.0.gir - -# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to -# install anything - we need to install inside our prefix. +INTROSPECTION_GIRS = Json-1.0.gir + +Json_1_0_gir_NAMESPACE = Json +Json_1_0_gir_VERSION = 1.0 +Json_1_0_gir_LIBS = libjson-glib-1.0.la +Json_1_0_gir_FILES = $(source_h) $(source_c) +Json_1_0_gir_CFLAGS = $(INCLUDES) $(AM_CPPFLAGS) +Json_1_0_gir_INCLUDES = GObject-2.0 +Json_1_0_gir_PACKAGES = gobject-2.0 + girdir = $(datadir)/gir-1.0 -gir_DATA = $(BUILT_GIRSOURCES) +dist_gir_DATA = Json-1.0.gir typelibsdir = $(libdir)/girepository-1.0/ -typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) - -%.typelib: %.gir $(INTROSPECTION_COMPILER) - $(QUIET_GEN)\ - $(DEBUG) $(INTROSPECTION_COMPILER) \ - --includedir=$(srcdir) \ - --includedir=. \ - $(INTROSPECTION_COMPILER_OPTS) $< \ - -o $(@F) +typelibs_DATA = Json-1.0.typelib -CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) +CLEANFILES += $(dist_gir_DATA) $(typelibs_DATA) endif # HAVE_INTROSPECTION gcov_sources = $(source_c) |