|  | .\" -*- nroff -*- | 
|  | .TH WINEGCC 1 "October 2005" "@PACKAGE_STRING@" "Wine Developers Manual" | 
|  | .SH NAME | 
|  | winegcc \- Wine C and C++ MinGW Compatible Compiler | 
|  | .SH SYNOPSIS | 
|  | .BR "winegcc "\fI[options]\fR " \fIinfile\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's implementation of MSVCRT, instead of linking against | 
|  | the host system's 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's | 
|  | 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,option\fR | 
|  | Pass option as an option to winebuild.  If option contains | 
|  | commas, it is split into multiple options at the commas. | 
|  | .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's DLL. As a | 
|  | result, the -static, --static, and -Wl,-static options will generate | 
|  | an error. | 
|  | .SH AUTHORS | 
|  | .B winegcc | 
|  | was written by Dimitrie O. Paun. | 
|  | .SH "SEE ALSO" | 
|  | .BR gcc(1), | 
|  | .BR winebuild(1), | 
|  | .BR wrc(1), | 
|  | .BR wine(1), | 
|  | .BR "Winelib User Guide", | 
|  | .BR "Wine Developers Guide". |