Re: Mac OS X Port of WineLib

2002-12-29 Thread Eric Pouech
- WSControl / WSAIoctl need to be adapted to MacOS X.
   (ioctl() calls can be platform dependent, /proc/net/dev
   on linux is probably different on OSX)

that'd be an issue if you need those features...
Some folks (R Lunnon for example) face similar issues on Solaris


- Debugger seems tied completely to Intel architecture.
   (Since we will be using WineLib, we probably don't need
winedbg, can use gdb?)

you can use gdb.
regarding winedbg, there are (at least two ways) of using it:
- either as a real debugger. porting this to an non Intel arch may 
require quite some work
- using winedbg as a remote nub for gdb (winedbg -- -gdb). in this case, 
 porting it to a non Intel processor should be pretty much more easy 
(there are a couple of #ifdef to implement in winedbg/gdbproxy.c to 
implement)

A+
--
Eric Pouech




Re: Mac OS X Port of WineLib

2002-12-28 Thread Marcus Meissner
On Thu, Dec 26, 2002 at 09:56:01PM -0500, [EMAIL PROTECTED] wrote:
  Hi,
  I dont recall how I stumbled upon Wine and its existance, however I am 
 intersted in recent, if any, devlopments with the porting of Wine to OS X.  I 
 checked the Wine site and most of the articles are dated with the lastest 
 date of Nov 2000.  A lot has changed in OS X since that time and it appears 
 that a leats a couple of the main issues have been addressed during this 
 time.  The main issues which seemed to be posted are as follows:

I fixed the Linux/PowerPC port. So any PowerPC processor related issue
is ok. 


 Current list of possible issues:
 
 - Endianness.  Since we are using WineLib, could
 have resources written in native (big) endian format
 with wrc.  Any external data files such as cursors, bitmaps, sound
 would have to be converted. The PUT_WORD/GET_WORD macros
 need byte swapping turned off. (Did I miss anything?)

Is ok.


 - Exception handling, Signal handling code

Depends on MacOS X.

 - Memory alignment issues

Should not be a problem.

 - According to Inside MacOS X: Kernel Environment
    (A 
HREF=http://developer.apple.com/techpubs/macosx/Kernel/KernelEnvironment.pdf;http://developer.apple.com/techpubs/macosx/Kernel/KernelEnvironment.pdf/A)
    pg. 34, Darwin supports Pthreads, many of the POSIX APIs
    I haven't been able to find any lists of incompatibilities yet,
    but I am afraid of the word many.

WINE needs a different kind of threading, this might be problematic.

 - Sound Support.  Currently done with WineOSS (ties into
    Linux OSS drivers)  Doesn't seem to be a port of OSS
    to MacOSX.  Maybe need to do another layer specific to the
    Mac(?)

Err, we support audio drivers and have several others non-OSS already.
No problem here, just implement a MacOS X sound driver.

 - Must ensure that behaviour of lower level UNIX resources
    like sockets, threads, files are the way WINE expects it.

This might be more difficult. Especially the memory management.

 - Presence of Assembly language in code will have to be written
    in C or translated to PowerPC assembly. (assembly is generated
    in spec.c files, as well as other places like in the server)

Is done already, for the normal PPC32 ABI.

Good luck.

Ciao, Marcus




Mac OS X Port of WineLib

2002-12-26 Thread ATMRD
 Hi,
 I dont recall how I stumbled upon Wine and its existance, however I am intersted in recent, if any, devlopments with the porting of Wine to OS X.  I checked the Wine site and most of the articles are dated with the lastest date of Nov 2000.  A lot has changed in OS X since that time and it appears that a leats a couple of the main issues have been addressed during this time.  The main issues which seemed to be posted are as follows:



Current list of possible issues:

- Endianness.  Since we are using WineLib, could
have resources written in native (big) endian format
with wrc.  Any external data files such as cursors, bitmaps, sound
would have to be converted. The PUT_WORD/GET_WORD macros
need byte swapping turned off. (Did I miss anything?)

- Exception handling, Signal handling code

- Memory alignment issues

- According to "Inside MacOS X: Kernel Environment"
   (http://developer.apple.com/techpubs/macosx/Kernel/KernelEnvironment.pdf)
   pg. 34, Darwin supports Pthreads, "many of the POSIX APIs"
   I haven't been able to find any lists of incompatibilities yet,
   but I am afraid of the word "many".

- According to the "MacOS X Kernel Environment" book, pg. 37,
   Mac OSX does not support memory mapped devices through the mmap
   API.  This would affects at least streaming sound playback.

- WSControl / WSAIoctl need to be adapted to MacOS X.
   (ioctl() calls can be platform dependent, /proc/net/dev
   on linux is probably different on OSX)

- Sound Support.  Currently done with WineOSS (ties into
   Linux OSS drivers)  Doesn't seem to be a port of OSS
   to MacOSX.  Maybe need to do another layer specific to the
   Mac(?)

- Must ensure that behaviour of lower level UNIX resources
   like sockets, threads, files are the way WINE expects it.

- Presence of Assembly language in code will have to be written
   in C or translated to PowerPC assembly. (assembly is generated
   in spec.c files, as well as other places like in the server)

- Debugger seems tied completely to Intel architecture.
   (Since we will be using WineLib, we probably don't need
    winedbg, can use gdb?)

- Need a X11 server or need to make a x11drv replacement that
   is Quartz specific.  (There is a XFree86 port to MacOS X, but
   it only runs seperately from Quartz at this time.  Making the
   X server a rootless client of Quartz is on the TODO list of
   Darwin but there is no mention of its current status.
   There is a commercial server, at:
   http://www.tenon.com/products/xtools/ which already implements
   this)

-- the XFree86 port to MacOS X now includes a rootless clinet of Quartz so this should be a big jump having the window manager avialable.

- Need to be able to build Windows app using gcc (might be issues
   such as using MS specific keywords/language constructs, etc.)
   Does ATL build properly with gcc?



in addition  James Hatheway wrote on Nov 10 2000
"To test these concerns, I made four test apps and compiled and ran them
on Mac OS X.  I used the "Mac OS X Public Beta Developer Tools CD"
which is downloadable from http://connect.apple.com



The first test app used mmap and MAP_SHARED option, the second sent
messages between two programs using sendto over a socket, the third
used file I/O functions (like read,write) to send messages over a
socket, the fourth sent an FD over a socket to another process
using sendmsg/recvmsg.

I have good news, each of these programs compiled without
modification on MacOS X with the standard cc, and ran perfectly!!

So, I don't think there are any show stoppers that would
keep us from being able to port WineLib to MacOS X.  
Of course there would be work to do, but at least it
is definitely possible.



"

I dont no what has happend to the  WineLib port to MacOSX if anything.  However, I am willing with what time I have to begin a port, since it does seem like it can be done now, hopefully with a group of people.  In addition apple has posted some information regarding win32 porting that may be a little help at "http://developer.apple.com/macosx/win32porting/".  Hope you had the best of holidays.
Thanks

~Sanjay Connare