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
|
.PP
|
||||||
.B winemaker
|
.B winemaker
|
||||||
is a perl script designed to help you bootstrap the
|
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
|
.PP
|
||||||
In order to do this winemaker can perform the following operations:
|
In order to do this winemaker can perform the following operations:
|
||||||
.PP
|
.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.
|
source files, and generate the corresponding Makefile.in files.
|
||||||
.PP
|
.PP
|
||||||
- finally winemaker will generate a global Makefile.in file calling out to all
|
- 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
|
.PP
|
||||||
- winemaker knows about MFC-based project and will generate customized files.
|
- winemaker knows about MFC-based project and will generate customized files.
|
||||||
.PP
|
.PP
|
||||||
|
@ -176,7 +176,7 @@ $ winemaker --lower-uppercase -DSTRICT
|
||||||
The above tells winemaker to scan the current directory and its
|
The above tells winemaker to scan the current directory and its
|
||||||
subdirectories for source files. Whenever if finds a file or directory which
|
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
|
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
|
The '-DSTRICT' specifies that the STRICT macro must be set when compiling
|
||||||
these sources. Finally winemaker will create a global Makefile.in and
|
these sources. Finally winemaker will create a global Makefile.in and
|
||||||
configure.in, and run autoconf to generate the configure script.
|
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
|
$ ./configure --with-wine=/usr/local/opt/wine
|
||||||
.PP
|
.PP
|
||||||
This generates the makefiles from the Makefile.in files. The generated
|
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.
|
installation located in /usr/local/opt/wine.
|
||||||
.PP
|
.PP
|
||||||
And finally:
|
And finally:
|
||||||
.PP
|
.PP
|
||||||
$ make
|
$ make
|
||||||
.PP
|
.PP
|
||||||
If at this point you get compilation errors (which quite likely for a
|
If at this point you get compilation errors (which is quite likely for a
|
||||||
reasonable sized project) then you should consult the WineLib User Guide to
|
reasonably sized project) then you should consult the Winelib User Guide to
|
||||||
find tips about how to resolve them.
|
find tips on how to resolve them.
|
||||||
.PP
|
.PP
|
||||||
For an MFC-based project one would have run the following commands instead:
|
For an MFC-based project one would have run the following commands instead:
|
||||||
.PP
|
.PP
|
||||||
|
@ -212,14 +212,14 @@ $ make
|
||||||
.PP
|
.PP
|
||||||
Winemaker should support the Visual Studio project files (.dsp for newer
|
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
|
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.
|
settings.
|
||||||
.PP
|
.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
|
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
|
or console), which libraries it is linked with, and which functions it
|
||||||
exports (for libraries). We could then restore all these settings for the
|
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.
|
available under the Wine license first.
|
||||||
.PP
|
.PP
|
||||||
The wrapper code should be generic, i.e. you should be able to have just one
|
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
|
executable: it must either be in the current directory or in the
|
||||||
.IR LD_LIBRARY_PATH .
|
.IR LD_LIBRARY_PATH .
|
||||||
.PP
|
.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.
|
Winemaker does not support message files and the message compiler yet.
|
||||||
.PP
|
.PP
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
The WineLib User Guide:
|
The Winelib User Guide:
|
||||||
.PP
|
.PP
|
||||||
http://wine.codeweavers.com/docs/winelib-user/
|
http://wine.codeweavers.com/docs/winelib-user/
|
||||||
.PP
|
.PP
|
||||||
|
|
Loading…
Reference in New Issue