automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, master, updated. Release-1-


From: Ralf Wildenhues
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. Release-1-10-259-gd7fb431
Date: Tue, 03 Mar 2009 21:07:34 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=d7fb4311ce271bf84fb44553b435036356720e5b

The branch, master has been updated
       via  d7fb4311ce271bf84fb44553b435036356720e5b (commit)
       via  34ac02d388e030eb8af06fd32068b560d976cd71 (commit)
      from  500f6ca793385bfa3bc6516d5a63fcd8f28e10df (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d7fb4311ce271bf84fb44553b435036356720e5b
Author: Ralf Wildenhues <address@hidden>
Date:   Tue Mar 3 21:10:43 2009 +0100

    Fix w32 path handling in the `compile' script.
    
    * lib/compile: Handle colons and backslashes in win32 paths.
    * tests/compile2.test: New test.
    * tests/Makefile.am: Update.
    Report and initial patch by Peter Rosin.
    
    Signed-off-by: Ralf Wildenhues <address@hidden>

commit 34ac02d388e030eb8af06fd32068b560d976cd71
Author: Ralf Wildenhues <address@hidden>
Date:   Tue Mar 3 21:03:57 2009 +0100

    Add ChangeLog for last commit

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog           |   18 +++++++++++
 lib/compile         |   11 +++---
 tests/Makefile.am   |    1 +
 tests/Makefile.in   |    1 +
 tests/compile2.test |   85 +++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 111 insertions(+), 5 deletions(-)
 create mode 100755 tests/compile2.test

diff --git a/ChangeLog b/ChangeLog
index 78e1e03..c347d1b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2009-03-03  Ralf Wildenhues  <address@hidden>
+           Peter Rosin  <address@hidden>
+
+       Fix w32 path handling in the `compile' script.
+       * lib/compile: Handle colons and backslashes in win32 paths.
+       * tests/compile2.test: New test.
+       * tests/Makefile.am: Update.
+       Report and initial patch by Peter Rosin.
+
+2009-03-03  Ralf Wildenhues  <address@hidden>
+
+       Fix `use constant' usage for MSYS Perl 5.6.0.
+       * automake.in (QUEUE_MESSAGE, QUEUE_CONF_FILE, QUEUE_LOCATION)
+       (QUEUE_STRING): Define using one `use constant' each; as perl
+       5.6.0 (on MSYS) does not understand `use constant { ... }'.
+       * THANKS: Update.
+       Report by Peter Rosin.
+
 2009-03-01  Ralf Wildenhues  <address@hidden>
 
        Fix recursive html and install-* doc rules for BSD make.
diff --git a/lib/compile b/lib/compile
index 35af809..af472ac 100755
--- a/lib/compile
+++ b/lib/compile
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand `-c -o'.
 
-scriptversion=2005-05-14.22
+scriptversion=2009-03-03.21
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009  Free Software
+# Foundation, Inc.
 # Written by Tom Tromey <address@hidden>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -102,13 +103,13 @@ if test -z "$ofile" || test -z "$cfile"; then
 fi
 
 # Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
+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
+# 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
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
 while true; do
   if mkdir "$lockdir" >/dev/null 2>&1; then
     break
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 3a55de0..2d8a974 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -121,6 +121,7 @@ comment8.test \
 comment9.test \
 commen10.test \
 compile.test \
+compile2.test \
 compile_f90_c_cxx.test \
 compile_f_c_cxx.test \
 cond.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 259ca62..92434ab 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -276,6 +276,7 @@ comment8.test \
 comment9.test \
 commen10.test \
 compile.test \
+compile2.test \
 compile_f90_c_cxx.test \
 compile_f_c_cxx.test \
 cond.test \
diff --git a/tests/compile2.test b/tests/compile2.test
new file mode 100755
index 0000000..9f5d7b3
--- /dev/null
+++ b/tests/compile2.test
@@ -0,0 +1,85 @@
+#! /bin/sh
+# Copyright (C) 2009  Free Software Foundation, Inc.
+#
+# 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 3, 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/>.
+
+# Make sure `compile' deals correctly with w32 style paths.
+
+. ./defs || Exit 1
+
+set -e
+
+cp "$testsrcdir/../lib/compile" .
+
+cat >mycc <<'END'
+source_seen=no
+for arg
+do
+  test "X$arg" = X-o && exit 1
+  test "X$arg" = "X$amtest_source" && source_seen=yes
+done
+if test "$source_seen" != yes; then
+  echo "$0: no source file seen" >&2
+  exit 1
+fi
+if test ! -f "$amtest_source"; then
+  echo "$0: $amtest_source not readable" >&2
+  exit 1
+fi
+if test ! -d "$amtest_lock"; then
+  echo "$0: no lockdir $amtest_lock" >&2
+  exit 1
+fi
+touch "$amtest_obj"
+END
+
+chmod +x ./mycc
+
+# In case this test runs on a system with backslash directory separators:
+mkdir libltdl libltdl/libltdl
+
+# Backslashes in the input and the output name should be accepted.
+# Since this test might run on non-w32 systems, we need to be careful not
+# to use any backslash sequences which might be interpreted by `echo'.
+amtest_source='libltdl\libltdl\slist.c'
+amtest_object='libtldl\libltdl\libltdl_libltdl_la-slist.obj'
+amtest_obj='slist.o'
+amtest_lock='slist_o.d'
+export amtest_source amtest_object amtest_obj amtest_lock
+
+: > "$amtest_source"
+./compile ./mycc -c "$amtest_source" -o "$amtest_object"
+test -f "$amtest_object"
+
+
+# Absolute w32 paths should be accepted.
+# Do not actually run this test on anything that could be w32.
+test -d "C:\\" && exit 77
+# This test is taken from Autoconf's _AS_PATH_SEPARATOR_PREPARE.
+(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+  (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+    exit 77
+}
+
+amtest_source='C:\libltdl\libltdl\slist.c'
+amtest_object='C:\libtldl\libltdl\libltdl_libltdl_la-slist.obj'
+amtest_obj='slist.o'
+amtest_lock='slist_o.d'
+export amtest_source amtest_object amtest_obj amtest_lock
+
+: > "$amtest_source"
+./compile ./mycc -c "$amtest_source" -o "$amtest_object"
+test -f "$amtest_object"
+
+:


hooks/post-receive
--
GNU Automake




reply via email to

[Prev in Thread] Current Thread [Next in Thread]