README for port of Mesa 3.x to XFree86 on OS/2 (X/2) (as of 19990514) Contents: 1) Binary release 2) Building from sources 3) History 4) Todo 5) Mesa Home Page 1) Binary release Though the Mesa sources should build in a quite reasonable time even on a 585 class machine a binary relase is available (check topic 4) for an URL) This package includes: - lib/MesaGL.dll, MesaGL.a - lib/MesaGLU.dll, MesaGLU.a - lib/glut.dll, glut.a - include/GL/*.h Installing this in your XFree86 tree will enable you to build and run all applications compatible with Mesa (and the current DLL interface, of course ;-) As usual the OMF-style libraries can be created using emxomf. (e.g. "emxomf foo.a" creates the foo.lib omf-style library). The static libraries are rarely used and you have to rebuild Mesa to get them. They're a supported target, so you get them in a straightforward way (see below). The testing of these libraries was limited to the supplied demos/examples and a quite small number of third-party apps. No warranty ... as usual ... ;-) 2) Instructions to build Mesa 3.x for XFree86/OS2 from sources: Except the official Mesa source distribution you need: - a recent version of XFree86 (3.3.x or above) including the programming libraries - EMX 0.9c (0.9d might work, never checked) - GNU make - REXX (!) The creation of the DLLs as well as of the static libraries (if you want to have them) is handled in "mklib-emx.cmd", a small REXX script. Perhaps not the best idea, but this way it fits best in the scheme used to build libraries on all platforms in Mesa 3.x. To actually build the libraries and demos, check mklib-emx.cmd and modify it as desired. Then type make os2-x11 and wait for completion ;-) 3) History Initially Darren Abbott (abbott@hiwaay.net) ported Mesa versions 2.x to XFree86 OS/2. This port might still be available from http://fly.HiWAAY.net/~abbott/xfree86-os2/xfree86.html The current port picked up things during the beta test for 3.0. No major changes in the source were done. The build mechanism under OS/2 has been made very similar to other platforms (if you treat mklib-emx.cmd as a "black box"). Advantage is that X/2 is now a valid target and all files are integrated in the official source distribution. Disadvantage is that this port (i.e. the DLLs' interface itself) is definitly NOT COMPATIBLE to those of version 2.x. It's uncertain whether this would be at all possible but since there a _very_ few those apps it's not worth to find out anyway. Also some libs (MesaTK, MesaAUX) are withdrawn from the Mesa distribution, and accordingly from the OS/2 port. 4) Todo By now binary compatiblity is ensured by using the function names as entry points instead of ordinals. This might cost performance and is subject to change in future. In addition the supplied X86 assembler source is not used yet. 5) Mesa Home Page You can get the source code and more information about Mesa from http://www.mesa3d.org/ The OS/2 ports should be available from http://r350.ee.ntu.edu.tw/~hcchu/os2/ports -- Alexander Mai st002279@hrzpub.tu-darmstadt.de