diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 16:49:47 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 16:49:47 +0300 |
commit | b41b9034225ab3e49980d9de55c141011b6383b0 (patch) | |
tree | 891014b4c2e803e01ac7a1fd2b60819fbc5a6e73 /sys/man/1/pcc | |
parent | c558a99e0be506a9abdf677f0ca4490644e05fc1 (diff) |
Import sources from 2011-03-30 iso image - sys/man
Diffstat (limited to 'sys/man/1/pcc')
-rwxr-xr-x | sys/man/1/pcc | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/sys/man/1/pcc b/sys/man/1/pcc new file mode 100755 index 000000000..fd7acd916 --- /dev/null +++ b/sys/man/1/pcc @@ -0,0 +1,185 @@ +.TH PCC 1 +.SH NAME +pcc \- APE C compiler driver +.SH SYNOPSIS +.B pcc +[ +.I option ... +] +[ +.I name ... +] +.SH DESCRIPTION +.I Pcc +compiles and loads C programs, +using APE (ANSI C/POSIX) include files and libraries. +Named files ending with +.B .c +are preprocessed with +.IR cpp (1), +then compiled with one of the compilers described in +.IR 2c (1), +as specified by the environment variable +.BR $objtype . +The object files are then loaded using one of the loaders described in +.IR 2l (1). +The options are: +.TP \w'\fL-D\ \fIname=def\ 'u +.B "-+ +Accept C++ +.B // +comments. +.TP +.BI -o " out" +Place loader output in file +.I out +instead of the default +.BR 2.out , +.BR v.out , +etc. +.TP +.B -P +Omit the compilation and loading phases; +leave the result of preprocessing +.IB name .c +in +.IB name .i\f1. +.TP +.B -E +Like +.BR -P , +but send the result to standard output. +.TP +.B -c +Omit the loading phase. +.TP +.B -p +Insert profiling code into the executable output. +.TP +.B -w +Print compiler warning messages. +.TP +.BI -l lib +Include +.BI / $objtype /lib/ape/lib lib .a +as a library during the linking phase. +.TP +.B -B +Don't complain about functions used without +ANSI function prototypes. +.TP +.B -V +Enable +.B void* +conversion warnings, as in +.IR 2c (1). +.TP +.B -v +Echo the preprocessing, compiling, and loading commands +before they are executed. +.TP +.BI -D name=def +.br +.ns +.TP +.BI -D name +Define the +.I name +to the preprocessor, +as if by +.LR #define . +If no definition is given, the name is defined as +.LR 1 . +.TP +.BI -U name +Undefine the +.I name +to the preprocessor, +as if by +.LR #undef . +.TP +.BI -I dir +.L #include +files whose names do not begin with +.L / +are always +sought first in the directory +of the +.I file +argument, +then in directories named in +.B -I +options, +then in +.BR /$objtype/include/ape . +.TP +.B -N +Don't optimize compiled code. +.TP +.B -S +Print an assembly language version of the object code +on standard output. +.TP +.B -a +Instead of compiling, print on standard output acid functions (see +.IR acid (1)) +for examining structures declared in the source files. +.TP +.B -aa +Like +.B -a +except that functions for structures declared in included header files +are omitted. +.TP +.B -F +Enable vararg type checking as described in +.IR 2c (1). +This is of limited use without the appropriate +.B #pragma +definitions. +.PP +The APE environment contains all of the include +files and library routines specified in the ANSI C standard +(X3.159-1989), as well as those specified in the IEEE Portable +Operating System Interface standard (POSIX, 1003.1-1990, ISO 9945-1). +In order to access the POSIX routines, source programs should +define the preprocessor constant +.BR _POSIX_SOURCE . +.SH FILES +.TF /$objtype/lib/ape/libap.a +.TP +.B /sys/include/ape +directory for machine-independent +.B #include +files. +.TP +.B /$objtype/include/ape +directory for machine-dependent +.B #include +files. +.TP +.B /$objtype/lib/ape/libap.a +ANSI C/POSIX library. +.SH "SEE ALSO" +.IR cpp (1), +.IR 2c (1), +.IR 2a (1), +.IR 2l (1), +.IR mk (1), +.IR nm (1), +.IR acid (1), +.IR db (1), +.IR prof (1) +.PP +Howard Trickey, +``APE \(em The ANSI/POSIX Environment'' +.SH SOURCE +.B /sys/src/cmd/pcc.c +.SH BUGS +The locale manipulation functions are minimal. +Signal functions and terminal characteristic +handlers are only minimally implemented. +.IR Link +always fails, because Plan 9 doesn't support multiple links to a file. +The functions related to setting effective user and group ids +cannot be implemented because the concept doesn't exist in Plan 9. |