Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Merge trunk-1.3-3

  • Loading branch information
slouken committed May 17, 2006
1 parent 0e4dcc2 commit 73b7e9b4c542fcbc4ba70b5fd15920dcef6b3120
Showing with 1,957 additions and 1,853 deletions.
  1. BIN CWprojects.sea.bin
  2. +11 −5 Makefile.in
  3. +11 −8 README
  4. +4 −0 README.MacOSX
  5. +18 −16 README.OS2
  6. +7 −5 README.SVN
  7. +129 −0 README.Watcom
  8. +8 −14 SDL.spec.in
  9. +1 −0 TODO
  10. BIN VisualCE.zip
  11. BIN Watcom-OS2.zip
  12. BIN Watcom-Win32.zip
  13. +13 −0 WhatsNew
  14. +1 −1 autogen.sh
  15. +14 −4 build-scripts/fatbuild.sh
  16. +1 −1 build-scripts/ltmain.sh
  17. +57 −19 configure.in
  18. +146 −760 docs.html
  19. BIN docs/images/rainbow.gif
  20. +30 −96 docs/index.html
  21. +1 −0 include/SDL_config.h.in
  22. +21 −7 include/SDL_config_macos.h
  23. +7 −6 include/SDL_config_macosx.h
  24. +3 −4 include/SDL_platform.h
  25. +4 −0 include/SDL_stdinc.h
  26. +1 −1 include/SDL_syswm.h
  27. +11 −9 sdl.m4
  28. +38 −123 src/SDL_error.c
  29. +2 −2 src/SDL_error_c.h
  30. +96 −5 src/audio/SDL_audio.c
  31. +1 −1 src/audio/SDL_audio_c.h
  32. +21 −21 src/audio/SDL_audiocvt.c
  33. +5 −0 src/audio/SDL_wave.c
  34. +1 −0 src/audio/SDL_wave.h
  35. +3 −3 src/audio/mint/SDL_mintaudio.c
  36. +3 −3 src/audio/mint/SDL_mintaudio.h
  37. +1 −1 src/cdrom/macosx/AudioFilePlayer.c
  38. +3 −5 src/cdrom/macosx/SDL_syscdrom.c
  39. +1 −1 src/events/SDL_events.c
  40. +1 −1 src/events/SDL_keyboard.c
  41. +14 −14 src/file/SDL_rwops.c
  42. +2 −4 src/joystick/linux/SDL_sysjoystick.c
  43. +10 −18 src/joystick/win32/SDL_mmjoystick.c
  44. +17 −14 src/loadso/macosx/{SDL_sysloadso.c → SDL_dlcompat.c}
  45. +1 −1 src/main/dummy/SDL_dummy_main.c
  46. +10 −4 src/main/macosx/SDLMain.m
  47. +10 −3 src/main/win32/SDL_win32_main.c
  48. +15 −12 src/stdlib/SDL_string.c
  49. +4 −4 src/thread/SDL_thread.c
  50. +4 −3 src/thread/pth/SDL_systhread.c
  51. +9 −0 src/thread/win32/SDL_systhread.c
  52. +1 −0 src/timer/SDL_timer.c
  53. +5 −0 src/timer/macos/FastTimes.c
  54. +8 −0 src/timer/macos/SDL_systimer.c
  55. +6 −0 src/video/SDL_blit_A.c
  56. +6 −0 src/video/SDL_blit_N.c
  57. +8 −8 src/video/ataricommon/SDL_ikbdinterrupt_s.h
  58. +4 −4 src/video/ataricommon/SDL_xbiosinterrupt_s.h
  59. +46 −15 src/video/dga/SDL_dgavideo.c
  60. +11 −0 src/video/dga/SDL_dgavideo.h
  61. +1 −1 src/video/directfb/SDL_DirectFB_events.c
  62. +3 −0 src/video/directfb/SDL_DirectFB_video.c
  63. +1 −1 src/video/directfb/SDL_DirectFB_yuv.c
  64. +6 −0 src/video/fbcon/SDL_fb3dfx.c
  65. +140 −56 src/video/fbcon/SDL_fbevents.c
  66. +6 −0 src/video/fbcon/SDL_fbmatrox.c
  67. +6 −0 src/video/fbcon/SDL_fbriva.c
  68. +27 −21 src/video/fbcon/SDL_fbvideo.c
  69. +10 −0 src/video/fbcon/SDL_fbvideo.h
  70. +4 −0 src/video/maccommon/SDL_macgl.c
  71. +1 −1 src/video/maccommon/SDL_macgl_c.h
  72. +1 −1 src/video/macdsp/SDL_dspvideo.c
  73. +3 −2 src/video/macrom/SDL_romvideo.c
  74. +19 −19 src/video/ps2gs/SDL_gsyuv.c
  75. +15 −15 src/video/quartz/SDL_QuartzVideo.m
  76. +50 −51 src/video/quartz/SDL_QuartzWM.m
  77. +10 −10 src/video/quartz/SDL_QuartzYUV.m
  78. +9 −2 src/video/wincommon/SDL_wingl.c
  79. +1 −2 src/video/windib/SDL_dibvideo.c
  80. +14 −0 src/video/windx5/SDL_dx5video.c
  81. +8 −11 src/video/x11/SDL_x11dyn.c
  82. +57 −4 src/video/x11/SDL_x11events.c
  83. +3 −0 src/video/x11/SDL_x11events_c.h
  84. +2 −1 src/video/x11/SDL_x11gl.c
  85. +462 −343 src/video/x11/SDL_x11modes.c
  86. +11 −1 src/video/x11/SDL_x11sym.h
  87. +22 −32 src/video/x11/SDL_x11video.c
  88. +29 −15 src/video/x11/SDL_x11video.h
  89. +7 −5 src/video/x11/SDL_x11wm.c
  90. +1 −0 src/video/x11/SDL_x11wm_c.h
  91. +1 −0 src/video/xbios/SDL_xbios.c
  92. +11 −9 test/acinclude.m4
  93. +1 −1 test/autogen.sh
  94. +1 −1 test/configure.in
  95. +110 −0 test/gcc-fat.sh
  96. +1 −1 test/loopwave.c
  97. +4 −1 test/testalpha.c
  98. +4 −0 test/testdyngl.c
  99. +1 −1 test/testerror.c
  100. +1 −0 test/testfile.c
  101. +4 −0 test/testgl.c
  102. +1 −1 test/testhread.c
  103. +8 −4 test/testlock.c
  104. +1 −1 test/testpalette.c
  105. +1 −1 test/testsem.c
  106. +2 −2 test/testtimer.c
  107. +2 −2 test/testwin.c
  108. +3 −3 test/testwm.c
  109. +3 −3 test/threadwin.c
  110. +2 −2 test/torturethread.c
BIN +218 KB (190%) CWprojects.sea.bin
Binary file not shown.
@@ -38,7 +38,7 @@ SDLMAIN_TARGET = libSDLmain.a
SDLMAIN_SOURCES = @SDLMAIN_SOURCES@
SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@

DIST = acinclude.m4 autogen.sh Borland.html Borland.zip BUGS build-scripts configure configure.in COPYING CREDITS CWprojects.sea.bin docs docs.html EpocBuildFiles.zip include INSTALL Makefile.dc Makefile.minimal Makefile.in MPWmake.sea.bin README* sdl-config.in sdl.m4 SDL.qpg.in SDL.spec SDL.spec.in src test TODO VisualCE.zip VisualC.html VisualC.zip Watcom-OS2.zip WhatsNew Xcode.tar.gz
DIST = acinclude.m4 autogen.sh Borland.html Borland.zip BUGS build-scripts configure configure.in COPYING CREDITS CWprojects.sea.bin docs docs.html EpocBuildFiles.zip include INSTALL Makefile.dc Makefile.minimal Makefile.in MPWmake.sea.bin README* sdl-config.in sdl.m4 SDL.qpg.in SDL.spec SDL.spec.in src test TODO VisualCE.zip VisualC.html VisualC.zip Watcom-OS2.zip Watcom-Win32.zip WhatsNew Xcode.tar.gz

LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
@@ -78,7 +78,7 @@ $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
$(AR) cru $@ $(SDLMAIN_OBJECTS)
$(RANLIB) $@

install: install-bin install-hdrs install-lib install-data install-man
install: all install-bin install-hdrs install-lib install-data install-man
install-bin:
$(SHELL) $(auxdir)/mkinstalldirs $(bindir)
$(INSTALL) -m 755 sdl-config $(bindir)/sdl-config
@@ -131,7 +131,6 @@ clean:

distclean: clean
rm -f Makefile include/SDL_config.h sdl-config
rm -f include/SDL_config.h sdl-config
rm -f SDL.qpg
rm -f config.status config.cache config.log libtool $(depend)
rm -rf $(srcdir)/autom4te*
@@ -151,8 +150,15 @@ dist $(distfile):
tar cf - $(DIST) | (cd $(distdir); tar xf -)
cp $(distdir)/include/SDL_config.h.default $(distdir)/include/SDL_config.h
rm -rf `find $(distdir) -name .svn`
rm -f `find $(distdir) -name '.#*'`
rmdir `find $(distdir) -type d -empty`
find $(distdir) \( \
-name '*~' -o \
-name '*.bak' -o \
-name '*.old' -o \
-name '*.rej' -o \
-name '*.orig' -o \
-name '.#*' \) \
-exec rm -f {} \;
if test -f $(distdir)/test/Makefile; then (cd $(distdir)/test && make distclean); fi
tar cvf - $(distdir) | gzip --best >$(distfile)
rm -rf $(distdir)

19 README
@@ -12,15 +12,16 @@ This is the Simple DirectMedia Layer, a general API that provides low
level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
and 2D framebuffer across multiple platforms.

SDL is written in C, but works with C++ natively, and has bindings to
several other languages, including Ada, C#, Eiffel, Java, Lua, ML,
Objective C, Pascal, Perl, PHP, Pike, Python, and Ruby.

The current version supports Linux, Windows, BeOS, MacOS, Mac OS X,
FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains
support for Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64,
The current version supports Linux, Windows, Windows CE, BeOS, MacOS,
Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX.
The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64,
RISC OS, SymbianOS, and OS/2, but these are not officially supported.

SDL is written in C, but works with C++ natively, and has bindings to
several other languages, including Ada, C#, Eiffel, Erlang, Euphoria,
Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP,
Pike, Pliant, Python, Ruby, and Smalltalk.

This library is distributed under GNU LGPL version 2, which can be
found in the file "COPYING". This license allows you to use SDL
freely in commercial programs as long as you link with the dynamic
@@ -29,7 +30,9 @@ library.
The best way to learn how to use SDL is to check out the header files in
the "include" subdirectory and the programs in the "test" subdirectory.
The header files and test programs are well commented and always up to date.
More documentation is available in HTML format in "./docs/index.html"
More documentation is available in HTML format in "docs/index.html", and
a documentation wiki is available online at:
http://www.libsdl.org/cgi/docwiki.cgi

The test programs in the "test" subdirectory are in the public domain.

@@ -21,6 +21,10 @@ PowerPC and Intel architectures), on Mac OS X 10.4 and newer, by using
the fatbuild.sh script in build-scripts:
sh build-scripts/fatbuild.sh
sudo build-scripts/fatbuild.sh install
This script builds SDL with 10.2 ABI compatibility on PowerPC and 10.4
ABI compatibility on Intel architectures. For best compatibility you
should compile your application the same way. A script which wraps
gcc to make this easy is provided in test/gcc-fat.sh

To use the library once it's built, you essential have two possibilities:
use the traditional autoconf/automake/make method, or use Xcode.
@@ -3,7 +3,7 @@
SDL on OS/2
===========

Last updated on Feb. 26, 2006.
Last updated on May. 1, 2006.


1. How to compile?
@@ -16,34 +16,32 @@ To compile this, you'll need the followings installed:
- The FSLib library
(ftp://ftp.netlabs.org/pub/SDL)

First of all, you have to put the OS/2-specific Watcom makefiles into the
source code tree by unzipping the file Watcom-OS2.zip here. This will
result in a Watcom.mif and a setvars.cmd file in this folder, and several
Makefile.wat files in the src\ folder and in some of its subfolders.
First of all, you have to unzip the Watcom-OS2.zip file. This will result in a
file called "makefile" and a file called "setvars.cmd" in this folder (and some
more files...).

Please edit the second, fourth and fifth lines of setvars.cmd file
to set the folders where the toolkit, the OW compiler and the FSLib are.
You won't need NASM yet (The Netwide Assembler), you can leave that line.
Run setvars.cmd, and you should get a shell in which you can
compile SDL.

Check the "Watcom.mif" file. This is the file which is included by all the
Watcom makefiles, so changes here will affect the whole build process.
There is a line in there which determines if the resulting SDL.DLL will be
a 'debug' or a 'release' build. The 'debug' version is full of printf()'s,
so if something goes wrong, its output can help a lot for debugging.
Check the "makefile" file. There is a line in there which determines if the
resulting SDL.DLL will be a 'debug' or a 'release' build. The 'debug' version
is full of printf()'s, so if something goes wrong, its output can help a lot
for debugging.

Then go to the 'src' folder, and run "wmake -f makefile.wat".
This should create the SDL.DLL and the corresponding SDL.LIB file there.
Then run "wmake".
This should create the SDL.DLL and the corresponding SDL.LIB file here.

To test applications, it's a good idea to use the 'debug' build of SDL, and
redirect the standard output and standard error output to files, to see what
happens internally in SDL.
(like: testsprite >stdout.txt 2>stderr.txt)

To rebuild SDL, use the following commands in 'src' folder:
wmake -f makefile.wat clean
wmake -f makefile.wat
To rebuild SDL, use the following commands in this folder:
wmake clean
wmake



@@ -53,7 +51,7 @@ wmake -f makefile.wat
Once you have SDL.DLL compiled, navigate into the 'test' folder, copy in there
the newly built SDL.DLL, and copy in there FSLib.DLL.

Then run "wmake -f makefile.wat" in there to compile some of the testapps.
Then run "wmake" in there to compile some of the testapps.



@@ -193,6 +191,10 @@ please, be our guest and contact us!
10. Changelog of the OS/2 port
------------------------------

Version 1.2 - 2006-05-01 - Doodle
- Modified makefile system to have only one makefile
- Included FSLib headers, DLL and LIB file

Version 1.2 - 2006-02-26 - Doodle
- Updated the official SDL version with the OS/2 specific changes.
- Added support for real unicode keycode conversion.
@@ -9,10 +9,12 @@ MacOS, Windows, and Unix systems.

svn checkout svn://libsdl.org/trunk/SDL

When you check out a fresh copy of SDL out via svn, you need to
generate the files used by make by running the "autogen.sh"
script, which will run aclocal, automake, autoconf and then
run configure.
If you are building SDL with an IDE, you will need to copy the file
include/SDL_config.h.default to include/SDL_config.h before building.

There is a web interface to svn at http://www.libsdl.org/wsvn
If you are building SDL via configure, you will need to run autogen.sh
before running configure.

There is a web interface to the subversion repository at:
http://www.libsdl.org/cgi/viewvc.cgi

@@ -0,0 +1,129 @@

Using SDL under Windows with the OpenWatcom compiler
====================================================

Prerequisites
-------------

I have done the port under Windows XP Home with SP2 installed. Windows
2000 should also be working. I'm not so sure about ancient Windows NT,
since only DirectX 3 is available there. Building should be possible,
but running the compiled applications will probalbly fail with
SDL_VIDEODRIVER=directx. The windib driver should work, though.

To compile and use the SDL with Open Watcom you will need the following:
- Open Watcom compiler. I used version 1.5. The environment variables
PATH, WATCOM and INCLUDE need to be set appropriately - please consult
the OpenWatcom documentation and instructions given during the
installation of the compiler.
My setup looks like this in owvars.bat:
set WATCOM=C:\watcom
set INCLUDE=%WATCOM%\h;%WATCOM%\h\nt
set PATH=%PATH%;%WATCOM%\binnt;%WATCOM%\binw
- A fairly recent DirectX SDK. The original unmodified DX8 SDK works, as
well as the minimal DirectX 7 SDK from the Allegro download site
(<http://alleg.sourceforge.net/files/dx70_min.zip>).
- The SDL sources from Subversion
- The file Watcom-Win32.zip (now available in Subversion)


Building the Library
--------------------

1) In the SDL base directory extract the archive Watcom-Win32.zip. This
creates a subdirectory named 'watcom'.
2) The makefile expects the environment variable DXDIR to be set to the
base directory of a DirectX SDK. I have tried a stock DX8 SDK from
Microsoft as well as the minimal DirectX 7 SDK from the Allegro
download site.
You can also edit the makefile directly and hard code your path to
the SDK on your system.
I have this in my setup:
set DXDIR=D:\devel\DX8_SDK
3) Enter the watcom directory and run
wmake sdl
4) All tests from the test directory are working and can be built by
running
wmake tests

Notes:

The makefile offers some options to tweak the way the library is built.
You have at your disposal the option to build a static (default)
library, or a DLL (with tgt=dll). You can also choose whether to build
a Release (default) or a Debug version (with build=debug) of the tests
and library. Please consult the usage comment at the top of the
makefile for usage instructions.

If you specify a test target (i.e. 'wmake tests' for all tests, or
selected targets like 'wmake testgl testvidinfo testoverlay2'), the
tests are always freshly compiled and linked. This is done to
minimise hassle when switching between library versions (static vs.
DLL), because they require subtly different options.
Also, the test executables are put directly into the test directory,
so they can find their data files. The clean target of the makefile
removes the test executables and the SDL.dll file from the test
directory.

To use the library in your own projects with Open Watcom, you can use
the way the tests are built as base of your own build environment.


Test applications
-----------------

I've tried to make all tests work. The following table gives an overview
of the current status.

Testname Status
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
checkkeys +
graywin +
loopwave +
testalpha +
testbitmap +
testdyngl +
testerror +
testfile +
testgamma +
testgl +
testhread +
testiconv - (all failed)
testkeys +
testlock +
testoverlay + (needs 'set SDL_VIDEODRIVER=directx')
testoverlay2 + (needs 'set SDL_VIDEODRIVER=directx')
testpalette +
testplatform +
testsem +
testsprite +
testtimer +
testver +
testvidinfo +
testwin - (fading doesn't seem right)
testwm +
torturethread +
testcdrom +
testjoystick not tested
threadwin +


TODO
----

There is room for further improvement:
- Test joystick functionality.
- Investigate fading issue in 'testwin' test.
- Fix the UTF-8 support.
- Adapt the makefile/object file list to support more target systems
- Use "#pragma aux" syntax for the CPU info functions.


Questions and Comments
----------------------

Please direct any questions or comments to me: <mailto:macpete@gmx.de>

Happy Coding!

Marc Peter
@@ -9,9 +9,12 @@ Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
Prefix: %{_prefix}
%ifos linux
Provides: libSDL-1.1.so.0
Provides: libSDL-1.2.so.0
%endif

%define __defattr %defattr(-,root,root)
%define __soext so

%description
This is the Simple DirectMedia Layer, a generic API that provides low
level access to audio, keyboard, mouse, and display framebuffer across
@@ -59,25 +62,13 @@ ln -s libSDL-1.2.so.0 $RPM_BUILD_ROOT%{prefix}/lib/libSDL-1.1.so.0
%clean
rm -rf $RPM_BUILD_ROOT

%ifnos darwin
%define __defattr %defattr(-,root,root)
%define __soext so
%else
%define __defattr %defattr(-,root,wheel)
%define __soext dylib
%endif

%files
%{__defattr}
%doc README-SDL.txt COPYING CREDITS BUGS
%ifnos darwin
%{_libdir}/lib*.%{__soext}.*
%else
%{_libdir}/lib*.*.%{__soext}
%endif

%files devel
%defattr(-,root,root)
%{__defattr}
%doc README README-SDL.txt COPYING CREDITS BUGS WhatsNew docs.html
%doc docs/index.html docs/html
%{_bindir}/*-config
@@ -90,6 +81,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man3/*

%changelog
* Tue May 16 2006 Sam Lantinga <slouken@libsdl.org>
- Removed support for Darwin, due to build problems on ps2linux

* Mon Jan 03 2004 Anders Bjorklund <afb@algonet.se>
- Added support for Darwin, updated spec file

1 TODO
@@ -2,6 +2,7 @@
Wish list for the 1.3 development branch:
http://bugzilla.libsdl.org/

* Add internal support for adding video modes and refresh rates
* Support querying and setting refresh rate with video modes
* Add mousewheel events (new unified event architecture?)
* DirectInput joystick support needs to be implemented
BIN -3.05 KB (95%) VisualCE.zip
Binary file not shown.
BIN +53 KB (720%) Watcom-OS2.zip
Binary file not shown.
BIN +3.5 KB Watcom-Win32.zip
Binary file not shown.
@@ -4,6 +4,19 @@ This is a list of API changes in SDL's version history.
Version 1.0:

1.2.10:
If SDL_OpenAudio() is passed zero for the desired format
fields, the following environment variables will be used
to fill them in:
SDL_AUDIO_FREQUENCY
SDL_AUDIO_FORMAT
SDL_AUDIO_CHANNELS
SDL_AUDIO_SAMPLES
If an environment variable is not specified, it will be set
to a reasonable default value.

Added support for the SDL_VIDEO_FULLSCREEN_HEAD environment
variable, currently supported on X11 Xinerama configurations.

Added SDL_GL_SWAP_CONTROL to wait for vsync in OpenGL applications.

Added SDL_GL_ACCELERATED_VISUAL to guarantee hardware acceleration.

0 comments on commit 73b7e9b

Please sign in to comment.