]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
* automake.in (get_object_extension): The extension to use is know
authorAlexandre Duret-Lutz <adl@gnu.org>
Thu, 21 Oct 2004 21:37:41 +0000 (21:37 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Thu, 21 Oct 2004 21:37:41 +0000 (21:37 +0000)
by the caller, and cannot be selected by looking only at the
target name.  Simplify this function to simply conditionally
prepend $U to the given extension.
(handle_programs, handle_libraries, handle_ltlibraries): Hard-code
the extension to use.  This way Automake won't mistake a program
named `foo.la' as a libtool library.
* tests/primary3.test: New file.
* tests/Makefile.am (TESTS): Add primary3.test.

ChangeLog
automake.in
tests/Makefile.am
tests/Makefile.in
tests/primary3.test [new file with mode: 0755]

index d64d649155ce7406452e8f36b0c828122cfc2df0..d9fea1ad08d995e82d6aa575aa2bf01c8353e673 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2004-10-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       * automake.in (get_object_extension): The extension to use is know
+       by the caller, and cannot be selected by looking only at the
+       target name.  Simplify this function to simply conditionally
+       prepend $U to the given extension.
+       (handle_programs, handle_libraries, handle_ltlibraries): Hard-code
+       the extension to use.  This way Automake won't mistake a program
+       named `foo.la' as a libtool library.
+       * tests/primary3.test: New file.
+       * tests/Makefile.am (TESTS): Add primary3.test.
+
 2004-10-12  Alexandre Duret-Lutz  <adl@gnu.org>
 
        * doc/automake.texi (Install): Link to node Extending for examples.
index 3cd0accfea896dfeaedd8f7e2b618750a4b96c43..fffa548d8e077415164167b7767fabe1eb3fc352 100755 (executable)
@@ -1071,17 +1071,12 @@ sub shadow_unconditionally ($$)
   return "\$($varname)"
 }
 
-# get_object_extension ($OUT)
-# ---------------------------
-# Return object extension.  Just once, put some code into the output.
-# OUT is the name of the output file
-sub get_object_extension
+# get_object_extension ($EXTENSION)
+# ---------------------------------
+# Prefix $EXTENSION with $U if ansi2knr is in use.
+sub get_object_extension ($)
 {
-    my ($out) = @_;
-
-    # Maybe require libtool library object files.
-    my $extension = '.$(OBJEXT)';
-    $extension = '.lo' if ($out =~ /\.la$/);
+    my ($extension) = @_;
 
     # Check for automatic de-ANSI-fication.
     $extension = '$U' . $extension
@@ -2299,7 +2294,7 @@ sub handle_programs
       my ($where, $one_file) = @$pair;
 
       my $seen_libobjs = 0;
-      my $obj = &get_object_extension ($one_file);
+      my $obj = get_object_extension '.$(OBJEXT)';
 
       # Strip any $(EXEEXT) suffix the user might have added, or this
       # will confuse &handle_source_transform and &check_canonical_spelling.
@@ -2419,7 +2414,7 @@ sub handle_libraries
       $where->push_context ("while processing library `$onelib'");
       $where->set (INTERNAL->get);
 
-      my $obj = &get_object_extension ($onelib);
+      my $obj = get_object_extension '.$(OBJEXT)';
 
       # Canonicalize names and check for misspellings.
       my $xlib = &check_canonical_spelling ($onelib, '_LIBADD', '_SOURCES',
@@ -2569,7 +2564,7 @@ sub handle_ltlibraries
       my ($where, $onelib) = @$pair;
 
       my $seen_libobjs = 0;
-      my $obj = &get_object_extension ($onelib);
+      my $obj = get_object_extension '.lo';
 
       # Canonicalize names and check for misspellings.
       my $xlib = &check_canonical_spelling ($onelib, '_LIBADD', '_LDFLAGS',
index 840d3f121c622fd95b5c27e7190bd49a2b28ff22..b697c5fdcd307daabd7635b54c2901d4301222bd 100644 (file)
@@ -405,6 +405,7 @@ pr307.test \
 prefix.test \
 primary.test \
 primary2.test \
+primary3.test \
 proginst.test \
 python.test \
 python2.test \
index 99b0d5a0d8eaea58df1a960497cf27b51d02d5f9..ec5c73802cf6a633d45fdc21a93580a2887d16ab 100644 (file)
@@ -524,6 +524,7 @@ pr307.test \
 prefix.test \
 primary.test \
 primary2.test \
+primary3.test \
 proginst.test \
 python.test \
 python2.test \
diff --git a/tests/primary3.test b/tests/primary3.test
new file mode 100755 (executable)
index 0000000..b0dc91f
--- /dev/null
@@ -0,0 +1,44 @@
+#! /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.
+
+# Make sure we can build programs ending in `.la'
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo.la
+foo_la_SOURCES = foo.c
+END
+
+echo 'int main () { return 0; }' > foo.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE