bug-automake
[Top][All Lists]
Advanced

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

Re: gettext-0.14.2 fails on parallel build


From: Alexandre Duret-Lutz
Subject: Re: gettext-0.14.2 fails on parallel build
Date: Wed, 16 Mar 2005 01:10:12 +0100
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux)

>>> "Greg" == Greg Schafer <address@hidden> writes:

 Greg> Sure. The output is attached.

Thanks, I'm installing the following fix on HEAD and branch-1-9.

(Perhaps I should update these rules to use AM_CONDITIONAL
before 1.10.  I'll look into this later.)

2005-03-16  Alexandre Duret-Lutz  <address@hidden>

        * lib/am/lisp.am ($(am__ELCFILES)): Do not attempt to recover
        a missing *.elc file if it cannot be created because emacs does
        not exist.
        * tests/lisp7.test: New file.
        * tests/Makefile.am (TESTS): Add lisp7.test.
        Report from Greg Schafer.

Index: lib/am/lisp.am
===================================================================
RCS file: /cvs/automake/automake/lib/am/lisp.am,v
retrieving revision 1.44
diff -u -r1.44 lisp.am
--- lib/am/lisp.am      1 Feb 2004 12:54:02 -0000       1.44
+++ lib/am/lisp.am      16 Mar 2005 00:01:30 -0000
@@ -1,5 +1,5 @@
 ## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+## Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 ## Free Software Foundation, Inc.
 
 ## This program is free software; you can redistribute it and/or modify
@@ -47,8 +47,12 @@
 ## by the user (to disable byte-compilation), and POSIX does not allow
 ## an empty target.
 $(am__ELCFILES): elc-stamp
-## Recover from the removal of $@
-       @if test ! -f $@; then \
+## Recover from the removal of address@hidden
+##
+## Make sure not to call `make elc-stamp' if emacs is not available,
+## because as all *.elc files appear as missing, a parallel make would
+## attempt to build elc-stamp several times.
+       @if test "$(EMACS)" != no && test ! -f $@; then \
          rm -f elc-stamp; \
          $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \
        else : ; fi
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.584
diff -u -r1.584 Makefile.am
--- tests/Makefile.am   1 Mar 2005 23:04:39 -0000       1.584
+++ tests/Makefile.am   16 Mar 2005 00:01:30 -0000
@@ -320,6 +320,7 @@
 lisp4.test \
 lisp5.test \
 lisp6.test \
+lisp7.test \
 listval.test \
 location.test \
 longline.test \
Index: tests/lisp7.test
===================================================================
RCS file: tests/lisp7.test
diff -N tests/lisp7.test
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/lisp7.test    16 Mar 2005 00:01:30 -0000
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake 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.
+#
+# GNU Automake 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 GNU Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Make sure that lisp_LISP also works when emacs is not installed.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+dist_lisp_LISP = am-one.el am-two.el am-three.el
+EOF
+
+cat >> configure.in << 'EOF'
+AM_PATH_LISPDIR
+EMACS=no # Simulate no emacs.
+AC_OUTPUT
+EOF
+
+echo "(require 'am-two)" > am-one.el
+echo "(require 'am-three) (provide 'am-two)" > am-two.el
+echo "(provide 'am-three)" > am-three.el
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+
+$MAKE >stdout
+
+cat stdout
+test 1 -eq `grep 'Warnings can be ignored' stdout | wc -l`
+
+test ! -f am-one.elc
+test ! -f am-two.elc
+test ! -f am-three.elc
+test -f elc-stamp
+
+$MAKE distcheck

-- 
Alexandre Duret-Lutz





reply via email to

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