winemaker man page on aLinux

Man page or keyword search:  
man Server   7435 pages
apropos Keyword Search (all sections)
Output format
aLinux logo
[printable version]

WINEMAKER(1)		    Wine Developers Manual		  WINEMAKER(1)

NAME
       winemaker  - generate a build infrastructure for compiling Windows pro‐
       grams on Unix

SYNOPSIS
       winemaker [ --nobanner ] [ --backup | --nobackup ] [ --nosource-fix ]
	 [ --lower-none | --lower-all | --lower-uppercase ]
	 [ --lower-include | --nolower-include ] [ --mfc | --nomfc ]
	 [ --guiexe | --windows | --cuiexe | --console | --dll ]
	 [ -Dmacro[=defn] ] [ -Idir ] [ -Pdir ] [ -idll ] [ -Ldir  ]  [	 -lli‐
       brary ]
	 [  --nodlls ] [ --nomsvcrt ] [ --interactive ] [ --single-target name
       ]
	 [ --generated-files ] [ --nogenerated-files ] ]
	 [ --wine32 ]
	 work_directory | project_file | workspace_file

DESCRIPTION
       winemaker is a perl script designed to help you bootstrap  the  process
       of converting your Windows sources to Winelib programs.

       In order to do this winemaker can perform the following operations:

       -  rename  your	source files and directories to lowercase in the event
       they got all uppercased during the transfer.

       - perform Dos to Unix (CRLF to LF) conversions.

       - scan the include statements and resource file references  to  replace
       the backslashes with forward slashes.

       -  during the above step winemaker will also perform a case insensitive
       search of the referenced file in	 the  include  path  and  rewrite  the
       include statement with the right case if necessary.

       -  winemaker  will  also	 check	other more exotic issues like '#pragma
       pack' usage, use of "afxres.h" in non MFC projects, and more.  Whenever
       it  encounters  something  out of the ordinary, winemaker will warn you
       about it.

       - winemaker can also scan a complete directory tree at once, guess what
       are  the	 executables and libraries you are trying to build, match them
       with source files, and generate the corresponding Makefile.

       - finally winemaker will generate a global Makefile for normal use.

       - winemaker knows about MFC-based project and will generate  customized
       files.

       -  winemaker  can  read	existing  project files. It supports dsp, dsw,
       vcproj and sln files.

