.\" $Id: klcc.1,v 1.3 2005/04/19 23:27:46 hpa Exp $
.\" -----------------------------------------------------------------------
.\"
.\"   Copyright 2005 H. Peter Anvin - All Rights Reserved
.\"
.\"   Permission is hereby granted, free of charge, to any person
.\"   obtaining a copy of this software and associated documentation
.\"   files (the "Software"), to deal in the Software without
.\"   restriction, including without limitation the rights to use,
.\"   copy, modify, merge, publish, distribute, sublicense, and/or
.\"   sell copies of the Software, and to permit persons to whom
.\"   the Software is furnished to do so, subject to the following
.\"   conditions:
.\"
.\"   The above copyright notice and this permission notice shall
.\"   be included in all copies or substantial portions of the Software.
.\"
.\"   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
.\"   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
.\"   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
.\"   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
.\"   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
.\"   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
.\"   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
.\"   OTHER DEALINGS IN THE SOFTWARE.
.\"
.\" -----------------------------------------------------------------------

.TH klcc "1" "1 March 2005" "klibc" "H. Peter Anvin"
.SH NAME
klcc \- compile a program against klibc
.SH SYNOPSIS
.B klcc
[\fIgcc options\fP]
[\fB\-o\fP \fIoutfile\fP]
\fIinfile...\fP
.SH DESCRIPTION
.PP
.B klcc
is a wrapper around
.BR gcc (1)
and
.BR ld (1)
which compiles and links a program against the
.B klibc
tiny C library.  It supports most
.B gcc
options.
.PP
Unlike
.BR gcc ,
.B klcc
compiles with optimization on by default.  Furthermore, the
optimization level used depends on whether or not
.B \-g
is specified, since
.B klcc
frequently uses options in the normal case which makes debugging
impossible.  Therefore, compile without
.BR \-g ,
.BR \-O ,
.B \-f
or
.B \-m
option to use the default optimization level; this will generally
result in the smallest binaries.  You may want to use
.B \-s
when linking, however.  Use
.B \-O0
to compile without any optimization whatsoever; this may not work depending
on the version of
.B gcc
used.
.TP
.B \-nostdinc
allows to turn off klibc include files.
.PP
Use the
.B \-shared
or
.B \-static
option to compile for and link against shared or static klibc.  Note
that shared klibc only supports running against the exact same klibc
binary as the binary was linked with.
.PP
In addition to standard
.B gcc
options,
.B klcc
supports options of the form \fB\-print-klibc-\fP\fIoption\fP,
which prints the corresponding klibc configuration option.
.SH AUTHOR
Written by H. Peter Anvin <hpa@zytor.com>.
.SH COPYRIGHT
Copyright \(co 2005 H. Peter Anvin \- All Rights Reserved
.PP
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom
the Software is furnished to do so, subject to the following
conditions:
.PP
The above copyright notice and this permission notice shall
be included in all copies or substantial portions of the Software.
.PP
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
.SH "SEE ALSO"
.BR gcc (1)
