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
8f692f27
Commit
8f692f27
authored
Sep 15, 2003
by
Dimitrie O. Paun
Committed by
Alexandre Julliard
Sep 15, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update the porting documentation.
parent
f4866fed
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
236 deletions
+8
-236
porting.sgml
documentation/porting.sgml
+8
-236
No files found.
documentation/porting.sgml
View file @
8f692f27
...
...
@@ -6,44 +6,9 @@
<title>Porting</title>
<para>
written by ???
This document provides a few tips on porting Wine to your
favorite operating system.
</para>
<para>
(Extracted from <filename>wine/documentation/how-to-port</filename>)
</para>
<sect2>
<title>What is this?</title>
<para>
This note is a short description of:
</para>
<itemizedlist>
<listitem>
<para>
How to port Wine to your favorite operating system
</para>
</listitem>
<listitem>
<para>
Why you probably shouldn't use <symbol>#ifdef MyOS</symbol>
</para>
</listitem>
<listitem>
<para>
What to do instead.
</para>
</listitem>
</itemizedlist>
<para>
This document does not say a thing about how to port Wine to
non-386 operating systems, though. You would need a CPU
emulator. Let's get Wine into a better shape on 386 first,
OK?
</para>
</sect2>
<sect2>
<title>Why <symbol>#ifdef MyOS</symbol> is probably a mistake.</title>
...
...
@@ -90,16 +55,11 @@
bugs in header files, library functions, the compiler, ...
</para>
</listitem>
<listitem>
<para>
(you name it)
</para>
</listitem>
</itemizedlist>
<para>
You will need Gnu Autoconf, which you can get from your
friendly Gnu mirror. This program takes Wine's
<filename>configure.
in
</filename> file and produces a
<filename>configure.
ac
</filename> file and produces a
<filename>configure</filename> shell script that users use
to configure Wine to their system.
</para>
...
...
@@ -107,7 +67,11 @@
There <emphasis>are</emphasis> exceptions to the "avoid
<symbol>#ifdef MyOS</symbol>" rule. Wine, for example, needs
the internals of the signal stack -- that cannot easily be
described in terms of features.
described in terms of features. Moreover, you can not use
<filename>autoconf</filename>'s <symbol>HAVE_*</symbol>
symbols in Wine's headers, as these may be used by Winelib
users who may not be using a <filename>configure</filename>
script.
</para>
<para>
Let's now turn to specific porting problems and how to solve
...
...
@@ -248,198 +212,6 @@ AC_CHECK_HEADER(foo.h, AC_DEFINE(HAVE_FOO_H))
</sect2>
</sect1>
<sect1 id="os2-wine">
<title>Running & Compiling Wine in OS/2</title>
<para>
Written by &name-robert-pouliot; <email>&email-robert-pouliot;</email>,
January 9, 1997
</para>
<para>
(Extracted from <filename>wine/documentation/wine_os2</filename>)
</para>
<para>
If you want to help the port of Wine to OS/2, send me a
message at <email>krynos@clic.net</email> I currently don't
want beta testers. It must work before we can test it.
</para>
<para>
Here is what you need to (try to) compile Wine for OS/2:
</para>
<itemizedlist>
<listitem>
<para>
EMX 0.9c (fix 2)
</para>
</listitem>
<listitem>
<para>
XFree86 3.2 OS/2 (with development libraries)
</para>
</listitem>
<listitem>
<para>
<command>bash</command>, gnu <command>make</command>,
<command>grep</command>, <command>tar</command>,
<command>bison</command>, <command>flex</command>
</para>
</listitem>
<listitem>
<para>
<command>sed</command> (a working copy of)
</para>
</listitem>
<listitem>
<para>
<command>diff</command> and <command>patch</command>
are recommended
</para>
</listitem>
<listitem>
<para>
Lots of disk space (about 40-50 megs after EMX and XFree installed)
</para>
</listitem>
</itemizedlist>
<para>
To compile:
</para>
<screen>
<prompt>$ </prompt><userinput>sh</userinput>
<prompt>$ </prompt><userinput>tools/make_os2.sh</userinput>
<prompt>$ </prompt><userinput>make depend</userinput>
<prompt>$ </prompt><userinput>make</userinput>
<prompt>$ </prompt><userinput>emxbind wine</userinput>
</screen>
<para>
Currently:
</para>
<itemizedlist>
<listitem>
<para>
<command>configure</command> and <command>make depend</command> work...
</para>
</listitem>
<listitem>
<para>
<command>make</command> compiles (with a modified
Linux <filename>mman.h</filename>), but doesn't
link.
</para>
</listitem>
<listitem>
<para>
signal handling is horrible... (if any)
</para>
</listitem>
<listitem>
<para>
EMX doesn't support <function>mmap</function> (and
related), SysV IPC and <function>stafs()</function>
</para>
</listitem>
<listitem>
<para>
XFree86/OS2 3.2 doesn't support
<function>XShmQueryExtension()</function> and
<function>XShmPixmapFormat()</function> due to the same
lack in EMX...
</para>
</listitem>
</itemizedlist>
<para>
What needs to be redone:
</para>
<itemizedlist>
<listitem>
<para>
LDT (using <function>DosAllocSeg</function> in
<filename>memory/ldt.c</filename>) *
</para>
</listitem>
<listitem>
<para>
Implement <function>mmap()</function> and SysV IPC in EMX *
</para>
</listitem>
<listitem>
<para>
File functions,
</para>
</listitem>
<listitem>
<para>
I/O access (do it!),
</para>
</listitem>
<listitem>
<para>
Communication (modem),
</para>
</listitem>
<listitem>
<para>
Interrupt (if int unknown, call current RealMode one...),
</para>
</listitem>
<listitem>
<para>
Verify that everything is thread safe (how does Win95/NT handle multi-thread?),
</para>
</listitem>
<listitem>
<para>
Move X functions in some files (and make a wrapper, to use PM instead latter),
</para>
</listitem>
<listitem>
<para>
Return right CPU type,
</para>
</listitem>
<listitem>
<para>
Make winsock work
</para>
</listitem>
</itemizedlist>
<para>
The good things:
</para>
<itemizedlist>
<listitem>
<para>
OS/2 have DOS interrupts
</para>
</listitem>
<listitem>
<para>
OS/2 have I/O port access
</para>
</listitem>
<listitem>
<para>
OS/2 have multi-thread
</para>
</listitem>
<listitem>
<para>
Merlin have Open32 (to be used later...)
</para>
</listitem>
</itemizedlist>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
...
...
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