.\" Copyright (c) 2002-2004 The TenDRA Project .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $TenDRA: tendra/src/man/producers/tcpplus.1,v 1.4 2004/08/09 05:04:51 verm Exp $ .\" .TH "tcpplus" "1" "Sun 08 Aug 2004, 19:59" "tcpplus 1.8.2" "TenDRA 5.0.0" .SH "NAME" .PP \fBtcpplus\fP - C++ to TDF/ANDF producer .SH "SYNOPSIS" .PP \fBtcpplus\fP [\fIoptions\fP] [\fIinput-file\fP] [\fIoutput-file\fP] .SH "DESCRIPTION" .PP In its default action, \fBtcpplus\fP translates the input C++ source file, \fIinput-file\fP, into a TDF/ANDF capsule, \fIoutput-file\fP\&. If the output file name is omitted or is \fI-\fP, the standard output is used\&. If the input file name is omitted or is \fI-\fP, the standard input is used\&. .PP By use of the \fB-s\fP\fIspec-file\fP option, \fBtcpplus\fP can additionally be made to output a C++ spec file which contains information enabling intermodule analysis to be performed\&. Alternatively usage and error information suitable for processing by other tools can be output using the \fB-d\fP\fIopt\fP\fI=\fP\fIdump-file\fP option\&. .PP \fBtcpplus\fP also has a preprocessing action, when invoked with the \fB-E\fP option, in which the input C++ source file, \fIinput-file\fP, is preprocessed to an output file, \fIouput-file\fP\&. .PP Finally \fBtcpplus\fP has a spec linker action, when invoked with the \fB-S\fP option, in which any number of spec input files, \fIinput-file\fP, are combined into a spec output file, which may be specified using the \fB-s\fP option\&. Any extra code generation resulting from this linking phase is written to the TDF capsule, \fIoutput-file\fP\&. .PP It is recommended that \fBtcpplus\fP is invoked via \fBtcc\fP\fB(1)\fP\&. The \fB-Yc++\fP option is required to enable the C++ capabilities\&. Files with a \f(CW\&.C\fP suffix are recognised as C++ source files\&. Options can be passed directly to \fBtcpplus\fP using the \fB-Wx,\fP\fIopt\fP option to \fItcc\fP\&. .SH "OPTIONS" .PP The command-line options can appear in any order and can be interspersed with the input and output files\&. All the multi-part options can be given either as one or two command-line arguments, so that \fB-I\fP\fIdir\fP and \fB-I\fP\fIdir\fP are equivalent\&. Most of the option handling required is handled by \fBtcc\fP\fB(1)\fP when this is being used, but options may be passed directly to \fBtcpplus\fP using the \fB-Wx,\fP\fIopt\fP option\&. .IP "\fB-A\fP\fIpredicate\fP\fI(\fP\fItokens\fP\fI)\fP" 5 Asserts that the given predicate is true\&. The special case \fB-A-\fP undefines all the built-in predicates (of which there are none)\&. .IP "\fB-D\fP\fImacro\fP" 5 Defines the given macro to be 1\&. .IP "\fB-D\fP\fImacro\fP\fI=\fP\fItokens\fP" 5 Defines the given macro to be the given sequence of preprocessing tokens\&. .IP "\fB-E\fP" 5 Enables preprocessing mode in which the input C++ source file is preprocessed into the output file\&. .IP "\fB-F\fP\fIfile\fP" 5 Causes a list of options to be read from \fIfile\fP\&. .IP "\fB-H\fP" 5 Enables verbose inclusion mode in which warnings are printed at the start and the end of each included source file\&. .IP "\fB-I\fP\fIdirectory\fP" 5 Adds the given directory to the list searched by \fBtcpplus\fP for included source files\&. No such directories are built into \fBtcpplus\fP\&. .IP "\fB-M\fP" 5 To be documented\&. .IP "\fB-N\fP\fIname\fP\fI:\fP\fIdirectory\fP" 5 Is identical to \fB-I\fP\fIdirectory\fP except that it also associates the given identifier with the directory\&. .IP "\fB-O\fP" 5 To be documented\&. .IP "\fB-q\fP" 5 Causes \fBtcpplus\fP to quit immediately without processing its input file\&. This is useful primarily in version and option queries\&. .IP "\fB-R\fP" 5 To be documented\&. .IP "\fB-S\fP" 5 Enables spec linker mode in which any number of C++ spec input files are linked into a single C++ spec output file\&. .IP "\fB-U\fP\fImacro\fP" 5 Undefines the given macro\&. The special case \fB-U-\fP undefines all the built-in macros\&. These are \fI__FILE__\fP, \fI__LINE__\fP, \fI__TIME__\fP, \fI__DATE__\fP, \fI__STDC__\fP, \fI__STDC_VERSION__\fP, and \fI__cplusplus\fP\&. .IP "\fB-V\fP" 5 Causes \fBtcpplus\fP to print its version number\&. .IP "\fB-W\fP\fIoption\fP" 5 Causes \fBtcpplus\fP to print a warning in the circumstances described by \fIoption\fP\&. The special case \fB-Wall\fP enables a wide range of warnings\&. .IP "\fB-X\fP" 5 Disables exception handling\&. The current implementation can be a large run-time overhead if not required\&. The effect of linking any module compiled with this option with a module which throws an exception is undefined\&. This is equivalent to \fB-j-e\fP\&. .IP "\fB-Z\fP\fInumber\fP" 5 Sets the maximum number of errors printed by \fBtcpplus\fP before bailing out to be \fInumber\fP\&. The default is 32\&. .IP "\fB-a\fP" 5 Causes \fBtcpplus\fP to apply complete program analysis to its input files\&. That is it assumes that no other translation units need to be linked in order for the program to execute\&. .IP "\fB-b\fP" 5 To be documented\&. .IP "\fB-c\fP" 5 Disables TDF output\&. The output file will still be a valid TDF capsule, only it will contain no information\&. This is equivalent to \fB-j-c\fP\&. .IP "\fB-d\fP\fIopt\fP\fI=\fP\fIdump-file\fP" 5 Causes \fBtcpplus\fP to dump information about its input file into \fIdump-file\fP\&. \fIopt\fP is a series of characters describing the information to be dumped; \fIc\fP for string literals, \fIe\fP for errors, \fIh\fP for header files, \fIk\fP for keywords, \fIl\fP for local variables, \fIm\fP for macros, \fIs\fP for scopes, and \fIu\fP for usage\&. \fIa\fP is equivalent to \fIehlmu\fP\&. .IP "\fB-e\fP\fIfile\fP" 5 Specifies the given file as an end-up file\&. This is equivalent to adding a \fI#include\fP directive for this file at the end of the input source file\&. .IP "\fB-f\fP\fIfile\fP" 5 Specifies the given file as a start-up file\&. This is equivalent to adding a \fI#include\fP directive for this file at the start of the input source file\&. .IP "\fB-g\fP" 5 Specifies that the output TDF capsule should also contain information to allow for the generation of run-time debugging directives\&. This is equivalent to \fB-jg\fP\&. .IP "\fB-h\fP" 5 Causes \fBtcpplus\fP to print a full list of its available command-line options\&. This includes a number not documented here which are unlikely to prove useful to the normal user\&. .IP "\fB-i\fP\fIopt\fP" 5 Print dependency information usable for make(1)\&. Passing -iM causes all headers to be printed, passing -iMM causes only those headers between double quotes to be printed\&. The default suffix for object files is \&.o and can be overridden with -iO\fIext\fP\&. .IP "\fB-j\fP\fIopt\fP" 5 Sets the TDF output options given by \fIopt\fP\&. .IP "\fB-m\fP\fIopt\fP" 5 Sets the error formatting options given by \fIopt\fP\&. .IP "\fB-n\fP\fIport-table\fP" 5 Specifies that the given portability table should be used to specify the basic configuration parameters\&. .IP "\fB-o\fP\fIoutput-file\fP" 5 Gives an alternative method of specifying the output file\&. .IP "\fB-r\fP" 5 To be documented\&. .IP "\fB-s\fP\fIspec-file\fP" 5 Causes \fBtcpplus\fP to write a C++ spec file describing the input source file to \fIspec-file\fP\&. .IP "\fB-t\fP" 5 Specifies that \fBtcpplus\fP should include token declarations in its output TDF capsule\&. While these are strictly unnecessary, they help when pretty-printing the output\&. This is equivalent to \fB-jt\fP\&. .IP "\fB-u\fP\fI name \&.\&.\&. name\fP" 5 Causes \fBtcpplus\fP to print the unmangle forms of the given mangled identifier names\&. .IP "\fB-v\fP" 5 Causes \fBtcpplus\fP to print the name of each function to the standard output as it is compiled\&. .IP "\fB-w\fP" 5 Disables all warning messages\&. This is equivalent to \fB-mw\fP\&. .IP "\fB-x\fP" 5 To be documented\&. .IP "\fB-z\fP" 5 Forces \fBtcpplus\fP to produce an output file even if compilation errors occur\&. The effect of installing a TDF capsule produced using this option is undefined\&. This is equivalent to \fB-mz\fP\&. .SH "SEE ALSO" .PP \fBtcc\fP\fB(1)\fP, \fBtdfc2\fP\fB(1)\fP\&. ...\" created by instant / docbook-to-man, Sun 08 Aug 2004, 19:59