From: Colin Walters Date: Mon, 17 Aug 2009 02:59:31 +0000 (-0400) Subject: Excise shave in favor of automake 1.11 silent rules X-Git-Tag: GOBJECT_INTROSPECTION_0_6_4~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8ceb93d9259042cc29498f26e25fa6577bf28417;p=platform%2Fupstream%2Fgobject-introspection.git Excise shave in favor of automake 1.11 silent rules Shave is just way too invasive in the build system. --- diff --git a/common.mk b/common.mk index 92da490..6068e9c 100644 --- a/common.mk +++ b/common.mk @@ -4,7 +4,7 @@ SCANNER_ENV = env PYTHONPATH=$(SCANNER_PYTHONPATH) \ UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \ UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) SCANNER_ARGS = -v --add-include-path=$(top_builddir)/gir --add-include-path=. -SCANNER = $(SCANNER_ENV) $(SCANNER_BIN) $(SCANNER_ARGS) +SCANNER = $(AM_V_GEN) $(SCANNER_ENV) $(SCANNER_BIN) $(SCANNER_ARGS) SCANNER_LIBS = \ $(top_srcdir)/giscanner/*.py \ $(top_builddir)/giscanner/libgiscanner.la \ diff --git a/configure.ac b/configure.ac index e704b7f..3ac28fc 100644 --- a/configure.ac +++ b/configure.ac @@ -12,6 +12,9 @@ AC_INIT(gobject-introspection, gi_version, http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection) AM_INIT_AUTOMAKE([1.7 -Wno-portability]) AM_MAINTAINER_MODE + +m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],) + AC_CONFIG_HEADER([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -200,7 +203,6 @@ case "$host" in esac AM_CHECK_PYTHON_HEADERS(,AC_MSG_ERROR([Python headers not found])) -SHAVE_INIT([scripts]) AC_CONFIG_FILES([ Makefile gir/Makefile @@ -208,8 +210,6 @@ girepository/Makefile giscanner/Makefile giscanner/config.py m4/Makefile -scripts/shave -scripts/shave-libtool tools/Makefile tests/Makefile tests/invoke/Makefile diff --git a/gir/Makefile.am b/gir/Makefile.am index c21b986..a82cd99 100644 --- a/gir/Makefile.am +++ b/gir/Makefile.am @@ -32,7 +32,7 @@ GLib-2.0.gir: $(SCANNER_BIN) $(SCANNER_LIBS) Makefile glib-2.0.c --noclosure \ --output $@ \ --strip-prefix=g \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --c-include="glib.h" \ --library=$(GLIB_LIBRARY) \ --pkg glib-2.0 \ @@ -66,7 +66,7 @@ GObject-2.0.gir: GLib-2.0.gir $(SCANNER_BIN) $(SCANNER_LIBS) Makefile --noclosure \ --output $@ \ --strip-prefix=g \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL_LIBTOOL)" \ --c-include="glib-object.h" \ --include=GLib-2.0 \ --library=$(GOBJECT_LIBRARY) \ @@ -98,7 +98,7 @@ GModule-2.0.gir: GLib-2.0.gir $(SCANNER_BIN) $(SCANNER_LIBS) --noclosure \ --output $@ \ --strip-prefix=g \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL_LIBTOOL)" \ --c-include="gmodule.h" \ --include=GLib-2.0 \ --library=$(GMODULE_LIBRARY) \ @@ -131,7 +131,7 @@ Gio-2.0.gir: GObject-2.0.gir $(SCANNER_BIN) $(SCANNER_LIBS) Makefile $(srcdir)/g --noclosure \ --output $@ \ --strip-prefix=g \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --c-include="gio/gio.h" \ --include=GObject-2.0 \ --library=$(GIO_LIBRARY) \ @@ -156,7 +156,7 @@ GIRepository-2.0.gir: GObject-2.0.gir $(SCANNER_BIN) $(SCANNER_LIBS) $(GIREPOSIT --noclosure \ --output $@ \ --strip-prefix=g \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --c-include="girepository.h" \ --include=GObject-2.0 \ --library=girepository-1.0 \ @@ -186,7 +186,7 @@ endif Everything-$(TYPELIB_VERSION).gir: libgirepository-everything-1.0.la everything.c everything.h $(SCANNER_BIN) $(SCANNER_LIBS) LPATH=$(builddir)/.libs $(CHECK_DEBUG) $(SCANNER) \ --include=GObject-2.0 \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --library=girepository-everything-1.0 \ --namespace=Everything --nsversion=$(TYPELIB_VERSION) \ --pkg gobject-2.0 \ diff --git a/m4/shave.m4 b/m4/shave.m4 deleted file mode 100644 index 5b1f675..0000000 --- a/m4/shave.m4 +++ /dev/null @@ -1,40 +0,0 @@ -dnl Make automake/libtool output more friendly to humans -dnl -dnl SHAVE_INIT([shavedir]) -dnl -dnl shavedir: the directory where the shave script is, it defaults to -dnl $(top_builddir) -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 rewrite 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_INIT], [ -dnl where can we find the shave scripts? -m4_if([$1],, - [shavedir='$(top_builddir)'], - [shavedir='$(top_builddir)'/$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 -AC_SUBST(SHAVE_SAVED_LIBTOOL) -LIBTOOL="\$(SHELL) \$(shavedir)/shave-libtool '\$(SHAVE_SAVED_LIBTOOL)'" -AC_SUBST(LIBTOOL) -dnl substitute cc -SHAVE_SAVED_CC=$CC -SHAVE_SAVED_CXX=$CXX -AC_SUBST(SHAVE_SAVED_CC) -AC_SUBST(SHAVE_SAVED_CXX) -CC="\$(SHELL) \$(shavedir)/shave cc '\$(SHAVE_SAVED_CC)'" -CXX="\$(SHELL) \$(shavedir)/shave cxx '\$(SHAVE_SAVED_CXX)'" -AC_SUBST(CC) -AC_SUBST(CXX) -]) - diff --git a/scripts/shave-libtool.in b/scripts/shave-libtool.in deleted file mode 100644 index 02de5ad..0000000 --- a/scripts/shave-libtool.in +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh - -# we need sed -SED=@SED@ -if test -z "$SED" ; then -SED=sed -fi -Xsed="$SED -e s/^X//" - -lt_unmangle () -{ - last_result=`echo -n X$1 | $Xsed -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 "X$opt" | $Xsed -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/scripts/shave.in b/scripts/shave.in deleted file mode 100644 index 95845d8..0000000 --- a/scripts/shave.in +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh - -# we need sed -SED=@SED@ -if test -z "$SED" ; then -SED=sed -fi -Xsed="$SED -e s/^X//" - -lt_unmangle () -{ - last_result=`echo -n X$1 | $Xsed -e 's#.libs/##' -e 's#[^0-9a-zA-Z_]\+_la##'` -} - -# the tool to wrap (cc, cxx, ar, ranlib, ..) -tool="$1" -shift - -# the real tool (to call) -REAL_TOOL="$1" -shift - -pass_through=0 -preserved_args= -while test "$#" -gt 0; do - opt="$1" - shift - - case $opt in - --shave-mode=*) - mode=`echo "X$opt" | $Xsed -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 - ;; -compile,cxx) - Q=" CXX " - ;; -compile,cc|*,*) - # no "libtool" mode has been given, we are called by the Makefile: - # -> assume compilation - mode=compile - 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 - $REAL_TOOL $preserved_args -else - echo $REAL_TOOL $preserved_args - $REAL_TOOL $preserved_args -fi diff --git a/tests/scanner/Makefile.am b/tests/scanner/Makefile.am index 9ad6ec3..ed8d396 100644 --- a/tests/scanner/Makefile.am +++ b/tests/scanner/Makefile.am @@ -42,7 +42,7 @@ annotation-1.0.gir: libannotation.la annotation.c annotation.h utility-1.0.gir $ $(CHECK_DEBUG) $(SCANNER) \ --include=GObject-2.0 \ --include=utility-1.0 \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --library=annotation \ --namespace=annotation \ --nsversion=1.0 \ @@ -55,7 +55,7 @@ drawable-1.0.gir: libdrawable.la drawable.c drawable.h utility-1.0.gir $(SCANNER $(CHECK_DEBUG) $(SCANNER) \ --include=GObject-2.0 \ --include=utility-1.0 \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --library=drawable \ --namespace=drawable \ --nsversion=1.0 \ @@ -69,7 +69,7 @@ foo-1.0.gir: libfoo.la foo.c foo.h utility-1.0.gir $(SCANNER_BIN) $(SCANNER_LIBS --include=GObject-2.0 \ --include=utility-1.0 \ --c-include="foo.h" \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --library=foo \ --namespace=foo \ --nsversion=1.0 \ @@ -81,7 +81,7 @@ GIRS += foo-1.0.gir utility-1.0.gir: libutility.la utility.h $(SCANNER_BIN) $(SCANNER_LIBS) Makefile $(CHECK_DEBUG) $(SCANNER) \ --include=GObject-2.0 \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --library=utility \ --namespace=utility \ --nsversion=1.0 \ @@ -94,7 +94,7 @@ GIRS += utility-1.0.gir GtkFrob-1.0.gir: libgtkfrob.la gtkfrob.h $(SCANNER_BIN) $(SCANNER_LIBS) Makefile $(CHECK_DEBUG) $(SCANNER) \ --include=GObject-2.0 \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --library=gtkfrob \ --namespace=GtkFrob \ --strip-prefix=Gtk \ @@ -112,7 +112,7 @@ barapp_LDFLAGS = -export-dynamic BarApp-1.0.gir: barapp $(SCANNER_BIN) $(SCANNER_LIBS) Makefile LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}:$(top_builddir)/girepository/.libs $(SCANNER) \ --include=GObject-2.0 \ - --libtool="$(SHAVE_SAVED_LIBTOOL)" \ + --libtool="$(LIBTOOL)" \ --program=./barapp \ --namespace=BarApp \ --strip-prefix=Bar \