Hello community,

here is the log from the commit of package gccmakedep for openSUSE:Factory 
checked in at 2014-05-26 10:27:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gccmakedep (Old)
 and      /work/SRC/openSUSE:Factory/.gccmakedep.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gccmakedep"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gccmakedep/gccmakedep.changes    2012-05-08 
11:57:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gccmakedep.new/gccmakedep.changes       
2014-05-26 10:27:35.000000000 +0200
@@ -1,0 +2,7 @@
+Thu May 22 16:10:08 UTC 2014 - [email protected]
+
+- Update to version 1.0.3:
+  This release fixes gccmakedep with GNU cpp versions newer than
+  4.7, by no longer using cpp to generate the gccmakedep script.
+
+-------------------------------------------------------------------

Old:
----
  gccmakedep-1.0.2.tar.bz2

New:
----
  gccmakedep-1.0.3.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gccmakedep.spec ++++++
--- /var/tmp/diff_new_pack.E8GI4H/_old  2014-05-26 10:27:36.000000000 +0200
+++ /var/tmp/diff_new_pack.E8GI4H/_new  2014-05-26 10:27:36.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gccmakedep
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,14 +15,16 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 Name:           gccmakedep
-Version:        1.0.2
+Version:        1.0.3
 Release:        0
-License:        MIT
 Summary:        Utility to list the resource database of an X application
-Url:            http://xorg.freedesktop.org/
+License:        MIT
 Group:          Development/Tools/Building
-Source0:        
http://xorg.freedesktop.org/releases/individual/util/%{name}-%{version}.tar.bz2
+Url:            http://xorg.freedesktop.org/
+#Source URL:    http://xorg.freedesktop.org/releases/individual/util/
+Source0:        %{name}-%{version}.tar.bz2
 # This was part of the xorg-x11-util-devel package up to version 7.6
 Conflicts:      xorg-x11-util-devel <= 7.6
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -47,6 +49,6 @@
 %defattr(-,root,root)
 %doc ChangeLog COPYING
 %{_bindir}/gccmakedep
-%{_mandir}/man1/gccmakedep.1x%{?ext_man}
+%{_mandir}/man1/gccmakedep.1%{?ext_man}
 
 %changelog

++++++ gccmakedep-1.0.2.tar.bz2 -> gccmakedep-1.0.3.tar.bz2 ++++++
++++ 22505 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gccmakedep-1.0.2/ChangeLog new/gccmakedep-1.0.3/ChangeLog
--- old/gccmakedep-1.0.2/ChangeLog      2006-05-15 22:27:38.000000000 +0200
+++ new/gccmakedep-1.0.3/ChangeLog      2014-05-21 20:26:33.000000000 +0200
@@ -1,38 +1,191 @@
-2006-05-15  Adam Jackson  <[email protected]>
+commit 1f01500a313ed91f093e1d489162742e3d588dde
+Author: Julien Cristau <[email protected]>
+Date:   Wed May 21 20:20:47 2014 +0200
 
-       * configure.ac:
-       Bump to 1.0.2
+    Bump to 1.0.3
+    
+    Signed-off-by: Julien Cristau <[email protected]>
 
-2006-02-06  Donnie Berkholz  <[email protected]>
+commit 855a9cb40ca734e1c99c3a1032630281d99572d1
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Jun 4 21:36:36 2011 -0700
 
-       * Makefile.am:
-       RM needed some more quoting.
+    Use autoconf instead of XORG_RAWCPP to substitute text in gccmakedep
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Reviewed-by: Gaetan Nadon <[email protected]>
 
-2006-02-06  Donnie Berkholz  <[email protected]>
+commit 7abbe73c0ead0f335f2e39a486ac3004b8c30b08
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Jun 4 21:27:24 2011 -0700
 
-       * Makefile.am:
-       RM should be 'rm -f' for monolithic compatibility.
+    config: use util-macros 1.8 for man page substitutions
+    
+    Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS
+    The value of MAN_SUBST is the same for all X.Org packages.
+    
+    Use automake provided $(AM_V_GEN) and XORG_DEFAULT_OPTIONS provided $(SED)
+    Enables silent rule and use platform appropriate version of sed.
+    
+    Use $(CHANGELOG_CMD) provided by XORG_DEFAULT_OPTIONS
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
 
-2005-12-20  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+commit 7718a63128381dc22021e9a7bee5a477771d1be0
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Jun 4 21:23:33 2011 -0700
 
-       * configure.ac:
-       Update package version for X11R7 release.
+    config: Use AC_CONFIG_FILES to list output files instead of AC_OUTPUT
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
 
-2005-12-14  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+commit 0df68dd170d1be2fbd5e87329164dae97fb18ad6
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat Jun 4 21:17:30 2011 -0700
 
-       * configure.ac:
-       Update package version number for final X11R7 release candidate.
+    config: Add missing AC_CONFIG_SRCDIR
+    
+    Regroup AC statements under the Autoconf initialization section.
+    Regroup AM statements under the Automake initialization section.
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
 
-2005-12-08  Kevin E. Martin  <kem-at-freedesktop-dot-org>
+commit 2921a02d56ab550ac307fc8ad313ad76c7b05f03
+Author: Gaetan Nadon <[email protected]>
+Date:   Sat Jun 4 21:15:49 2011 -0700
 
-       * Makefile.am:
-       * configure.ac:
-       Add man page processing.
+    config: update AC_PREREQ statement to 2.60
+    
+    Unrelated to the previous patches, the new value simply reflects
+    the reality that the minimum level for autoconf to configure
+    all x.org modules is 2.60 dated June 2006.
+    
+    ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz
+    
+    Signed-off-by: Gaetan Nadon <[email protected]>
+    Signed-off-by: Alan Coopersmith <[email protected]>
 
-2005-12-08  Adam Jackson  <[email protected]>
+commit a29912840d4baccc6d3819e9a2b25ba9d5cb7f7e
+Author: Peter Breitenlohner <[email protected]>
+Date:   Fri Dec 3 16:13:32 2010 -0500
 
-       * configure.ac:
-       * Makefile.am:
-       * cpprules.in:
-       * ChangeLog:
-       Bug #4807: Modularized gccmakedep (Joshua Baergen)
+    Fix gccmakedep from mutilates arguments containing "'" or " * "
+    
+    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=7414
+    
+    Reviewed-by: Jesse Adkins <[email protected]>
+    Signed-off-by: Matt Turner <[email protected]>
+
+commit fa623ff1e2f48336f09d38c50c598890e21fa1cc
+Author: James Cloos <[email protected]>
+Date:   Thu Dec 6 16:39:16 2007 -0500
+
+    Replace static ChangeLog with dist-hook to generate from git log
+
+commit fe134552168001a00bf8366ebda4e605e57dc795
+Author: Adam Jackson <[email protected]>
+Date:   Fri May 19 18:42:17 2006 +0000
+
+    Bump to 1.0.2
+
+commit d54c03e6f9fd552a1c9440cbc25d85c7cb48614e
+Author: Donnie Berkholz <[email protected]>
+Date:   Mon Feb 6 18:16:59 2006 +0000
+
+    RM needed some more quoting.
+
+commit 704a0d6b153b25093fac55e7ef27eba419fb92a0
+Author: Donnie Berkholz <[email protected]>
+Date:   Mon Feb 6 08:08:04 2006 +0000
+
+    RM should be 'rm -f' for monolithic compatibility.
+
+commit de3023cbb9d973bb8c8539ebdd71322f5c415ecf
+Author: Kevin E Martin <[email protected]>
+Date:   Wed Dec 21 02:30:07 2005 +0000
+
+    Update package version for X11R7 release.
+
+commit 5b28ecda846387528406d802eeaaf4a7d6090a84
+Author: Adam Jackson <[email protected]>
+Date:   Mon Dec 19 16:36:01 2005 +0000
+
+    Stub COPYING files
+
+commit e2dab0baa71298840cdd322cbda37a7b826136dc
+Author: Kevin E Martin <[email protected]>
+Date:   Thu Dec 15 00:24:40 2005 +0000
+
+    Update package version number for final X11R7 release candidate.
+
+commit de02b8908884953fe99478b18032e619f39db90d
+Author: Kevin E Martin <[email protected]>
+Date:   Fri Dec 9 03:45:24 2005 +0000
+
+    Add man page processing.
+
+commit bcddba78bfef8b6b7590705842ee315fed7fb5b9
+Author: Adam Jackson <[email protected]>
+Date:   Thu Dec 8 19:22:53 2005 +0000
+
+    distcheck fix
+
+commit 97f1f13964af776adf04823f7ee9b683dd224ca0
+Author: Adam Jackson <[email protected]>
+Date:   Thu Dec 8 19:18:17 2005 +0000
+
+    Bug #4807: Modularized gccmakedep (Joshua Baergen)
+
+commit 8d57eb7ac9b9af835c83ef1b3e58a152bdd3bdc6
+Author: Adam Jackson <[email protected]>
+Date:   Thu Dec 8 19:17:54 2005 +0000
+
+    Bug #4807: Modularized gccmakedep (Joshua Baergen)
+
+commit 46b58da4e6c675859199be64db0c9b5297e1aa14
+Author: Egbert Eich <[email protected]>
+Date:   Fri Apr 23 18:42:00 2004 +0000
+
+    Merging XORG-CURRENT into trunk
+
+commit 2449984d931f6f4612ee0a5902f2fa1a09a10d06
+Author: Egbert Eich <[email protected]>
+Date:   Sun Mar 14 08:27:28 2004 +0000
+
+    Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004
+
+commit dc98d637f62438a6ee33702affcf46127eeb9ca1
+Author: Egbert Eich <[email protected]>
+Date:   Wed Mar 3 12:09:38 2004 +0000
+
+    Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004
+
+commit e5267fa52264d70a0337d526082173083b0a8f1d
+Author: Egbert Eich <[email protected]>
+Date:   Thu Feb 26 13:34:16 2004 +0000
+
+    readding XFree86's cvs IDs
+
+commit 7ce280c3ad733193da8514f4bd663aa15092e65c
+Author: Egbert Eich <[email protected]>
+Date:   Thu Feb 26 09:21:15 2004 +0000
+
+    Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004
+
+commit 04573316bc083ce18e4488042ec0d0bf305ec06a
+Author: Kaleb Keithley <[email protected]>
+Date:   Tue Nov 25 19:26:55 2003 +0000
+
+    XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks
+
+commit f97ff81ca2073c9301771fd7a3534b2b86e20833
+Author: Kaleb Keithley <[email protected]>
+Date:   Fri Nov 14 16:48:20 2003 +0000
+
+    XFree86 4.3.0.1
+
+commit 4ce164596212363bbfbd35b982f97a7c8fca13f8
+Author: Kaleb Keithley <[email protected]>
+Date:   Fri Nov 14 16:48:20 2003 +0000
+
+    Initial revision
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gccmakedep-1.0.2/Makefile.am new/gccmakedep-1.0.3/Makefile.am
--- old/gccmakedep-1.0.2/Makefile.am    2006-02-06 19:16:59.000000000 +0100
+++ new/gccmakedep-1.0.3/Makefile.am    2014-05-21 20:20:00.000000000 +0200
@@ -19,23 +19,7 @@
 #  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 #  PERFORMANCE OF THIS SOFTWARE.
 