OPTIONS
       --nobanner
	      Disables the printing of the banner.

       --backup
	      Directs winemaker to perform a backup of all the source files in
	      which it makes changes. This is the default.

       --nobackup
	      Tells winemaker not to backup modified source files.

       --nosource-fix
	      Directs  winemaker  not to try fixing the source files (e.g. Dos
	      to Unix conversion). This prevents complaints if the  files  are
	      readonly.

       --lower-all
	      Tells  winemaker	to  rename all files and directories to lower‐
	      case.

       --lower-uppercase
	      Tells winemaker to only rename files and directories  that  have
	      an  all  uppercase  name.	 So "HELLO.C" would be renamed but not
	      "World.c".

       --lower-none
	      Tells winemaker not to rename files  and	directories  to	 lower
	      case.  Note that this does not prevent the renaming of a file if
	      its extension cannot be handled as is, e.g. ".Cxx". This is  the
	      default.

       --lower-include
	      Tells  winemaker that if it does not find the file corresponding
	      to an include statement (or other form  of  file	reference  for
	      resource	files), then it should convert that filename to lower‐
	      case. This is the default.

       --nolower-include
	      Tells winemaker not to modify the include statement if it cannot
	      find the referenced file.

       --guiexe | --windows
	      Specifies that whenever winemaker finds an executable target, or
	      a target of unknown type, it should assume that it is a  graphi‐
	      cal application.	This is the default.

       --cuiexe | --console
	      Specifies that whenever winemaker finds an executable target, or
	      a target of unknown type, it should assume that it is a  console
	      application.

       --dll  This  option  tells winemaker that whenever it finds a target of
	      unknown type, i.e. for which it does not know whether it	is  an
	      executable or a library, it should assume it is a library.

       --mfc  Specifies	 that  the targets are MFC based. In such a case wine‐
	      maker adapts the include	and  library  paths  accordingly,  and
	      links the target with the MFC library.

       --nomfc
	      Specifies	 that  targets are not MFC-based. This option disables
	      use  of  MFC  libraries  even  if	 winemaker  encounters	 files
	      "stdafx.cpp"  or	"stdafx.h"  that  would cause it to enable MFC
	      automatically if neither --nomfc nor --mfc was specified.

       -Dmacro[=defn]
	      Adds the specified macro definition to the global list of	 macro
	      definitions.

       -Idir  Appends the specified directory to the global include path.

       -Pdir  Appends the specified directory to the global dll path.

       -idll  Adds the Winelib library to the global list of Winelib libraries
	      to import.

       -Ldir  Appends the specified directory to the global library path.

       -llibrary
	      Adds the specified library to the global list  of	 libraries  to
	      link with.

       --nodlls
	      This  option  tells  winemaker  not  to  use the standard set of
	      winelib libraries for imports. That is, any DLL your  code  uses
	      must  be	explicitly  passed  to winemaker with -i options.  The
	      standard	set  of	 libraries   is:   odbc32.dll,	 odbccp32.dll,
	      ole32.dll, oleaut32.dll and winspool.drv.

       --nomsvcrt
	      Sets some options to tell winegcc not to compile against msvcrt.
	      Use this option if you have cpp-files that include <string>.

       --interactive
	      Puts winemaker in interactive mode. In this mode winemaker  will
	      ask you to confirm each directory's list of targets, and then to
	      provide directory and target specific options.

       --single-target name
	      Specifies that there is only one target, and that it  is	called
	      "name".

       --generated-files
	      Tells winemaker to generate the Makefile. This is the default.

       --nogenerated-files
	      Tells winemaker not to generate the Makefile.

       --wine32
	      Tells  winemaker	to generate a 32-bit target. This is useful on
	      wow64 systems.  Without that option the default architecture  is
	      used.

EXAMPLES
       Here is a typical winemaker use:

       $ winemaker --lower-uppercase -DSTRICT .

       The  above tells winemaker to scan the current directory and its subdi‐
       rectories for source files. Whenever if finds a file or directory which
       name is all uppercase, it should rename it to lowercase. It should then
       fix all these source files for compilation with	Winelib	 and  generate
       Makefiles.   The '-DSTRICT' specifies that the STRICT macro must be set
       when compiling these sources. Finally winemaker will create a Makefile.

       The next step would be:

       $ make

       If at this point you get compilation errors (which is quite likely  for
       a  reasonably  sized  project) then you should consult the Winelib User
       Guide to find tips on how to resolve them.

       For an MFC-based project you would have to run the  following  commands
       instead:

       $ winemaker --lower-uppercase --mfc .
       $ make

       For  an	existing project-file you would have to run the following com‐
       mands:

       $ winemaker myproject.dsp
       $ make

TODO / BUGS
       In some cases you will have to edit the Makefile	 or  source  files  by
       yourself.

       Assuming that the windows executable/library is available, we could use
       winedump to determine what kind of executable it is (graphical or  con‐
       sole),  which  libraries	 it  is	 linked	 with,	and which functions it
       exports (for libraries). We could then restore all these	 settings  for
       the corresponding Winelib target.

       Furthermore  winemaker is not very good at finding the library contain‐
       ing the executable: it must either be in the current  directory	or  in
       the LD_LIBRARY_PATH.

       Winemaker does not support message files and the message compiler yet.

SEE ALSO
       The Winelib User Guide:

       http://www.winehq.org/docs/winelib-guide/index

       wine(1)

AUTHORS
       François Gouget for CodeWeavers

       Dimitrie O. Paun

       André Hentschel

Wine 1.2.2			   Sep 2009			  WINEMAKER(1)
[top]

List of man pages available for aLinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net