1999-01-10 Tom Tromey <tromey@cygnus.com>
authorTom Tromey <tromey@redhat.com>
Sun, 10 Jan 1999 21:01:06 +0000 (21:01 +0000)
committerTom Tromey <tromey@redhat.com>
Sun, 10 Jan 1999 21:01:06 +0000 (21:01 +0000)
* automake.in (objc_extensions): New sub.
(handle_dependencies): Only generate dependency-tracking code for
ObjC when ObjC source seen.
1998-12-22  Marcus G. Daniels  <mgd@chama.santafe.edu>
* automake.in (handle_dependencies): Transform EXT & PFX in
Objective C case.
1998-12-11  Marcus G. Daniels  <mgd@chama.santafe.edu>
* automake.in: Register Objective C language.
(finish_languages): Consider Objective C to be non_c.
(lang_objc_rewrite, lang_objc_finish): New functions.
(resolve_linker): Recognize OBJCLINK before LINK.

ChangeLog
Makefile.in
NEWS
aclocal.m4
automake.in
configure
configure.in
stamp-vti
version.texi

index 6b9fdc7..5a13eba 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 1999-01-10  Tom Tromey  <tromey@cygnus.com>
 
+       * automake.in (objc_extensions): New sub.
+       (handle_dependencies): Only generate dependency-tracking code for
+       ObjC when ObjC source seen.
+
+1998-12-22  Marcus G. Daniels  <mgd@chama.santafe.edu>
+
+       * automake.in (handle_dependencies): Transform EXT & PFX in
+       Objective C case.
+
+1998-12-11  Marcus G. Daniels  <mgd@chama.santafe.edu>
+
+       * automake.in: Register Objective C language.
+       (finish_languages): Consider Objective C to be non_c.
+       (lang_objc_rewrite, lang_objc_finish): New functions.
+       (resolve_linker): Recognize OBJCLINK before LINK.
+
+1999-01-10  Tom Tromey  <tromey@cygnus.com>
+
        * automake.in (handle_texinfo): Handle empty $config_aux_dir.
 
        * automake.in (handle_texinfo): Set $conf_pat correctly when
index 8e4788e..97aa83e 100644 (file)
@@ -93,10 +93,10 @@ TEXINFOS = automake.texi
 DATA =  $(pkgdata_DATA)
 
 DIST_COMMON =  README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
-Makefile.in NEWS README-alpha THANKS TODO aclocal.in aclocal.m4 \
-ansi2knr.1 ansi2knr.c automake.in config.guess config.sub configure \
-configure.in elisp-comp install-sh mdate-sh missing mkinstalldirs \
-stamp-vti texinfo.tex version.texi ylwrap
+Makefile.in NEWS THANKS TODO aclocal.in aclocal.m4 ansi2knr.1 \
+ansi2knr.c automake.in config.guess config.sub configure configure.in \
+elisp-comp install-sh mdate-sh missing mkinstalldirs stamp-vti \
+texinfo.tex version.texi ylwrap
 
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
diff --git a/NEWS b/NEWS
index 31c5349..a2500a9 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-New in 1.3d:
+New in 1.4:
 * Added support for the Fortran 77 programming language.
 * Re-indexed the Automake Texinfo manual.
 * Added `AM_FOOFLAGS' variable for each compiler invocation;
index 0a5a411..7928dd4 100644 (file)
@@ -1,4 +1,4 @@
-dnl aclocal.m4 generated automatically by aclocal 1.3d
+dnl aclocal.m4 generated automatically by aclocal 1.3e
 
 dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
index 1b44255..cec31a4 100755 (executable)
@@ -305,6 +305,8 @@ $obsolete_rx = '(' . join ('|', keys %obsolete_macros) . ')';
                    'c');
 &register_language ('cxx', 'CXXLINK', 0,
                    'c++', 'cc', 'cpp', 'cxx', 'C');
+&register_language ('objc', 'OBJCLINK', 0,
+                    'm');
 &register_language ('header', '', 0,
                    'h', 'H', 'hxx', 'h++', 'hh', 'hpp', 'inc');
 &register_language ('yacc', '', 1,
@@ -922,7 +924,7 @@ sub finish_languages
        $lang = $extension_map{$ext};
        next if defined $done{$lang};
        $done{$lang} = 1;
-       $non_c = 0 if $lang !~ /(cxx|f77|ratfor)$/;
+       $non_c = 0 if $lang !~ /(objc|cxx|f77|ratfor)$/;
 
        # Compute the function name of the finisher and then call it.
        $name = 'lang_' . $lang . '_finish';
@@ -2712,6 +2714,13 @@ sub handle_dependencies
                                               . 's/\@PFX\@//g;',
                                               'depend2');
            local ($ext);
+           foreach $ext (&objc_extensions)
+           {
+               $output_rules .=
+                   &file_contents_with_transform ('s/\@EXT\@/' . $ext . '/g;'
+                                                  . 's/\@PFX\@/OBJC/g;',
+                                                  'depend2');
+           }
            foreach $ext (&cxx_extensions)
            {
                $output_rules .=
@@ -4448,6 +4457,12 @@ sub lang_f77_rewrite
     return 1;
 }
 
+# Rewrite a single Objective C file.
+sub lang_objc_rewrite
+{
+    return 1;
+}
+
 # The lang_X_finish functions are called after all source file
 # processing is done.  Each should handle defining rules for the
 # language, etc.  A finish function is only called if a source file of
@@ -4832,6 +4847,49 @@ sub lang_ratfor_finish
     }
 }
 
+sub lang_objc_finish
+{
+    push (@suffixes, '.m');
+
+    local ($ltcompile, $ltlink) = &libtool_compiler;
+
+    &define_configure_variable ("OBJCFLAGS");
+    &define_variable ('OBJCCOMPILE', '$(OBJC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)');
+    &define_variable ('LTOBJCCOMPILE',
+                      $ltcompile . '$(OBJC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)')
+        if ($seen_libtool);
+    
+    &define_variable ('OBJCLD', '$(OBJC)');
+    &define_variable ('OBJCLINK', $ltlink . '$(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) $(LDFLAGS) -o $@');
+    
+    $output_rules .= (".m.o:\n"
+                      . "\t\$(OBJCCOMPILE) -c \$<\n");
+    # FIXME: Using cygpath should be somehow conditional.
+    $output_rules .= (".m.obj:\n"
+                      . "\t\$(OBJCCOMPILE) -c `cygpath -w \$<`\n")
+        if ($seen_objext);
+    $output_rules .= (".m.lo:\n"
+                      . "\t\$(LTOBJCCOMPILE) -c \$<\n")
+        if ($seen_libtool);
+    
+    if (! defined $configure_vars{'OBJC'})
+       {
+           &am_error ("Objective C source seen but \`OBJC' not defined in \`configure.in'");
+       }
+}
+
+# A helper which computes a sorted list of all ObjC extensions which
+# were seen.
+sub objc_extensions
+{
+    local ($key, @r);
+    foreach $key (sort keys %extension_seen)
+    {
+       push (@r, '.' . $key) if $extension_map{$key} eq 'objc';
+    }
+    return @r;
+}
+
 # A helper which decides whether libtool is needed.  Returns prefix
 # for compiler and linker.
 sub libtool_compiler
@@ -4858,6 +4916,8 @@ sub resolve_linker
        if defined $linkers{'CXXLINK'};
     return 'F77LINK'
        if defined $linkers{'F77LINK'};
+    return 'OBJCLINK'
+        if defined $linkers{'OBJCLINK'};
     return 'LINK';
 }
 
index 9a37979..c3ea1f1 100755 (executable)
--- a/configure
+++ b/configure
@@ -692,7 +692,7 @@ fi
 
 PACKAGE=automake
 
-VERSION=1.3e
+VERSION=1.4
 
 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
   { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
index 8d112ad..b5e1ea3 100644 (file)
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(automake.in)
 
-AM_INIT_AUTOMAKE(automake, 1.3e)
+AM_INIT_AUTOMAKE(automake, 1.4)
 
 # Find an appropriate tar for use in "dist" targets.  A "best guess"
 # is good enough -- if we can't find GNU tar, we don't really care.
index 2adaa91..b3f0ebb 100644 (file)
--- a/stamp-vti
+++ b/stamp-vti
@@ -1,3 +1,3 @@
 @set UPDATED 10 January 1999
-@set EDITION 1.3e
-@set VERSION 1.3e
+@set EDITION 1.4
+@set VERSION 1.4
index 2adaa91..b3f0ebb 100644 (file)
@@ -1,3 +1,3 @@
 @set UPDATED 10 January 1999
-@set EDITION 1.3e
-@set VERSION 1.3e
+@set EDITION 1.4
+@set VERSION 1.4