-gccmakedep_DATA = gccmakedep
-gccmakedepdir = $(bindir)
-
-include cpprules.in
-
-DEFS = \
-       -DCCCMD=$(CC)\
-       -DRMCMD='"rm -f"'\
-       -DLNCMD="ln"\
-       -DMVCMD="mv"
-
-CPP_FILES_FLAGS = $(DEFS)
-
-gccmakedep: gccmdep
-       cp gccmdep gccmakedep
-install-data-hook:
-       chmod +x $(DESTDIR)/$(bindir)/gccmakedep
+bin_SCRIPTS = gccmakedep
 
 appmandir = $(APP_MAN_DIR)
 
@@ -43,18 +27,20 @@
 
 appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
 
-CLEANFILES = $(appman_DATA) gccmakedep gccmdep
+CLEANFILES = $(appman_DATA)
+
+SUFFIXES = .$(APP_MAN_SUFFIX) .man
 
-# Strings to replace in man pages
-XORGRELSTRING = @PACKAGE_STRING@
-  XORGMANNAME = X Version 11
+.man.$(APP_MAN_SUFFIX):
+       $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
 
-MAN_SUBSTS = \
-       -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|'
+EXTRA_DIST = $(appman_PRE)
 
-SUFFIXES += .$(APP_MAN_SUFFIX) .man
+MAINTAINERCLEANFILES = ChangeLog
 
-.man.$(APP_MAN_SUFFIX):
-       sed $(MAN_SUBSTS) < $< > $@
+.PHONY: ChangeLog
+
+ChangeLog:
+       $(CHANGELOG_CMD)
 
-EXTRA_DIST = $(appman_PRE) gccmdep.cpp
+dist-hook: ChangeLog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gccmakedep-1.0.2/compile new/gccmakedep-1.0.3/compile
--- old/gccmakedep-1.0.2/compile        1970-01-01 01:00:00.000000000 +0100
+++ new/gccmakedep-1.0.3/compile        2014-05-21 20:23:16.000000000 +0200
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Written by Tom Tromey <[email protected]>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <[email protected]> or send patches to
+# <[email protected]>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" ""       $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+       # lazily determine how to convert abs files
+       case `uname -s` in
+         MINGW*)
+           file_conv=mingw
+           ;;
+         CYGWIN*)
+           file_conv=cygwin
+           ;;
+         *)
+           file_conv=wine
+           ;;
+       esac
+      fi
+      case $file_conv/,$2, in
+       *,$file_conv,*)
+         ;;
+       mingw/*)
+         file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+         ;;
+       cygwin/*)
+         file=`cygpath -m "$file" || echo "$file"`
+         ;;
+       wine/*)
+         file=`winepath -w "$file" || echo "$file"`
+         ;;
+      esac
+      ;;
+  esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+  # Assume a capable shell
+  lib_path=
+  shared=:
+  linker_opts=
+  for arg
+  do
+    if test -n "$eat"; then
+      eat=
+    else
+      case $1 in
+       -o)
+         # configure might choose to run compile as 'compile cc -o foo foo.c'.
+         eat=1
+         case $2 in
+           *.o | *.[oO][bB][jJ])
+             func_file_conv "$2"
+             set x "$@" -Fo"$file"
+             shift
+             ;;
+           *)
+             func_file_conv "$2"
+             set x "$@" -Fe"$file"
+             shift
+             ;;
+         esac
+         ;;
+       -I)
+         eat=1
+         func_file_conv "$2" mingw
+         set x "$@" -I"$file"
+         shift
+         ;;
+       -I*)
+         func_file_conv "${1#-I}" mingw
+         set x "$@" -I"$file"
+         shift
+         ;;
+       -l)
+         eat=1
+         func_cl_dashl "$2"
+         set x "$@" "$lib"
+         shift
+         ;;
+       -l*)
+         func_cl_dashl "${1#-l}"
+         set x "$@" "$lib"
+         shift
+         ;;
+       -L)
+         eat=1
+         func_cl_dashL "$2"
+         ;;
+       -L*)
+         func_cl_dashL "${1#-L}"
+         ;;
+       -static)
+         shared=false
+         ;;
+       -Wl,*)
+         arg=${1#-Wl,}
+         save_ifs="$IFS"; IFS=','
+         for flag in $arg; do
+           IFS="$save_ifs"
+           linker_opts="$linker_opts $flag"
+         done
+         IFS="$save_ifs"
+         ;;
+       -Xlinker)
+         eat=1
+         linker_opts="$linker_opts $2"
+         ;;
+       -*)
+         set x "$@" "$1"
+         shift
+         ;;
+       *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+         func_file_conv "$1"
+         set x "$@" -Tp"$file"
+         shift
+         ;;
+       *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+         func_file_conv "$1" mingw
+         set x "$@" "$file"
+         shift
+         ;;
+       *)
+         set x "$@" "$1"
+         shift
+         ;;
+      esac
+    fi
+    shift
+  done
+  if test -n "$linker_opts"; then
+    linker_opts="-link$linker_opts"
+  fi
+  exec "$@" $linker_opts
+  exit 1
+}
+
+eat=
+
+case $1 in
+  '')
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <[email protected]>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "compile $scriptversion"
+    exit $?
+    ;;
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+    func_cl_wrapper "$@"      # Doesn't return...
+    ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+  if test -n "$eat"; then
+    eat=
+  else
+    case $1 in
+      -o)
+       # configure might choose to run compile as 'compile cc -o foo foo.c'.
+       # So we strip '-o arg' only if arg is an object.
+       eat=1
+       case $2 in
+         *.o | *.obj)
+           ofile=$2
+           ;;
+         *)
+           set x "$@" -o "$2"
+           shift
+           ;;
+       esac
+       ;;
+      *.c)
+       cfile=$1
+       set x "$@" "$1"
+       shift
+       ;;
+      *)
+       set x "$@" "$1"
+       shift
+       ;;
+    esac
+  fi
+  shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+  # If no '-o' option was seen then we might have been invoked from a
+  # pattern rule where we don't need one.  That is ok -- this is a
+  # normal compilation that the losing compiler can handle.  If no
+  # '.c' file was seen then we are probably linking.  That is also
+  # ok.
+  exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file.  Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+  if mkdir "$lockdir" >/dev/null 2>&1; then
+    break
+  fi
+  sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gccmakedep-1.0.2/configure.ac new/gccmakedep-1.0.3/configure.ac
--- old/gccmakedep-1.0.2/configure.ac   2006-05-15 22:27:38.000000000 +0200
+++ new/gccmakedep-1.0.3/configure.ac   2014-05-21 20:20:40.000000000 +0200
@@ -1,4 +1,3 @@
-
 dnl  Copyright 2005 Red Hat, Inc.
 dnl 
 dnl  Permission to use, copy, modify, distribute, and sell this software and 
its
@@ -21,17 +20,21 @@
 dnl
 dnl Process this file with autoconf to create configure.
 
-AC_PREREQ([2.57])
-AC_INIT(gccmakedep,[1.0.2], 
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],gccmakedep)
+# Initialize Autoconf
+AC_PREREQ([2.60])
+AC_INIT([gccmakedep],[1.0.3],
+        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],[gccmakedep])
+AC_CONFIG_SRCDIR([Makefile.am])
+
+# Initialize Automake
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE
 
-AC_PROG_INSTALL
-AC_PROG_CC
-
-XORG_PROG_RAWCPP
-
-XORG_MANPAGE_SECTIONS
-XORG_RELEASE_VERSION
+# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+          [m4_fatal([must install xorg-macros 1.8 or later before running 
autoconf/autogen])])
+XORG_MACROS_VERSION(1.8)
+XORG_DEFAULT_OPTIONS
 
-AC_OUTPUT([Makefile])
+AC_CONFIG_FILES([Makefile gccmakedep])
+AC_OUTPUT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gccmakedep-1.0.2/cpprules.in new/gccmakedep-1.0.3/cpprules.in
--- old/gccmakedep-1.0.2/cpprules.in    2005-12-08 20:17:54.000000000 +0100
+++ new/gccmakedep-1.0.3/cpprules.in    1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-#                                                      -*- Makefile -*-
-# Rules for generating files using the C pre-processor
-# (Replaces CppFileTarget from Imake)
-
-SED = sed
-
-SUFFIXES = .cpp
-
-WCHAR32_FLAGS = -DWCHAR32=@WCHAR32@
-
-# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
-# to cpp, because that trick does not work on all ANSI C preprocessors.
-# Delete line numbers from the cpp output (-P is not portable, I guess).
-# Allow XCOMM to be preceded by whitespace and provide a means of generating
-# output lines with trailing backslashes.
-# Allow XHASH to always be substituted, even in cases where XCOMM isn't.
-
-CPP_SED_MAGIC = $(SED) -e '/^\#  *[0-9][0-9]*  *.*$$/d' \
-                       -e '/^\#line  *[0-9][0-9]*  *.*$$/d' \
-                       -e '/^[         ]*XCOMM$$/s/XCOMM/\#/' \
-                       -e '/^[         ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
-                       -e '/^[         ]*XHASH/s/XHASH/\#/' \
-                       -e '/\@\@$$/s/\@\@$$/\\/'
-
-.cpp:
-       $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gccmakedep-1.0.2/gccmakedep.in new/gccmakedep-1.0.3/gccmakedep.in
--- old/gccmakedep-1.0.2/gccmakedep.in  1970-01-01 01:00:00.000000000 +0100
+++ new/gccmakedep-1.0.3/gccmakedep.in  2014-05-21 20:20:00.000000000 +0200
@@ -0,0 +1,130 @@
+#!/bin/sh
+
+#
+# makedepend which uses 'gcc -M'
+#
+# $XFree86: xc/config/util/gccmdep.cpp,v 3.10tsi Exp $
+#
+# Based on mdepend.cpp and code supplied by Hongjiu Lu <[email protected]>
+#
+
+TMP=mdep$$.tmp
+CC="@CC@"
+RM="rm -f"
+LN="ln"
+MV="mv"
+
+${RM} ${TMP}
+
+trap "${RM} ${TMP}*; exit 1" 1 2 15
+trap "${RM} ${TMP}*; exit 0" 1 2 13
+
+files=
+makefile=
+endmarker=
+magic_string='# DO NOT DELETE'
+append=n
+args=
+
+while [ $# != 0 ]; do
+    if [ "$endmarker"x != x -a "$endmarker" = "$1" ]; then
+       endmarker=
+    else
+       case "$1" in
+           -D*|-I*|-U*)
+# arg may contain single quotes
+               qarg=`echo "$1" | sed "s/'/'\\\\\\\\''/g"`
+                args="$args '$qarg'"
+               ;;
+           -g*|-O*)
+               ;;
+           *)
+               if [ "$endmarker"x = x ]; then
+                   case $1 in
+# ignore these flags
+                       -w|-o|-cc)
+                           shift
+                           ;;
+                       -v)
+                           ;;
+                       -s)
+                           magic_string="$2"
+                           shift
+                           ;;
+                       -f*)
+                           if [ "$1" = "-f-" ]; then
+                               makefile="-"
+                           elif [ "$1" = "-f" ]; then
+                               makefile="$2"
+                               shift
+                           else
+                               echo "$1" | sed 's/^\-f//' >${TMP}arg
+                               makefile="`cat ${TMP}arg`"
+                               rm -f ${TMP}arg
+                           fi
+                           ;;
+                       --*)
+                           endmarker=`echo $1 | sed 's/^\-\-//'`
+                           if [ "$endmarker"x = x ]; then
+                               endmarker="--"
+                           fi
+                           ;;
+                       -a)
+                           append=y
+                           ;;
+                       -*)
+                           echo "Unknown option '$1' ignored" 1>&2
+                           ;;
+                       *)
+# filename may contain blanks
+                           files="$files '$1'"
+                           ;;
+                   esac
+               fi
+               ;;
+       esac
+    fi
+    shift
+done
+
+if [ x"$files" = x ]; then
+# Nothing to do
+    exit 0
+fi
+
+case "$makefile" in
+    '')
+       if [ -r makefile ]; then
+           makefile=makefile
+       elif [ -r Makefile ]; then
+           makefile=Makefile
+       else
+           echo 'no makefile or Makefile found' 1>&2
+           exit 1
+       fi
+       ;;
+esac
+
+if [ X"$makefile" != X- ]; then
+    if [ x"$append" = xn ]; then
+        sed -e "/^$magic_string/,\$d" < $makefile > $TMP
+        echo "$magic_string" >> $TMP
+    else
+        cp $makefile $TMP
+    fi
+fi
+
+CMD="$CC -M $args $files"
+if [ X"$makefile" != X- ]; then
+    CMD="$CMD >> $TMP"
+fi
+# Do not wildcard expand '*' in args
+eval "$CMD"
+if [ X"$makefile" != X- ]; then
+    $RM ${makefile}.bak
+    $MV $makefile ${makefile}.bak
+    $MV $TMP $makefile
+fi
+
+$RM ${TMP}*
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gccmakedep-1.0.2/gccmdep.cpp new/gccmakedep-1.0.3/gccmdep.cpp
--- old/gccmakedep-1.0.2/gccmdep.cpp    2004-04-23 20:42:00.000000000 +0200
+++ new/gccmakedep-1.0.3/gccmdep.cpp    1970-01-01 01:00:00.000000000 +0100
@@ -1,126 +0,0 @@
-XCOMM!/bin/sh
-
-XCOMM
-XCOMM makedepend which uses 'gcc -M'
-XCOMM
-XCOMM $XFree86: xc/config/util/gccmdep.cpp,v 3.10tsi Exp $
-XCOMM
-XCOMM Based on mdepend.cpp and code supplied by Hongjiu Lu <[email protected]>
-XCOMM
-
-TMP=mdep$$.tmp
-CC=CCCMD
-RM=RMCMD
-LN=LNCMD
-MV=MVCMD
-
-${RM} ${TMP}
-
-trap "${RM} ${TMP}*; exit 1" 1 2 15
-trap "${RM} ${TMP}*; exit 0" 1 2 13
-
-files=
-makefile=
-endmarker=
-magic_string='# DO NOT DELETE'
-append=n
-args=
-
-while [ $# != 0 ]; do
-    if [ "$endmarker"x != x -a "$endmarker" = "$1" ]; then
-       endmarker=
-    else
-       case "$1" in
-           -D*|-I*|-U*)
-               args="$args '$1'"
-               ;;
-           -g*|-O*)
-               ;;
-           *)
-               if [ "$endmarker"x = x ]; then
-                   case $1 in
-XCOMM ignore these flags
-                       -w|-o|-cc)
-                           shift
-                           ;;
-                       -v)
-                           ;;
-                       -s)
-                           magic_string="$2"
-                           shift
-                           ;;
-                       -f*)
-                           if [ "$1" = "-f-" ]; then
-                               makefile="-"
-                           elif [ "$1" = "-f" ]; then
-                               makefile="$2"
-                               shift
-                           else
-                               echo "$1" | sed 's/^\-f//' >${TMP}arg
-                               makefile="`cat ${TMP}arg`"
-                               rm -f ${TMP}arg
-                           fi
-                           ;;
-                       --*)
-                           endmarker=`echo $1 | sed 's/^\-\-//'`
-                           if [ "$endmarker"x = x ]; then
-                               endmarker="--"
-                           fi
-                           ;;
-                       -a)
-                           append=y
-                           ;;
-                       -*)
-                           echo "Unknown option '$1' ignored" 1>&2
-                           ;;
-                       *)
-                           files="$files $1"
-                           ;;
-                   esac
-               fi
-               ;;
-       esac
-    fi
-    shift
-done
-
-if [ x"$files" = x ]; then
-XCOMM Nothing to do
-    exit 0
-fi
-
-case "$makefile" in
-    '')
-       if [ -r makefile ]; then
-           makefile=makefile
-       elif [ -r Makefile ]; then
-           makefile=Makefile
-       else
-           echo 'no makefile or Makefile found' 1>&2
-           exit 1
-       fi
-       ;;
-esac
-
-if [ X"$makefile" != X- ]; then
-    if [ x"$append" = xn ]; then
-        sed -e "/^$magic_string/,\$d" < $makefile > $TMP
-        echo "$magic_string" >> $TMP
-    else
-        cp $makefile $TMP
-    fi
-fi
-
-CMD="$CC -M $args $files"
-if [ X"$makefile" != X- ]; then
-    CMD="$CMD >> $TMP"
-fi
-eval $CMD
-if [ X"$makefile" != X- ]; then
-    $RM ${makefile}.bak
-    $MV $makefile ${makefile}.bak
-    $MV $TMP $makefile
-fi
-
-$RM ${TMP}*
-exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gccmakedep-1.0.2/missing new/gccmakedep-1.0.3/missing
--- old/gccmakedep-1.0.2/missing        2006-05-15 22:27:48.000000000 +0200
+++ new/gccmakedep-1.0.3/missing        2014-05-21 20:23:16.000000000 +0200
@@ -1,11 +1,10 @@
 #! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2005-06-08.21
+scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
-#   Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <[email protected]>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -18,9 +17,7 @@
 # GNU General Public License for more details.
 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -28,63 +25,40 @@
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
-run=:
+case $1 in
 
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
-
-msg="missing on your system"
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
 
-case "$1" in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
 
   -h|--h|--he|--hel|--help)
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
 
 Options:
   -h, --help      display this help and exit
   -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <[email protected]>."
     exit $?
@@ -96,265 +70,146 @@
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
 esac
 
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).
-case "$1" in
-  lex|yacc)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  tar)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' 
${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case "$f" in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  autom4te)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
-    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo "#! /bin/sh"
-       echo "# Created by GNU Automake missing as a replacement of"
-       echo "#  $ $@"
-       echo "exit 0"
-       chmod +x $file
-       exit 1
-    fi
-    ;;
-
-  bison|yacc)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-       case "$LASTARG" in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if [ -f "$SRCFILE" ]; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if [ -f "$SRCFILE" ]; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if [ ! -f y.tab.h ]; then
-       echo >y.tab.h
-    fi
-    if [ ! -f y.tab.c ]; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex|flex)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if [ $# -ne 1 ]; then
-        eval LASTARG="\${$#}"
-       case "$LASTARG" in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if [ -f "$SRCFILE" ]; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if [ ! -f lex.yy.c ]; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-        you modified a dependency of a manual page.  You may need the
-        \`Help2man' package in order for those modifications to take
-        effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-       file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
-    fi
-    if [ -f "$file" ]; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo ".ab help2man is required to generate this page"
-       exit 1
-    fi
-    ;;
-
-  makeinfo)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
-
-  tar)
-    shift
+# Run the given program, remember its exit status.
+"$@"; st=$?
 
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-       case "$firstarg" in
-       *o*)
-           firstarg=`echo "$firstarg" | sed s/o//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-       case "$firstarg" in
-       *h*)
-           firstarg=`echo "$firstarg" | sed s/h//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
 
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
 
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'autom4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
+    ;;
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
 # End:

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to