.TH WINEGCC 1 "October 2005" "@PACKAGE_STRING@" "Wine Developers Manual"
.SH NAME
winegcc \- Wine C and C++ MinGW Compatible Compiler
.SH SYNOPSIS
.B winegcc
.RI [ options "] " infile\fR...
.SH DESCRIPTION
.B winegcc 
is a gcc wrapper which tries to provide a MinGW compatible compiler 
under Linux. This is most useful to Win32 developers who can simply 
take their MinGW code from Windows, and recompile it without 
modifications under Winelib on Linux. 
wineg++ accepts mostly the same options as winegcc.
.PP
The goal of winegcc is to be able to simply replace gcc/g++/windres
with winegcc/wineg++/wrc in a MinGW Makefile, and just recompile
the application using Winelib under Wine. While typically there are 
small adjustments that must be made to the application source code 
and/or Makefile, it is quite easy to do them in a fashion that is
compatible between the MinGW and Wine environments.
.PP
This manual will document only the differences from gcc; please consult
the gcc manual for more information on those options.
.PP
.SH OPTIONS
.B gcc options:
All gcc options are supported, and are passed along to the backend
compiler.
.IP "\fB-B\fIprefix\fR"
This option specifies where to find the executables, libraries,
include files, and data files of the compiler itself. This is a 
standard gcc option that has been extended to recognize a 
\fIprefix\fR ending with '/tools/winebuild', in which case winegcc 
enters a special mode for building Wine itself. Developers should 
avoid prefixes ending with the magic suffix, or if that is not 
possible, simply express it differently, such as '/tools/winebuild/',
to avoid the special behaviour.
.IP \fB-fno-short-wchar\fR
Override the underlying type for wchar_t to be the default for the 
target, instead of using short unsigned int, which is the default 
for Win32.
.IP \fB-mconsole\fR
This option passes '--subsystem console' to winebuild, to build
console applications. It is the default.
.IP \fB-mno-cygwin\fR
Use Wine implementation of MSVCRT, instead of linking against
the host system libc. This is necessary for the vast majority
of Win32 applications, as they typically depend on various features
of MSVCRT. This switch is also used by the MinGW compiler to link
against MSVCRT on Windows, instead of linking against Cygwin
libc. Sharing the syntax with MinGW makes it very easy to write 
Makefiles that work under Wine, MinGW+MSYS, or MinGW+Cygwin.
.IP \fB-municode\fR
Set the default entry point of the application to be the Unicode
\fBwmain()\fR instead of the standard \fBmain()\fR.
.IP \fB-mwindows\fR
This option adds -lgdi32, -lcomdlg32, and -lshell32 to the list of
default libraries, and passes '--subsystem windows' to winebuild
to build graphical applications.
.IP \fB-nodefaultlibs\fR
Do not use the standard system libraries when linking. These
include at a minimum -lkernel32, -luser32, -ladvapi32, and 
any default libraries used by the backend compiler. The -mwindows
option augments the list of default libraries as described above.
.IP \fB-nostartfiles\fR
Do not add the winecrt0 library when linking.
.IP \fB-Wb,\fIoption\fR
Pass an option to winebuild.  If \fIoption\fR contains
commas, it is split into multiple options at the commas.
.SH ENVIRONMENT
.TP
.B WINEBUILD
Specifies the path and name of the \fBwinebuild\fR binary that will be
launched automatically by \fBwinegcc\fR.
If not set, \fBwinegcc\fR will look for a file named \fIwinebuild\fR
in the path.
.SH DEFINES
winegcc defines __WINE__, for code that needs to know when it is
being compiled under Wine. It also defines WIN32, _WIN32, __WIN32, 
__WIN32__, __WINNT, and __WINNT__ for compatibility with MinGW.
.SH BUGS
The dllimport/dllexport attributes are not supported at the moment,
due to lack of support for these features in the ELF version of gcc.
.PP
Static linking is not currently supported against Wine DLLs. As a
result, the -static, --static, and -Wl,-static options will generate
an error.
.PP
Bugs can be reported on the
.UR http://bugs.winehq.org
.B Wine bug tracker
.UE .
.SH AUTHORS
.B winegcc
was written by Dimitrie O. Paun.
.SH AVAILABILITY
.B winegcc
is part of the Wine distribution, which is available through WineHQ,
the
.UR http://www.winehq.org/
.B Wine development headquarters
.UE .
.SH "SEE ALSO"
.BR gcc (1),
.BR winebuild (1),
.BR wrc (1),
.BR wine (1),
.br
.UR http://www.winehq.org/help
.B Wine documentation and support
.UE .
