(none)
authorSam Lantinga <slouken@libsdl.org>
Sun, 07 May 2006 15:15:40 +0000
changeset 17733776702e1fb9
parent 1772 5115185b6e3c
child 1774 92354d20a3ce
(none)
README.Watcom
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/README.Watcom	Sun May 07 15:15:40 2006 +0000
     1.3 @@ -0,0 +1,129 @@
     1.4 +
     1.5 +Using SDL under Windows with the OpenWatcom compiler
     1.6 +====================================================
     1.7 +
     1.8 +Prerequisites
     1.9 +-------------
    1.10 +
    1.11 +I have done the port under Windows XP Home with SP2 installed. Windows
    1.12 +2000 should also be working. I'm not so sure about ancient Windows NT,
    1.13 +since only DirectX 3 is available there. Building should be possible,
    1.14 +but running the compiled applications will probalbly fail with
    1.15 +SDL_VIDEODRIVER=directx. The windib driver should work, though.
    1.16 +
    1.17 +To compile and use the SDL with Open Watcom you will need the following:
    1.18 +- Open Watcom compiler. I used version 1.5. The environment variables
    1.19 +  PATH, WATCOM and INCLUDE need to be set appropriately - please consult
    1.20 +  the OpenWatcom documentation and instructions given during the
    1.21 +  installation of the compiler.
    1.22 +  My setup looks like this in owvars.bat:
    1.23 +    set WATCOM=C:\watcom
    1.24 +    set INCLUDE=%WATCOM%\h;%WATCOM%\h\nt
    1.25 +    set PATH=%PATH%;%WATCOM%\binnt;%WATCOM%\binw
    1.26 +- A fairly recent DirectX SDK. The original unmodified DX8 SDK works, as
    1.27 +  well as the minimal DirectX 7 SDK from the Allegro download site
    1.28 +  (<http://alleg.sourceforge.net/files/dx70_min.zip>).
    1.29 +- The SDL sources from Subversion
    1.30 +- The file Watcom-Win32.zip (now available in Subversion)
    1.31 +
    1.32 +
    1.33 +Building the Library
    1.34 +--------------------
    1.35 +
    1.36 +1) In the SDL base directory extract the archive Watcom-Win32.zip. This
    1.37 +   creates a subdirectory named 'watcom'.
    1.38 +2) The makefile expects the environment variable DXDIR to be set to the
    1.39 +   base directory of a DirectX SDK. I have tried a stock DX8 SDK from
    1.40 +   Microsoft as well as the minimal DirectX 7 SDK from the Allegro
    1.41 +   download site.
    1.42 +   You can also edit the makefile directly and hard code your path to
    1.43 +   the SDK on your system.
    1.44 +   I have this in my setup:
    1.45 +     set DXDIR=D:\devel\DX8_SDK
    1.46 +3) Enter the watcom directory and run
    1.47 +     wmake sdl
    1.48 +4) All tests from the test directory are working and can be built by
    1.49 +   running
    1.50 +     wmake tests
    1.51 +
    1.52 +Notes:
    1.53 +
    1.54 + The makefile offers some options to tweak the way the library is built.
    1.55 + You have at your disposal the option to build a static (default)
    1.56 + library, or a DLL (with tgt=dll). You can also choose whether to build
    1.57 + a Release (default) or a Debug version (with build=debug) of the tests
    1.58 + and library. Please consult the usage comment at the top of the
    1.59 + makefile for usage instructions.
    1.60 +
    1.61 + If you specify a test target (i.e. 'wmake tests' for all tests, or
    1.62 + selected targets like 'wmake testgl testvidinfo testoverlay2'), the
    1.63 + tests are always freshly compiled and linked. This is done to
    1.64 + minimise hassle when switching between library versions (static vs.
    1.65 + DLL), because they require subtly different options.
    1.66 + Also, the test executables are put directly into the test directory,
    1.67 + so they can find their data files. The clean target of the makefile
    1.68 + removes the test executables and the SDL.dll file from the test
    1.69 + directory.
    1.70 +
    1.71 + To use the library in your own projects with Open Watcom, you can use
    1.72 + the way the tests are built as base of your own build environment.
    1.73 +
    1.74 +
    1.75 +Test applications
    1.76 +-----------------
    1.77 +
    1.78 +I've tried to make all tests work. The following table gives an overview
    1.79 +of the current status.
    1.80 +
    1.81 + Testname        Status
    1.82 +~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1.83 +checkkeys       +
    1.84 +graywin         +
    1.85 +loopwave        +
    1.86 +testalpha       +
    1.87 +testbitmap      +
    1.88 +testdyngl       +
    1.89 +testerror       +
    1.90 +testfile        +
    1.91 +testgamma       +
    1.92 +testgl          +
    1.93 +testhread       +
    1.94 +testiconv       - (all failed)
    1.95 +testkeys        +
    1.96 +testlock        +
    1.97 +testoverlay     + (needs 'set SDL_VIDEODRIVER=directx')
    1.98 +testoverlay2    + (needs 'set SDL_VIDEODRIVER=directx')
    1.99 +testpalette     +
   1.100 +testplatform    +
   1.101 +testsem         +
   1.102 +testsprite      +
   1.103 +testtimer       +
   1.104 +testver         +
   1.105 +testvidinfo     +
   1.106 +testwin         - (fading doesn't seem right)
   1.107 +testwm          +
   1.108 +torturethread   +
   1.109 +testcdrom       +
   1.110 +testjoystick    not tested
   1.111 +threadwin       +
   1.112 +
   1.113 +
   1.114 +TODO
   1.115 +----
   1.116 +
   1.117 +There is room for further improvement:
   1.118 +- Test joystick functionality.
   1.119 +- Investigate fading issue in 'testwin' test.
   1.120 +- Fix the UTF-8 support.
   1.121 +- Adapt the makefile/object file list to support more target systems
   1.122 +- Use "#pragma aux" syntax for the CPU info functions.
   1.123 +
   1.124 +
   1.125 +Questions and Comments
   1.126 +----------------------
   1.127 +
   1.128 +Please direct any questions or comments to me:  <mailto:macpete@gmx.de>
   1.129 +
   1.130 +   Happy Coding!
   1.131 +
   1.132 +   Marc Peter