[json-glib] build: Clean up the build system



commit aaf08f5c1a08c8aaec2436653114996b98ee1f8c
Author: Emmanuele Bassi <ebassi linux intel com>
Date:   Fri May 28 11:35:05 2010 +0100

    build: Clean up the build system
    
    â?¢ Use libtool m4 macros, and require libtool >= 2.2.6
    
    â?¢ Ditch unused platform checks
    
    â?¢ Drop Shave and require automake >= 1.11
    
    â?¢ Depend on gtk-doc >= 1.13
    
    â?¢ Use gobject-introspection's Makefile rules, and update introspection.m4

 README                             |    4 +-
 build/autotools/Makefile.am        |    3 -
 build/autotools/Makefile.am.silent |    6 ---
 build/autotools/introspection.m4   |    6 +++
 build/autotools/shave-libtool.in   |   69 -------------------------------
 build/autotools/shave.in           |   79 ------------------------------------
 build/autotools/shave.m4           |   77 -----------------------------------
 configure.ac                       |   46 ++++++---------------
 json-glib/Makefile.am              |   47 +++++++--------------
 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/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)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]