From 557bb318a91ff6f538dbcc3fe46bb07d9f259bec Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Fri, 9 Apr 2004 22:21:56 +0000 Subject: [PATCH] * automake.in (handle_lib_objects): Pass the condition of the variable definition to handle_LIBOBJS and handle_ALLOCA, not the aggregated conditions. * tests/Makefile.am (TESTS): Add libobj14.test. * tests/libobj14.test: New file. Report from Bill Davidson. --- ChangeLog | 9 +++++++++ automake.in | 4 ++-- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/libobj14.test | 49 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100755 tests/libobj14.test diff --git a/ChangeLog b/ChangeLog index 98271fe8..b28bb627 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-04-09 Alexandre Duret-Lutz + + * automake.in (handle_lib_objects): Pass the condition of + the variable definition to handle_LIBOBJS and handle_ALLOCA, + not the aggregated conditions. + * tests/Makefile.am (TESTS): Add libobj14.test. + * tests/libobj14.test: New file. + Report from Bill Davidson. + 2004-04-02 Mike Nolta Better support for Fortran 9x. diff --git a/automake.in b/automake.in index c88f7dd3..f3ed0470 100755 --- a/automake.in +++ b/automake.in @@ -2023,13 +2023,13 @@ sub handle_lib_objects } elsif ($val =~ /^\@(LT)?LIBOBJS\@$/) { - handle_LIBOBJS ($subvar, $full_cond, $1); + handle_LIBOBJS ($subvar, $cond, $1); $seen_libobjs = 1; return $val; } elsif ($val =~ /^\@(LT)?ALLOCA\@$/) { - handle_ALLOCA ($subvar, $full_cond, $1); + handle_ALLOCA ($subvar, $cond, $1); return $val; } else diff --git a/tests/Makefile.am b/tests/Makefile.am index 6d4e122b..369a2193 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -275,6 +275,7 @@ libobj10.test \ libobj11.test \ libobj12.test \ libobj13.test \ +libobj14.test \ library.test \ library2.test \ library3.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index c67430ca..3eddd9ec 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -390,6 +390,7 @@ libobj10.test \ libobj11.test \ libobj12.test \ libobj13.test \ +libobj14.test \ library.test \ library2.test \ library3.test \ diff --git a/tests/libobj14.test b/tests/libobj14.test new file mode 100755 index 00000000..8e0c11e4 --- /dev/null +++ b/tests/libobj14.test @@ -0,0 +1,49 @@ +#!/bin/sh +# Copyright (C) 2004 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 Automake; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Regression test for an internal error when @LIBOBJS@ is used in +# a variable that is not defined in the same conditions as the _LDADD +# that uses it. +# Report from Bill Davidson + +required=gcc +. ./defs + +set -e + +cat >>configure.in <<'EOF' +AC_PROG_CC +AC_LIBSOURCE([bar.c]) +AM_CONDITIONAL([CASE], :) +AC_OUTPUT +EOF + +: >bar.c + +cat >>Makefile.am <<'EOF' +COMMON_LIBS = @LIBOBJS@ +bin_PROGRAMS = foo +if ! CASE +foo_LDADD = $(COMMON_LIBS) +endif +EOF + +$ACLOCAL +$AUTOMAKE -- 2.43.5