autoconf-patches
[Top][All Lists]
Advanced

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

Re: [Patch] c.m4 - Add Objective C as a language


From: Ralf Wildenhues
Subject: Re: [Patch] c.m4 - Add Objective C as a language
Date: Thu, 16 Mar 2006 18:48:53 +0100
User-agent: Mutt/1.5.9i

[ from autoconf and autoconf-patches ]

* Ralf Wildenhues wrote on Thu, Mar 16, 2006 at 10:19:18AM CET:
> 
> This patch comes with a sibling patch to fix support for OBJC in
> Automake.

Here it is.  Since CVS Automake requires CVS Autoconf anyway, I guess
it's ok to rely on presence of AC_PROG_OBJC in the test?

And yes, ext.test exposes the bug that the change in init.m4 fixes.

Cheers,
Ralf

        * m4/init.m4 (AM_INIT_AUTOMAKE): Add `_AM_DEPENDENCIES(OBJC)'
        to `AC_PROG_OBJC' if provided, to fix Objective C depmode
        handling.
        * tests/ext.test: Adjusted.
        * doc/automake.texi (Objective C Support): New node.
        (Support for Other Languages): Adjusted.
        * NEWS: Updated.

Index: m4/init.m4
===================================================================
RCS file: /cvs/automake/automake/m4/init.m4,v
retrieving revision 1.62
diff -u -r1.62 init.m4
--- m4/init.m4  30 Jun 2005 11:07:40 -0000      1.62
+++ m4/init.m4  15 Mar 2006 22:20:10 -0000
@@ -88,6 +88,10 @@
                   [_AM_DEPENDENCIES(CXX)],
                   [define([AC_PROG_CXX],
                           defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                  [_AM_DEPENDENCIES(OBJC)],
+                  [define([AC_PROG_OBJC],
+                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
 ])
 ])
 
Index: tests/ext.test
===================================================================
RCS file: /cvs/automake/automake/tests/ext.test,v
retrieving revision 1.7
diff -u -r1.7 ext.test
--- tests/ext.test      14 May 2005 20:28:55 -0000      1.7
+++ tests/ext.test      15 Mar 2006 22:29:15 -0000
@@ -25,8 +25,7 @@
 cat >> configure.in << 'END'
 AC_PROG_F77
 AC_PROG_FC
-_AM_DEPENDENCIES(OBJC)
-AC_SUBST(OBJC)
+AC_PROG_OBJC
 END
 
 cat > Makefile.am << 'END'
Index: doc/automake.texi
===================================================================
RCS file: /cvs/automake/automake/doc/automake.texi,v
retrieving revision 1.131
diff -u -r1.131 automake.texi
--- doc/automake.texi   10 Mar 2006 10:51:37 -0000      1.131
+++ doc/automake.texi   15 Mar 2006 22:28:55 -0000
@@ -171,6 +171,7 @@
 * Program variables::           Variables used when building a program
 * Yacc and Lex::                Yacc and Lex support
 * C++ Support::                 Compiling C++ sources
+* Objective C Support::         Compiling Objective C sources
 * Assembly Support::            Compiling assembly sources
 * Fortran 77 Support::          Compiling Fortran 77 sources
 * Fortran 9x Support::          Compiling Fortran 9x sources
@@ -1532,6 +1533,10 @@
 This is required if any C++ source is included.  @xref{Particular
 Programs, , Particular Program Checks, autoconf, The Autoconf Manual}.
 
address@hidden AC_PROG_OBJC
+This is required if any Objective C source is included.  @xref{Particular
+Programs, , Particular Program Checks, autoconf, The Autoconf Manual}.
+
 @item AC_PROG_F77
 This is required if any Fortran 77 source is included.  This macro is
 distributed with Autoconf version 2.13 and later.  @xref{Particular
@@ -3063,6 +3072,7 @@
 * Program variables::           Variables used when building a program
 * Yacc and Lex::                Yacc and Lex support
 * C++ Support::                 Compiling C++ sources
+* Objective C Support::         Compiling Objective C sources
 * Assembly Support::            Compiling assembly sources
 * Fortran 77 Support::          Compiling Fortran 77 sources
 * Fortran 9x Support::          Compiling Fortran 9x sources
@@ -4675,6 +4685,41 @@
 @end vtable
 
 
address@hidden Objective C Support
address@hidden Objective C Support
+
address@hidden Objective C support
address@hidden Support for Objective C
+
+Automake includes some support for Objective C.
+
+Any package including Objective C code must define the output variable
address@hidden in @file{configure.ac}; the simplest way to do this is to use
+the @code{AC_PROG_OBJC} macro (@pxref{Particular Programs, , Particular
+Program Checks, autoconf, The Autoconf Manual}).
+
+A few additional variables are defined when an Objective C source file
+is seen:
+
address@hidden @code
address@hidden OBJC
+The name of the Objective C compiler.
+
address@hidden OBJCFLAGS
+Any flags to pass to the Objective C compiler.
+
address@hidden AM_OBJCFLAGS
+The maintainer's variant of @code{OBJCFLAGS}.
+
address@hidden OBJCCOMPILE
+The command used to actually compile a Objective C source file.  The
+file name is appended to form the complete command line.
+
address@hidden OBJCLINK
+The command used to actually link a Objective C program.
address@hidden vtable
+
+
 @node Assembly Support
 @section Assembly Support
 
@@ -5040,8 +5085,8 @@
 @section Support for Other Languages
 
 Automake currently only includes full support for C, C++ (@pxref{C++
-Support}), Fortran 77 (@pxref{Fortran 77 Support}),
-Fortran 9x (@pxref{Fortran 9x Support}),
+Support}), Objective C (@pxref{Objective C Support}), Fortran 77
+(@pxref{Fortran 77 Support}), Fortran 9x (@pxref{Fortran 9x Support}),
 and Java (@pxref{Java Support}).  There is only rudimentary support for other
 languages, support for which will be improved based on user demand.
 
Index: NEWS
===================================================================
RCS file: /cvs/automake/automake/NEWS,v
retrieving revision 1.302
diff -u -r1.302 NEWS
--- NEWS        10 Mar 2006 10:52:00 -0000      1.302
+++ NEWS        15 Mar 2006 22:28:33 -0000
@@ -97,6 +97,8 @@
     `gnits' strictness.  This means automake will complain about %-rules
     or $(GNU Make functions) unless you switch to `foreign' strictness or
     use `-Wno-portability'.
+
+  - Improved support for Objective C.
 
 New in 1.9:
 




reply via email to

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