Fix the Winelib case.
The linking aspects have been solved by the last winebuild update -> removed from the todo list. The configure script has been updated -> removed from the todo list.
This commit is contained in:
parent
4ec10596ce
commit
09e8daf542
|
@ -40,7 +40,7 @@ winemaker \- generate a build infrastructure for compiling Windows programs on U
|
|||
.PP
|
||||
.B winemaker
|
||||
is a perl script designed to help you bootstrap the
|
||||
process of converting your Windows sources to WineLib programs.
|
||||
process of converting your Windows sources to Winelib programs.
|
||||
.PP
|
||||
In order to do this winemaker can perform the following operations:
|
||||
.PP
|
||||
|
@ -65,7 +65,7 @@ the executables and libraries you are trying to build, match them with
|
|||
source files, and generate the corresponding Makefile.in files.
|
||||
.PP
|
||||
- finally winemaker will generate a global Makefile.in file calling out to all
|
||||
the others, and a configure script customized for use with WineLib.
|
||||
the others, and a configure script customized for use with Winelib.
|
||||
.PP
|
||||
- winemaker knows about MFC-based project and will generate customized files.
|
||||
.PP
|
||||
|
@ -176,7 +176,7 @@ $ winemaker --lower-uppercase -DSTRICT
|
|||
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.
|
||||
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 global Makefile.in and
|
||||
configure.in, and run autoconf to generate the configure script.
|
||||
|
@ -186,16 +186,16 @@ The next step would be:
|
|||
$ ./configure --with-wine=/usr/local/opt/wine
|
||||
.PP
|
||||
This generates the makefiles from the Makefile.in files. The generated
|
||||
makefiles will fetch the WineLib headers and libraries from the Wine
|
||||
makefiles will fetch the Winelib headers and libraries from the Wine
|
||||
installation located in /usr/local/opt/wine.
|
||||
.PP
|
||||
And finally:
|
||||
.PP
|
||||
$ make
|
||||
.PP
|
||||
If at this point you get compilation errors (which quite likely for a
|
||||
reasonable sized project) then you should consult the WineLib User Guide to
|
||||
find tips about how to resolve them.
|
||||
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.
|
||||
.PP
|
||||
For an MFC-based project one would have run the following commands instead:
|
||||
.PP
|
||||
|
@ -212,14 +212,14 @@ $ make
|
|||
.PP
|
||||
Winemaker should support the Visual Studio project files (.dsp for newer
|
||||
versions and .mak for some older versions). This would allow it to be much
|
||||
more accurate, especially for the macro, include path and library path
|
||||
more accurate, especially for the macro, include and library path
|
||||
settings.
|
||||
.PP
|
||||
Assuming that we have the windows executable/library available, we could
|
||||
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 should have such a tool
|
||||
corresponding Winelib target. The problem is that we should have such a tool
|
||||
available under the Wine license first.
|
||||
.PP
|
||||
The wrapper code should be generic, i.e. you should be able to have just one
|
||||
|
@ -229,21 +229,12 @@ Furthermore it is not very good at finding the library containing the
|
|||
executable: it must either be in the current directory or in the
|
||||
.IR LD_LIBRARY_PATH .
|
||||
.PP
|
||||
The current way we link with libraries is not very good: with link, in the
|
||||
Unix sense, with all of them, and with none in the WineLib sense. But we
|
||||
lack a good means of detecting which libraries we should link with.
|
||||
Furthermore this area will change significantly when winebuild make sit
|
||||
possible to really link in the WineLib sense (i.e. via the spec file).
|
||||
.PP
|
||||
Work remains to be done on the configure script. Especially in the area of
|
||||
detecting headers and libraries that are already in the include/library path.
|
||||
.PP
|
||||
Winemaker does not support message files and the message compiler yet.
|
||||
.PP
|
||||
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
The WineLib User Guide:
|
||||
The Winelib User Guide:
|
||||
.PP
|
||||
http://wine.codeweavers.com/docs/winelib-user/
|
||||
.PP
|
||||
|
|
Loading…
Reference in New Issue