[Top][All Lists]
[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: