[json-glib] build: Clean up the build system
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [json-glib] build: Clean up the build system
- Date: Fri, 28 May 2010 10:51:37 +0000 (UTC)
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]