Upstream-Status: Backport [http://git.gnome.org/browse/unique/commit/?h=unique-1.1&id=f75ca2d7aad7d27686acca6090c1c569a79d7e63]
Signed-off-By: Ross Burton <ross.burton@intel.com>

From f75ca2d7aad7d27686acca6090c1c569a79d7e63 Mon Sep 17 00:00:00 2001
From: Emmanuele Bassi <ebassi@gnome.org>
Date: Sat, 08 May 2010 11:17:21 +0000
Subject: build: Update the build environment

Require autoconf 2.63, automake 1.11 and libtool 2.2.6 to remove Shave.

Also bump up the requirement for gobject-introspection to 0.6.7.
---
diff --git a/build/autotools/Makefile.am b/build/autotools/Makefile.am
index 5f35b85..b78428f 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.enums	\
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
+++ b/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
+++ b/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
+++ b/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 a3ed3ee..bc3163a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,7 +14,7 @@ m4_define([unique_api_version], [1.0])
 # This is the X.Y used in the protocol negotiation
 m4_define([unique_protocol_version], [1.0])
 
-AC_PREREQ([2.59])
+AC_PREREQ([2.63])
 
 AC_INIT([unique], [unique_version],
         [http://bugzilla.gnome.org/enter_bug.cgi?product=libunique],
@@ -23,9 +23,21 @@ AC_INIT([unique], [unique_version],
 AC_CONFIG_SRCDIR([unique/unique.h])
 AC_CONFIG_MACRO_DIR([build/autotools])
 
-AM_INIT_AUTOMAKE([1.10])
+AM_INIT_AUTOMAKE([1.11 no-define -Wno-portability dist-bzip2])
 AM_CONFIG_HEADER([config.h])
 
+AM_SILENT_RULES([yes])
+
+AC_PROG_CC_C_O
+
+AM_PATH_GLIB_2_0
+
+LT_PREREQ([2.2.6])
+LT_INIT([disable-static])
+
+# Honor aclocal flags
+ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
+
 # version symbols
 UNIQUE_MAJOR_VERSION=unique_major_version
 UNIQUE_MINOR_VERSION=unique_minor_version
@@ -49,21 +61,6 @@ UNIQUE_LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
 AC_SUBST(UNIQUE_LT_VERSION_INFO)
 AC_SUBST(UNIQUE_LT_CURRENT_MINUS_AGE)
 
-AC_ISC_POSIX
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-AC_C_CONST
-AC_PROG_LIBTOOL
-AC_PATH_PROG(GLIB_MKENUMS, [glib-mkenums])
-AC_PATH_PROG(GLIB_GENMARSHAL, [glib-genmarshal])
-
-AM_SANITY_CHECK
-AM_PROG_CC_STDC
-
-# Honor aclocal flags
-ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
-
 m4_define([glib_required], [2.12.0])
 m4_define([gtk_required],  [2.11.0])
 m4_define([dbus_required], [0.70])
@@ -122,7 +119,6 @@ AM_CONDITIONAL([HAVE_DBUS], [test "x$have_dbus" = "xyes"])
 dnl Bacon backend
 dnl This is the fallback backend, so we *need* these headers and functions
 dnl even if we end up using D-Bus
-dnl D-Bus backend dependencies
 m4_define([have_bacon_default], [yes])
 AC_ARG_ENABLE([bacon],
               [AC_HELP_STRING([--enable-bacon=@<:@yes/no@:>@],
@@ -178,9 +174,9 @@ 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 -Wempty-body -Wformat-security
-                            -Winit-self"])
+                          ["-Wall -Wshadow -Wcast-align
+                            -Wno-uninitialized -Wempty-body
+                            -Wformat-security -Winit-self"])
       ]
 )
 
@@ -230,27 +226,10 @@ AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],
 AM_GLIB_DEFINE_LOCALEDIR(UNIQUE_LOCALEDIR)
 
 # introspection
-GOBJECT_INTROSPECTION_CHECK([0.6.3])
+GOBJECT_INTROSPECTION_CHECK([0.6.7])
 
 # gtk-doc
-GTK_DOC_CHECK([1.11])
-
-# nice builds
-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])
 
 AC_CONFIG_FILES([
         Makefile
--
cgit v0.9.0.2
