[ 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}. [EMAIL PROTECTED] 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 [EMAIL PROTECTED] Objective C Support [EMAIL PROTECTED] Objective C Support + [EMAIL PROTECTED] Objective C support [EMAIL PROTECTED] Support for Objective C + +Automake includes some support for Objective C. + +Any package including Objective C code must define the output variable [EMAIL PROTECTED] 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: + [EMAIL PROTECTED] @code [EMAIL PROTECTED] OBJC +The name of the Objective C compiler. + [EMAIL PROTECTED] OBJCFLAGS +Any flags to pass to the Objective C compiler. + [EMAIL PROTECTED] AM_OBJCFLAGS +The maintainer's variant of @code{OBJCFLAGS}. + [EMAIL PROTECTED] OBJCCOMPILE +The command used to actually compile a Objective C source file. The +file name is appended to form the complete command line. + [EMAIL PROTECTED] OBJCLINK +The command used to actually link a Objective C program. [EMAIL PROTECTED] 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: