Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
9d3019f8
Commit
9d3019f8
authored
Sep 24, 2004
by
Vincent Béron
Committed by
Alexandre Julliard
Sep 24, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Change the sample app from winemine to notepad for winemaker in the
Winelib User Guide.
parent
52373b2d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
46 additions
and
14 deletions
+46
-14
winelib-intro.sgml
documentation/winelib-intro.sgml
+46
-14
No files found.
documentation/winelib-intro.sgml
View file @
9d3019f8
...
...
@@ -87,7 +87,8 @@
<listitem>
<para>
then the case of the filenames in your include statements may be
wrong: maybe they include 'Windows.h' instead of 'windows.h'.
wrong: maybe they include <filename>Windows.h</filename> instead
of <filename>windows.h</filename>.
</para>
</listitem>
<listitem>
...
...
@@ -119,19 +120,16 @@
Winemaker is a perl script which is designed to help you bootstrap
the conversion of your Windows projects to Winelib. In order to do
this it will go analyze your code, fixing the issues listed above
and generate
autoconf-based
Makefiles.
and generate
straight
Makefiles.
</para>
<para>
Let's suppose that Wine/Winelib has been installed in the
<filename class="Directory">/usr/local/wine</filename>
directory, and that you are already in the top directory of your
Let's suppose that you are already in the top directory of your
sources. Then converting your project to Winelib may be as simple
as just running the three commands below (note the dot indicating
current directory at the end of the first command):
</para>
<programlisting>
$ winemaker --lower-uppercase .
$ ./configure --with-wine=/usr/local/wine
$ make
</programlisting>
...
...
@@ -146,28 +144,62 @@
<para>
Before starting to work on a big project you may want to try to port a
small application. The
winemine
application from the Wine source tree
small application. The
notepad
application from the Wine source tree
suits well for testing purposes. It can be found in the programs
subdirectory.
winemine
is a simple application, but has a few C,
subdirectory.
notepad
is a simple application, but has a few C,
header and resource files.
</para>
<para>
Run <command>make clean</command> in the
winemine
source directory if it contains results of previous builds.
Create a separate directory with name
winemine
2, so it won't conflict
with the Wine copy of the application. Copy the sources of
winemine
notepad
source directory if it contains results of previous builds.
Create a separate directory with name
notepad
2, so it won't conflict
with the Wine copy of the application. Copy the sources of
notepad
(files *.c, *.h, *.rc) to this directory. Now run the commands,
mentioned above from the
winemine
2 directory:
mentioned above from the
notepad
2 directory:
</para>
<programlisting>
$ winemaker --lower-uppercase .
$ ./configure --with-wine=/usr/local/wine
$ make
</programlisting>
<para>
Notice how the build fails in a resource file
(<filename>Da.rc</filename> at the time this was written).
This is because for the time being, the Wine resource compiler
(<command>windres</command>) can't cope with more than one
resource file ending up in a given executable. To get around
that limitation, the Wine developers have chosen to only have
one master resource file per application, and include the
other ones via <literal>#include</literal> statements in the
master one. The included files do not
<literal>#include</literal> the necessary files to be
compilable on their own. You will need to do the same thing
for now in your own Winelib port projects.
</para>
<para>
To fix that problem, you will need to edit the list of
resource files winemaker thought notepad used, and only keep
the master resource file. To do so, open
<filename>notepad2/Makefile</filename> in a text editor and
search for an assignment to a variable with
<literal>RC_SRCS</literal> as part of its name. It will likely
be named <literal>notepad2_exe_RC_SRCS</literal>. There will
be a list of resource files starting on the same line. Remove
them all except <filename>rsrc.rc</filename> (this is the
master one for notepad). Save your work.
</para>
<para>
Now you're ready to continue at the same point the first
<command>make</command> failed. Return to the notepad2
directory and type:
</para>
<programlisting>
$ make
</programlisting>
<para>
You are done! Now you can start the application as
<command>./
winemine
2</command>.
<command>./
notepad
2</command>.
</para>
<para>
If you come across problems preparing and building this application
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment