summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README4
-rw-r--r--build/autotools/Makefile.am3
-rw-r--r--build/autotools/Makefile.am.silent6
-rw-r--r--build/autotools/introspection.m46
-rw-r--r--build/autotools/shave-libtool.in69
-rw-r--r--build/autotools/shave.in79
-rw-r--r--build/autotools/shave.m477
-rw-r--r--configure.ac46
-rw-r--r--json-glib/Makefile.am47
9 files changed, 37 insertions, 300 deletions
diff --git a/README b/README
index 2cc23ab..6962b07 100644
--- a/README
+++ b/README
@@ -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)