From 8becdd30e4923df4eca086a5447cf5ed3351cb4e Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Thu, 26 Apr 2012 15:03:02 +0200 Subject: [PATCH] objc++: add documentation * doc/automake.texi (Objective C++ Support): New node. (How the Linker is Chosen, Support for Other Languages): Adjust. Signed-off-by: Peter Breitenlohner Signed-off-by: Stefano Lattarini --- doc/automake.texi | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/doc/automake.texi b/doc/automake.texi index c21a5b7..bf705d7 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -220,6 +220,7 @@ Building Programs and Libraries * Yacc and Lex:: Yacc and Lex support * C++ Support:: Compiling C++ sources * Objective C Support:: Compiling Objective C sources +* Objective C++ Support:: Compiling Objective C++ sources * Unified Parallel C Support:: Compiling Unified Parallel C sources * Assembly Support:: Compiling assembly sources * Fortran 77 Support:: Compiling Fortran 77 sources @@ -3027,6 +3028,10 @@ Programs, , Particular Program Checks, autoconf, The Autoconf Manual}. This is required if any Objective C source is included. @xref{Particular Programs, , Particular Program Checks, autoconf, The Autoconf Manual}. +@item AC_PROG_OBJCXX +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. @xref{Particular Programs, , Particular Program Checks, autoconf, The Autoconf Manual}. @@ -4670,6 +4675,7 @@ to build programs and libraries. * Yacc and Lex:: Yacc and Lex support * C++ Support:: Compiling C++ sources * Objective C Support:: Compiling Objective C sources +* Objective C++ Support:: Compiling Objective C++ sources * Unified Parallel C Support:: Compiling Unified Parallel C sources * Assembly Support:: Compiling assembly sources * Fortran 77 Support:: Compiling Fortran 77 sources @@ -5787,6 +5793,7 @@ they apply. @itemx maude_GCJFLAGS @itemx maude_LFLAGS @itemx maude_OBJCFLAGS +@itemx maude_OBJCXXFLAGS @itemx maude_RFLAGS @itemx maude_UPCFLAGS @itemx maude_YFLAGS @@ -5804,6 +5811,7 @@ Automake. These @dfn{per-target compilation flags} are @samp{_GCJFLAGS}, @samp{_LFLAGS}, @samp{_OBJCFLAGS}, +@samp{_OBJCXXFLAGS}, @samp{_RFLAGS}, @samp{_UPCFLAGS}, and @samp{_YFLAGS}. @@ -6380,6 +6388,41 @@ The command used to actually link an Objective C program. @end vtable +@node Objective C++ Support +@section Objective C++ Support + +@cindex Objective C++ support +@cindex Support for Objective C++ + +Automake includes some support for Objective C++. + +Any package including Objective C++ code must define the output variable +@code{OBJCXX} in @file{configure.ac}; the simplest way to do this is to use +the @code{AC_PROG_OBJCXX} 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: + +@vtable @code +@item OBJCXX +The name of the Objective C++ compiler. + +@item OBJCXXFLAGS +Any flags to pass to the Objective C++ compiler. + +@item AM_OBJCXXFLAGS +The maintainer's variant of @code{OBJCXXFLAGS}. + +@item OBJCXXCOMPILE +The command used to actually compile an Objective C++ source file. The +file name is appended to form the complete command line. + +@item OBJCXXLINK +The command used to actually link an Objective C++ program. +@end vtable + + @node Unified Parallel C Support @section Unified Parallel C Support @@ -6645,6 +6688,9 @@ parentheses are the variables containing the link command.) @vindex GCJLINK Native Java (@code{GCJLINK}) @item +@vindex OBJCXXLINK +Objective C++ (@code{OBJCXXLINK}) +@item @vindex CXXLINK C++ (@code{CXXLINK}) @item @@ -6854,7 +6900,9 @@ source file. @section Support for Other Languages Automake currently only includes full support for C, C++ (@pxref{C++ -Support}), Objective C (@pxref{Objective C Support}), Fortran 77 +Support}), Objective C (@pxref{Objective C Support}), +Objective C++ (@pxref{Objective C++ Support}), +Fortran 77 (@pxref{Fortran 77 Support}), Fortran 9x (@pxref{Fortran 9x Support}), and Java (@pxref{Java Support with gcj}). There is only rudimentary support for other languages, support for which will be improved based @@ -12194,6 +12242,7 @@ flags, not appended. @cindex @code{AM_LFLAGS} and @code{LFLAGS} @cindex @code{AM_LIBTOOLFLAGS} and @code{LIBTOOLFLAGS} @cindex @code{AM_OBJCFLAGS} and @code{OBJCFLAGS} +@cindex @code{AM_OBJCXXFLAGS} and @code{OBJXXCFLAGS} @cindex @code{AM_RFLAGS} and @code{RFLAGS} @cindex @code{AM_UPCFLAGS} and @code{UPCFLAGS} @cindex @code{AM_YFLAGS} and @code{YFLAGS} @@ -12208,6 +12257,7 @@ flags, not appended. @cindex @code{LFLAGS} and @code{AM_LFLAGS} @cindex @code{LIBTOOLFLAGS} and @code{AM_LIBTOOLFLAGS} @cindex @code{OBJCFLAGS} and @code{AM_OBJCFLAGS} +@cindex @code{OBJCXXFLAGS} and @code{AM_OBJCXXFLAGS} @cindex @code{RFLAGS} and @code{AM_RFLAGS} @cindex @code{UPCFLAGS} and @code{AM_UPCFLAGS} @cindex @code{YFLAGS} and @code{AM_YFLAGS} @@ -12217,8 +12267,8 @@ mostly discuss @code{CPPFLAGS} in our examples, but actually the answer holds for all the compile flags used in Automake: @code{CCASFLAGS}, @code{CFLAGS}, @code{CPPFLAGS}, @code{CXXFLAGS}, @code{FCFLAGS}, @code{FFLAGS}, @code{GCJFLAGS}, @code{LDFLAGS}, -@code{LFLAGS}, @code{LIBTOOLFLAGS}, @code{OBJCFLAGS}, @code{RFLAGS}, -@code{UPCFLAGS}, and @code{YFLAGS}. +@code{LFLAGS}, @code{LIBTOOLFLAGS}, @code{OBJCFLAGS}, @code{OBJCXXFLAGS}, +@code{RFLAGS}, @code{UPCFLAGS}, and @code{YFLAGS}. @code{CPPFLAGS}, @code{AM_CPPFLAGS}, and @code{mumble_CPPFLAGS} are three variables that can be used to pass flags to the C preprocessor @@ -13124,6 +13174,7 @@ suite failures, please attach the @file{tests/test-suite.log} file. @c LocalWords: subsubsection OBJEXT esac lib LTLIBRARIES liblob LIBADD AR ar @c LocalWords: ARFLAGS cru ing maude libgettext lo LTLIBOBJS rpath SGI PRE yy @c LocalWords: libmaude CCLD CXXFLAGS FFLAGS LFLAGS OBJCFLAGS RFLAGS DEFS cc +@c LocalWords: OBJCXXFLAGS @c LocalWords: SHORTNAME vtable srcdir nostdinc basename yxx cxx ll lxx gdb @c LocalWords: lexers yymaxdepth maxdepth yyparse yylex yyerror yylval lval @c LocalWords: yychar yydebug yypact yyr yydef def yychk chk yypgo pgo yyact -- 2.7.4