Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"

 Create an AccountHome | Submit News | Your Account  

Tutorial Menu
Linux Tutorial Home
Table of Contents

· Introduction to Operating Systems
· Linux Basics
· Working with the System
· Shells and Utilities
· Editing Files
· Basic Administration
· The Operating System
· The X Windowing System
· The Computer Itself
· Networking
· System Monitoring
· Solving Problems
· Security
· Installing and Upgrading
· Linux and Windows

Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
Copyright Info
Terms of Use
Privacy Info
Masthead / Impressum
Your Account

Private Messages

News Archive
Submit News
User Articles
Web Links


The Web

Who's Online
There are currently, 58 guest(s) and 0 member(s) that are online.

You are an Anonymous user. You can register for free by clicking here




       winemaker [ --nobanner ]  [  --backup  |  --nobackup  ]  [
       --nosource-fix ]
         [ --lower-none | --lower-all | --lower-uppercase ]
         [ --lower-include | --nolower-include ]
         [  --guiexe | --windows | --cuiexe | --console | --dll |
       --nodlls ]
         [ --wrap | --nowrap ] [ --mfc | --nomfc ]
         [ -Dmacro[=defn] ] [ -Idir ] [ -Ldir ] [ -idll] [  -lli­
       brary ]
         [ --interactive ] [ --single-target name ]
         [ --generated-files ] [ --nogenerated-files ] [ --nogen­
       erated-specs ]


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

       In order to do this winemaker can  perform  the  following

       - 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 pro­
       jects, 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 gener­
       ate the corresponding Makefile.in files.

       - finally winemaker will  generate  a  global  Makefile.in
       file calling out to all the others, and a configure script
       customized for use with Winelib.

       - winemaker knows about MFC-based project and will  gener­

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

              Tells winemaker to rename all files and directories
              to lowercase.

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

              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 han­
              dled as is, e.g. ".Cxx". This is the default.

              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 lowercase. This is
              the default.

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

       --guiexe | --windows
              Specifies  that  whenever  winemaker  finds an exe­
              cutable target, or a target  of  unknown  type,  it
              should  assume  that it is a graphical application.
              This is the default.

       --cuiexe | --console
              Specifies that whenever  winemaker  finds  an  exe­
              cutable  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.

              This option tells winemaker not to use the standard
              set of winelib libraries for imports. That is,  any
              Specifies that no wrapper should be  generated  for
              executable targets. This is the default.

       --mfc  Specifies that the targets are MFC based. In such a
              case winemaker generates a  configure  script  with
              MFC  specific  options,  modifies  the  include and
              library paths accordingly, links  the  target  with
              the  MFC  library  and generates wrappers for these
              targets that are executables.

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

              Adds the specified macro definition to  the  global
              list of macro definitions.

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

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

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

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

              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".

              Tells  winemaker  to generate the build infrastruc­
              ture files, i.e. the spec files, the wrapper files,
              the  Makefile.in files, the Make.rules.in file, the
              configure.in file and the configure script. This is
              the default.


       The  above  tells  winemaker to scan the current directory
       and its subdirectories 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 wine­
       maker will create a global Makefile.in  and  configure.in,
       and run autoconf to generate the configure script.

       The next step would be:

       $ ./configure --with-wine=/usr/local/opt/wine

       This  generates  the makefiles from the Makefile.in files.
       The generated makefiles will fetch the Winelib headers and
       libraries   from   the   Wine   installation   located  in

       And finally:

       $ 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 one would have run the following
       commands instead:

       $ winemaker --lower-uppercase --mfc
       $ ./configure --with-wine=/usr/local/opt/wine \
       $ make


       Winemaker should support the Visual Studio  project  files
       (.dsp  for  newer  versions  and  .mak for some older ver­
       sions). This would allow it  to  be  much  more  accurate,
       especially  for  the  macro, include and library path set­

       Assuming that the windows executable/library is available,
       we  could use a pedump-like tool to determine what kind of
       executable it is (graphical or console),  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. The problem is that we


       The Winelib User Guide:




       Francois Gouget <fgouget@codeweavers.com> for CodeWeavers

Version 0.5.8           September 27, 2001           WINEMAKER(1)
Help us cut cost by not downloading the whole site!
Use of automated download sofware ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and therefore is expressedly prohibited. For more details on this, take a look here



Security Code
Security Code
Type Security Code

Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.

Help if you can!

Amazon Wish List

Did You Know?
You can get all the latest Site and Linux news by checking out our news page.


Tell a Friend About Us

Bookmark and Share

Web site powered by PHP-Nuke

Is this information useful? At the very least you can help by spreading the word to your favorite newsgroups, mailing lists and forums.
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Articles are the property of their respective owners. Unless otherwise stated in the body of the article, article content (C) 1994-2013 by James Mohr. All rights reserved. The stylized page/paper, as well as the terms "The Linux Tutorial", "The Linux Server Tutorial", "The Linux Knowledge Base and Tutorial" and "The place where you learn Linux" are service marks of James Mohr. All rights reserved.
The Linux Knowledge Base and Tutorial may contain links to sites on the Internet, which are owned and operated by third parties. The Linux Tutorial is not responsible for the content of any such third-party site. By viewing/utilizing this web site, you have agreed to our disclaimer, terms of use and privacy policy. Use of automated download software ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and are therefore expressly prohibited. For more details on this, take a look here

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.10 Seconds