diff --git a/BUGS b/BUGS
index 5b709c19d..218bf3d15 100644
--- a/BUGS
+++ b/BUGS
@@ -1,204 +1,18 @@
-All:
- Audio rate conversion is only implemented by multiplying or dividing
- by a power of two. This is a side-effect of the requirement that the
- raw audio buffer size be a power of two, and can hopefully be fixed.
- This means 8 KHz audio converted to 22 KHz ends up being 16 KHz. :-/
+Bugs are now managed in the SDL bug tracker, here:
- When the implementation is writing directly to video memory the mouse
- cursor doesn't work properly. Applications which do this should use
- their own mouse cursor and call SDL_ShowCursor(0) to hide the system
- cursor.
+ http://bugzilla.libsdl.org/
-Linux:
- Wide UNICODE character input (Kanji, etc.) is not yet supported.
- It requires handling of keyboard mapping events and using the XIM
- input translation extension. I will implement it as requested.
- Latin-1 keyboard input works fine.
- (UPDATE 04/06/2004: this bug is now fixed)
+You may report bugs there, and search to see if a given issue has already
+ been reported, discussed, and maybe even fixed.
- The keyboard modifiers are not set to the correct state on startup.
- The AAlib, GGI, and SVGAlib video drivers are not heavily tested.
-Win32:
- The MCI driver can't tell if the CD-ROM drive is paused or stopped.
+You may also find help at the SDL mailing list. Subscription information:
- The SDL_INIT_EVENTTHREAD flag is not supported on Win32
- (Idea: create a separate DirectInput polling thread)
- The main purpose of this flag is for smooth cursor motion in
- fullscreen environments.
+ http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
- Wide UNICODE character input (Kanji, etc.) is not yet supported.
- This requires the ToUnicode() API which is only implemented on
- Windows NT/2000, not on Windows 95/98.
- Latin-1 keyboard input works fine.
+Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
+ bugs discussed on the mailing list may be forgotten or missed.
- Joysticks are only supported under the Win32 MultiMedia API,
- DirectInput support is not yet implemented.
-
-BeOS:
- BePPC is not supported, apparently not even by Be Inc.
-
- SDL_WM_GrabInput() is not implemented.
- Does anyone know how to do this? SDL_WM_GrabInput() is designed
- to prevent the user from switching input and mouse focus away from
- the SDL application.
-
- Continuous relative mouse motion is not implemented.
-
- Wide UNICODE character input (Kanji, etc.) has not been tested.
- Latin-1 keyboard input works fine.
-
-MacOS:
- Palette handling isn't implemented in windowed mode yet.
-
- Audio hasn't been extensively tested, in particular the locking
- isn't implemented and mixer routines may not call malloc() or free()
- because they are called at interrupt time.
-
- SDL_WM_GrabInput() is not implemented.
- Does anyone know how to do this? SDL_WM_GrabInput() is designed
- to prevent the user from switching input and mouse focus away from
- the SDL application.
-
- Continuous relative mouse motion is not implemented.
-
- SDL_AddTimer() and SDL_RemoveTimer() haven't been implemented yet.
-
- Not all of the keys are properly recognized on the keyboard.
-
-Mac OS X:
- Depth switching for windowed mode isn't implemented yet.
-
- Palette handling isn't implemented in windowed mode yet.
-
- Command-line arguments dialog is not implemented yet.
-
- Fullscreen drawing has some artifacts.
-
- Fullscreen OpenGL for the software renderer is broken.
-
- Some OpenGL parameters are not accounted for, for example color bits customization.
-
- Continuous mouse motion perhaps is not as smooth as it should be.
-
- SDL_WM_GrabInput() is implemented, but it "freezes" the hardware
- cursor in the center of the window/screen. Also, mouse moved events
- are not generated, and the keyboard cannot be grabbed.
-
- Mac OS X seems to have a broken pthread_cancel() implementation.
- Actually, it just only has one cancellation point defined.
- http://lists.apple.com/archives/darwin-development/2004/Jun/24/killingapthread.001.txt
-
-FreeBSD:
- pthread_cancel() isn't supported by FreeBSD 3.X, so threads don't
- work on versions of FreeBSD earlier than 4.0.
-
- The CD-ROM handling doesn't work completely.
-
- Wide UNICODE character input (Kanji, etc.) is not yet supported.
- It requires handling of keyboard mapping events and using the XIM
- input translation extension. I will implement it as requested.
- Latin-1 keyboard input works fine.
- (UPDATE 04/06/2004: this bug is now fixed but needs testing)
-
- The keyboard modifiers are not set to the correct state on startup.
-
-Solaris:
- The joystick functions are not implemented yet.
-
- Wide UNICODE character input (Kanji, etc.) is not yet supported.
- It requires handling of keyboard mapping events and using the XIM
- input translation extension. I will implement it as requested.
- Latin-1 keyboard input works fine.
- (UPDATE 04/06/2004: this bug is now fixed but needs testing)
-
- The keyboard modifiers are not set to the correct state on startup.
-
-IRIX:
- The CD-ROM handling doesn't work completely.
-
- The joystick functions are not implemented yet.
-
- Wide UNICODE character input (Kanji, etc.) is not yet supported.
- It requires handling of keyboard mapping events and using the XIM
- input translation extension. I will implement it as requested.
- Latin-1 keyboard input works fine.
- (UPDATE 04/06/2004: this bug is now fixed but needs testing)
-
- The keyboard modifiers are not set to the correct state on startup.
-
-EPOC:
- Only Crystal version of Epoc/SymbianOS is currently supported.
-
- SDL is implemented in static library only. SDL uses static/global
- variables and that is not allowed in EPOC dll libraries.
-
- Sound is not yet supported.
-
- Joystick, OpenGL and cdrom is not supported (think about cdrom in a cell phone:-).
-
- No console output screen. Printing to stdout do not have any effect.
-
-QNX:
- Fullscreen switch doesn't work (disabled for now).
-
-
-OpenBSD: -= NOT YET SUPPORTED =-
- This is reported to work, but I haven't verified this.
-
- Wide UNICODE character input (Kanji, etc.) is not yet supported.
- It requires handling of keyboard mapping events and using the XIM
- input translation extension. I will implement it as requested.
- Latin-1 keyboard input works fine.
- (UPDATE 04/06/2004: this bug is now fixed but needs testing)
-
- The keyboard modifiers are not set to the correct state on startup.
-
-OSF/Tru64: -= NOT YET SUPPORTED =-
- The audio functions are not implemented yet.
-
- Joysticks and CD-ROM functions are not implemented yet.
-
- Wide UNICODE character input (Kanji, etc.) is not yet supported.
- It requires handling of keyboard mapping events and using the XIM
- input translation extension. I will implement it as requested.
- Latin-1 keyboard input works fine.
- (UPDATE 04/06/2004: this bug is now fixed but needs testing)
-
- The keyboard modifiers are not set to the correct state on startup.
-
-AIX: -= NOT YET SUPPORTED =-
- This port has only been tested with AIX 4.3.3
-
- The OpenGL support doesn't work yet.
-
- The joystick subsystem isn't implemented yet.
-
- Endian detection doesn't work yet - needs a unique CPP symbol.
-
- Wide UNICODE character input (Kanji, etc.) is not yet supported.
- It requires handling of keyboard mapping events and using the XIM
- input translation extension. I will implement it as requested.
- Latin-1 keyboard input works fine.
- (UPDATE 04/06/2004: this bug is now fixed but needs testing)
-
- The keyboard modifiers are not set to the correct state on startup.
-
- The AIX port was done by Carsten.Griwodz@KOM.tu-darmstadt.de
- More information on this port is available at:
- http://www.kom.e-technik.tu-darmstadt.de/~griff/SDL/
-
-AmigaOS: -= NOT YET SUPPORTED =-
- The OpenGL support isn't implemented yet.
-
- SDL_WM_GrabInput() is not implemented.
- Does anyone know how to do this? SDL_WM_GrabInput() is designed
- to prevent the user from switching input and mouse focus away from
- the SDL application.
-
- Continuous relative mouse motion is not implemented.
-
- The AmigaOS port was done by Gabriele.Greco@galactica.it
diff --git a/CREDITS b/CREDITS
index ffab8be51..7a21c12a8 100644
--- a/CREDITS
+++ b/CREDITS
@@ -40,6 +40,8 @@ Thanks to everyone who made this possible, including:
* Hannu Viitala for the EPOC port
+* Marcus Mertama for the S60 port.
+
* Peter Valchev for nagging me about the OpenBSD port until I got it right. :)
* Kent B Mein, for a place to do the IRIX port
diff --git a/EpocBuildFiles.zip b/EpocBuildFiles.zip
deleted file mode 100644
index 9de7244f9..000000000
Binary files a/EpocBuildFiles.zip and /dev/null differ
diff --git a/Makefile.ds b/Makefile.ds
new file mode 100644
index 000000000..df3d14652
--- /dev/null
+++ b/Makefile.ds
@@ -0,0 +1,63 @@
+#LibSDL 1.2.12
+#DS porting by Troy Davis(GPF)
+
+
+ifeq ($(strip $(DEVKITPRO)),)
+$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=devkitPro)
+endif
+ifeq ($(strip $(DEVKITARM)),)
+DEVKITARM := $(DEVKITPRO)/devkitARM
+endif
+
+
+SRCS = $(shell echo ./src/*.c ./src/audio/*.c ./src/cdrom/*.c ./src/cpuinfo/*.c ./src/events/*.c ./src/file/*.c ./src/stdlib/*.c ./src/thread/*.c ./src/timer/*.c ./src/video/*.c ./src/joystick/*.c ./src/joystick/nds/*.c ./src/cdrom/dummy/*.c ./src/thread/generic/*.c ./src/timer/nds/*.c ./src/loadso/dummy/*.c ./src/audio/dummy/*.c ./src/audio/nds/*.c ./src/video/dummy/*.c ./src/video/nds/*.c)
+
+OBJS = $(SRCS:.c=.o)
+
+
+SUBDIRS=
+
+CC=arm-eabi-gcc
+CXX=arm-eabi-g++
+LDSHARED=$(CXX)
+AR=arm-eabi-ar rc
+RANLIB=arm-eabi-ranlib
+
+CFLAGS = -mthumb -mthumb-interwork \
+ -march=armv5te -mtune=arm946e-s \
+ -O2 -Wall -Wwrite-strings -Wpointer-arith \
+ -DARM9 -D__NDS__ -I$(DEVKITPRO)/libnds/include -Iinclude
+
+CXXFLAGS += $(CFLAGS)
+
+all: $(DEVKITPRO)/libnds/lib/libSDL.a
+
+
+$(DEVKITPRO)/libnds/lib/libSDL.a: $(OBJS)
+ $(AR) $@ $(OBJS)
+ -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
+
+clean:
+ find . -name "*.o" |xargs rm -f
+ find . -name "*.d" |xargs rm -f
+ -rm -f *.elf
+ -rm -f *.nds
+ -rm -f *.gba
+ -rm -f *.arm9
+ -rm -f *.map
+ -rm -f *.img
+ -rm -Rf *.d
+
+
+subdirs: $(patsubst %, _dir_%, $(SUBDIRS))
+
+$(patsubst %, _dir_%, $(SUBDIRS)):
+ $(MAKE) -C $(patsubst _dir_%, %, $@)
+
+clean_subdirs: $(patsubst %, _clean_dir_%, $(SUBDIRS))
+
+$(patsubst %, _clean_dir_%, $(SUBDIRS)):
+ $(MAKE) -C $(patsubst _clean_dir_%, %, $@) clean
+
+#include $(DEVKITARM)/ds_rules
+
diff --git a/Makefile.in b/Makefile.in
index 4795229db..a11c104fa 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -6,11 +6,12 @@ objects = build
depend = build-deps
prefix = @prefix@
exec_prefix = @exec_prefix@
-bindir = $(DESTDIR)@bindir@
-libdir = $(DESTDIR)@libdir@
-includedir = $(DESTDIR)@includedir@
-datadir = $(DESTDIR)@datadir@
-mandir = $(DESTDIR)@mandir@
+bindir = @bindir@
+libdir = @libdir@
+includedir = @includedir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+mandir = @mandir@
auxdir = @ac_aux_dir@
distpath = $(srcdir)/..
distdir = SDL-@SDL_VERSION@
@@ -29,6 +30,7 @@ INSTALL = @INSTALL@
NASM = @NASM@ @NASMFLAGS@
AR = @AR@
RANLIB = @RANLIB@
+WINDRES = @WINDRES@
TARGET = libSDL.la
SOURCES = @SOURCES@
@@ -38,13 +40,15 @@ 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.pc.in 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
+DIST = acinclude.m4 autogen.sh Borland.html Borland.zip BUGS build-scripts configure configure.in COPYING CREDITS CWprojects.sea.bin docs docs.html include INSTALL Makefile.dc Makefile.minimal Makefile.in MPWmake.sea.bin README* sdl-config.in sdl.m4 sdl.pc.in 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
+
+HDRS = SDL.h SDL_active.h SDL_audio.h SDL_byteorder.h SDL_cdrom.h SDL_cpuinfo.h SDL_endian.h SDL_error.h SDL_events.h SDL_getenv.h SDL_joystick.h SDL_keyboard.h SDL_keysym.h SDL_loadso.h SDL_main.h SDL_mouse.h SDL_mutex.h SDL_name.h SDL_opengl.h SDL_platform.h SDL_quit.h SDL_rwops.h SDL_stdinc.h SDL_syswm.h SDL_thread.h SDL_timer.h SDL_types.h SDL_version.h SDL_video.h begin_code.h close_code.h
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_RELEASE = @LT_RELEASE@
LT_REVISION = @LT_REVISION@
-LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+LT_LDFLAGS = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET)
@@ -80,51 +84,49 @@ $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
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
+ $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir)
+ $(INSTALL) -m 755 sdl-config $(DESTDIR)$(bindir)/sdl-config
install-hdrs:
- $(SHELL) $(auxdir)/mkinstalldirs $(includedir)/SDL
- for src in $(srcdir)/include/*.h; do \
- file=`echo $$src | sed -e 's|^.*/||'`; \
- $(INSTALL) -m 644 $$src $(includedir)/SDL/$$file; \
+ $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL
+ for file in $(HDRS); do \
+ $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL/$$file; \
done
- $(INSTALL) -m 644 include/SDL_config.h $(includedir)/SDL/SDL_config.h
-install-lib:
- $(SHELL) $(auxdir)/mkinstalldirs $(libdir)
- $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(libdir)/$(TARGET)
- $(INSTALL) -m 644 $(objects)/$(SDLMAIN_TARGET) $(libdir)/$(SDLMAIN_TARGET)
- $(RANLIB) $(libdir)/$(SDLMAIN_TARGET)
+ $(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL/SDL_config.h
+install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET)
+ $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)
+ $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
+ $(INSTALL) -m 644 $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
+ $(RANLIB) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
install-data:
- $(SHELL) $(auxdir)/mkinstalldirs $(datadir)/aclocal
- $(INSTALL) -m 644 $(srcdir)/sdl.m4 $(datadir)/aclocal/sdl.m4
- $(SHELL) $(auxdir)/mkinstalldirs $(libdir)/pkgconfig
- $(INSTALL) -m 644 sdl.pc $(libdir)/pkgconfig
+ $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal
+ $(INSTALL) -m 644 $(srcdir)/sdl.m4 $(DESTDIR)$(datadir)/aclocal/sdl.m4
+ $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig
+ $(INSTALL) -m 644 sdl.pc $(DESTDIR)$(libdir)/pkgconfig
install-man:
- $(SHELL) $(auxdir)/mkinstalldirs $(mandir)/man3
+ $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(mandir)/man3
for src in $(srcdir)/docs/man3/*.3; do \
file=`echo $$src | sed -e 's|^.*/||'`; \
- $(INSTALL) -m 644 $$src $(mandir)/man3/$$file; \
+ $(INSTALL) -m 644 $$src $(DESTDIR)$(mandir)/man3/$$file; \
done
uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man
uninstall-bin:
- rm -f $(bindir)/sdl-config
+ rm -f $(DESTDIR)$(bindir)/sdl-config
uninstall-hdrs:
- for src in $(srcdir)/include/*.h; do \
- file=`echo $$src | sed -e 's|^.*/||'`; \
- rm -f $(includedir)/SDL/$$file; \
+ for file in $(HDRS); do \
+ rm -f $(DESTDIR)$(includedir)/SDL/$$file; \
done
- rm -f $(includedir)/SDL/SDL_config.h
- -rmdir $(includedir)/SDL
+ rm -f $(DESTDIR)$(includedir)/SDL/SDL_config.h
+ -rmdir $(DESTDIR)$(includedir)/SDL
uninstall-lib:
- $(LIBTOOL) --mode=uninstall rm -f $(libdir)/$(TARGET)
- rm -f $(libdir)/$(SDLMAIN_TARGET)
+ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET)
+ rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)
uninstall-data:
- rm -f $(datadir)/aclocal/sdl.m4
+ rm -f $(DESTDIR)$(datadir)/aclocal/sdl.m4
uninstall-man:
for src in $(srcdir)/docs/man3/*.3; do \
file=`echo $$src | sed -e 's|^.*/||'`; \
- rm -f $(mandir)/man3/$$file; \
+ rm -f $(DESTDIR)$(mandir)/man3/$$file; \
done
clean:
@@ -169,10 +171,9 @@ rpm: $(distfile)
# Create a SVN snapshot that people can run update on
snapshot:
- svn co svn://libsdl.org/trunk/SDL
- (cd SDL && ./autogen.sh && rm -rf autom4te.cache)
- cp SDL/include/SDL_config.h.default SDL/include/SDL_config.h
- mv SDL SDL-1.2
+ svn co http://svn.libsdl.org/branches/SDL-1.2
+ (cd SDL-1.2 && ./autogen.sh && rm -rf autom4te.cache)
+ cp SDL-1.2/include/SDL_config.h.default SDL-1.2/include/SDL_config.h
tar zcf $(HOME)/SDL-1.2.tar.gz SDL-1.2
rm -f $(HOME)/SDL-1.2.zip
zip -r $(HOME)/SDL-1.2.zip SDL-1.2
diff --git a/README b/README
index 17ea835c0..7c0dd5890 100644
--- a/README
+++ b/README
@@ -12,10 +12,11 @@ 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.
-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.
+The current version supports Linux, Windows CE/95/98/ME/XP/Vista, BeOS,
+MacOS Classic, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX,
+and QNX. The code contains support for Dreamcast, Atari, AIX, OSF/Tru64,
+RISC OS, SymbianOS, Nintendo DS, 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,
diff --git a/README.AmigaOS b/README.AmigaOS
index dffb850d0..e0d890640 100644
--- a/README.AmigaOS
+++ b/README.AmigaOS
@@ -1,50 +1,12 @@
-This is the porting of 1.2.0 version of SDL (the latest stable one)
-to AmigaOS/68k.
+The AmigaOS code has been removed from SDL, since it had been broken for a
+ long time and had a few bits of fairly invasive code #ifdef'd into the
+ SDL core.
-All the bugs known of the past version have been corrected. And I've
-added all the new SDL features.
+However, there is an OS4 version of SDL here:
+ http://www.rcdrummond.net/amiga/index.html
-This version of SDL needs Cybergraphx V3 (r69+) or CyberGraphX V4
-and AHI v3+. Probably it works also with P96 or CGXAga, but it's
-untested.
+And a MorphOS version here:
+ http://www.lehtoranta.net/powersdl/
-This version is available as linked library for SAS/C and GCC, only 68k this
-time, a powerup (ppcemu compatible) and a morphos version will be ready quite
-soon (i hope).
+--ryan.
-Implemented:
-
-- 8/16/24/32bit video modes, both fullscreen and windowed.
-- Hardware surfaces.
-- CGX blitting acceleration.
-- CGX colorkey blitting acceleration.
-- AHI audio (8/16 bit, with any audio format), always uses unit 0 for now.
-- Thread support (maybe not 100% compatible with other implementations)
-- Semaphores
-- Window resizing and backdrop windows (NEW)
-- Joystick/Joypad support.
-
-To do:
-
-- CDRom audio playing support
-- OpenGL (A guy was working on it but I've lost his tracks :( )
-
-The SAS/C library is distributed with debug info attached, to strip debug info
-simply add STRIPDEBUG argument to the linker.
-
-NOTE: SDL includes debug output using kprintf, to disable it add to your
-project a function like this:
-
-void kprintf(char *a,...)
-{
-}
-
-Otherwise you can redirect the debug to a console window with sushi, sashimi or
-similar tools (the default output is the internal serial port).
-
-For info, support, bugfix and other feel free to mail me:
-
-Gabriele Greco (gabriele.greco@aruba.it)
-
-You can find also a small SDL Amiga page at:
-http://ggreco.interfree.it/sdl.html
diff --git a/README.Epoc b/README.Epoc
deleted file mode 100644
index 380cb2527..000000000
--- a/README.Epoc
+++ /dev/null
@@ -1,75 +0,0 @@
-
-==============================================================================
-Using the Simple DirectMedia Layer with EPOC/SymbianOS 6.0
-==============================================================================
-
-==============================================================================
-I. Building the Simple DirectMedia Layer libraries:
-
- You can get Symbian SDK from:
- http://www.symbian.com.
-
- First create "Epoc" directory under SDL main directory and unpack
- EpocBuildFiles.zip in it.
-
- To build the librarys goto "epoc" directory and type:
- bldmake bldfiles
- abld makefile vc6 (for creating Microsoft Visual C++ makefiles)
- abld build wins udeb (building for wins emulator)
- abld build armi urel (building for real device)
-
-==============================================================================
-II. Building the Simple DirectMedia Layer programs:
-
- Building SDL test programs is easy once you have built the libraries:
- abld test build wins udeb
- abld test build armi urel
-
- Supported real screen resolutions
- 320 x 200 x 8 bit
- 320 x 200 x 12 bit
- 640 x 200 x 8 bit
- 640 x 200 x 12 bit
- Supported "emulated" screen resolutions
- 640 x 400 x 8 bit
- 640 x 400 x 12 bit
- 640 x 480 x 8 bit
- 640 x 480 x 12 bit
- "Emulated" resolutions are implemented by by shrinking the screen vertically
- i.e. only every second scanline is drawn. This is mainly ment to be used for
- testing quick ports of programs. Using faked resolutions is a waste of memory
- and cpu power!
-
-==============================================================================
-III. Running test programs
-
- Copy executable to the device and run it from the File manager. The Esc
- key quits demo programs. In Crystal, Exe programs do not appear in task list
- nor in Extras :-(. Test programs are tested in Nokia 9210 Communicator.
-
- Special keys used in SDL:
- The Caps lock key enables or disables the virtual cursor.
- Function keys are mapped as follows:
- F1=chr+q, F2=chr+w,..., F8=chr+i,
- F9=chr+a,..., F12=chr+d.
-
-==============================================================================
-IV. Enjoy! :)
-
- If you have a project you'd like me to know about, or want to ask questions,
- go ahead and join the SDL developer's mailing list by sending e-mail to:
-
- sdl-request@libsdl.org
-
- and put "subscribe" into the subject of the message. Or alternatively you
- can use the web interface:
-
- http://www.libsdl.org/mailman/listinfo/sdl
-
- You can find more info about Epoc version of SDL from Hannu Viitala's
- homepage
- http://www.mbnet.fi/~haviital
-
-==============================================================================
-
-
diff --git a/README.MiNT b/README.MiNT
index 25a7d5658..34bddda54 100644
--- a/README.MiNT
+++ b/README.MiNT
@@ -68,14 +68,14 @@ OpenGL (using Mesa offscreen rendering driver)
- Dependent driver combinations:
Video Kbd Mouse Timer Joysticks
xbios ikbd ikbd vbl(2) ikbd
-xbios gemdos xbios vbl(2) xbios(3)
-xbios bios xbios vbl(2) xbios(3)
-gem gem gem(1) vbl(2) xbios(3)
+xbios gemdos xbios vbl(2) xbios
+xbios bios xbios vbl(2) xbios
+gem gem gem(1) vbl(2) xbios
Audio O/S Misc
dma8 All Uses MFP Timer A interrupt
xbios TOS Uses MFP Timer A interrupt
-xbios MiNT Uses MiNT thread
+xbios MiNT Uses MFP Timer A interrupt
xbios Magic Disabled
stfa All Uses MFP interrupt
mcsn TOS Uses MFP Timer A interrupt
@@ -87,16 +87,13 @@ Joypad driver always uses hardware access.
OpenGL driver always uses OSMesa.
(1) GEM does not report relative mouse motion, so xbios mouse driver is used
-to report this type event. Under MiNT, using XBIOS mouse driver is not possible.
+to report this type event.
A preliminary driver for /dev/mouse device driver is present, but is disabled
till it can be used with other applications simultaneously.
(2) If you build SDL with threads using the GNU pth library, timers are
supported via the pth library.
-(3) Redirecting XBIOS vectors does not work under MiNT, so it is disabled in
-this case.
-
==============================================================================
V. Environment variables:
@@ -127,12 +124,12 @@ SDL_JOYSTICK_ATARI:
'ikbd-joy1-[on|off]' for IKBD joystick on port 1 (hardware access)
'xbios-joy1-[on|off]' for IKBD joystick on port 1 (xbios access)
- 'porta-pad-[on|off]' for joypad on port A
+ 'porta-pad-[on|off]' for joypad and/or teamtap on port A
'porta-joy0-[on|off]' for joystick 0 on port A
'porta-joy1-[on|off]' for joystick 1 on port A
'porta-lp-[on|off]' for lightpen on port A
'porta-anpad-[on|off]' for analog paddle on port A
- 'portb-pad-[on|off]' for joypad on port B
+ 'portb-pad-[on|off]' for joypad and/or teamtap on port B
'portb-joy0-[on|off]' for joystick 0 on port B
'portb-joy1-[on|off]' for joystick 1 on port B
'portb-anpad-[on|off]' for analog paddle on port B
@@ -213,7 +210,7 @@ Mouse and joystick xbios driver:
Available on all machines (I think).
Joypad driver:
- Available if _MCH cookie is STE or Falcon.
+ Available if _MCH cookie is STE or Falcon. Supports teamtap.
PTH timer driver:
Available with multitasking OS.
diff --git a/README.NDS b/README.NDS
new file mode 100644
index 000000000..e96a9eeec
--- /dev/null
+++ b/README.NDS
@@ -0,0 +1,22 @@
+The SDL port to the Nintendo DS
+
+This port uses the devKitPro toolchain, available from:
+http://www.devkitpro.org
+
+Precompiled tools for cross-compiling on Linux are available from:
+http://www.libsdl.org/extras/nds/devkitPro-20070503-linux.tar.gz
+
+todo:
+add ds console specific features/optimizations
+mouse/keyboard support
+dual screen support
+
+build with:
+cp include/SDL_config_nds.h include/SDL_config.h
+make -f Makefile.ds
+
+included is an arm9/arm7 template to allow for sound streaming support.
+
+Enjoy, fix the source and share :)
+Troy Davis(GPF)
+http://gpf.dcemu.co.uk/
diff --git a/README.SVN b/README.SVN
index bdab4ded3..eec5918a1 100644
--- a/README.SVN
+++ b/README.SVN
@@ -7,7 +7,7 @@ at the Subversion website ( http://subversion.tigris.org/ ) for more
information on using svn, where you can also download software for
MacOS, Windows, and Unix systems.
- svn checkout svn://libsdl.org/trunk/SDL
+ svn checkout http://svn.libsdl.org/branches/SDL-1.2
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.
diff --git a/README.Symbian b/README.Symbian
new file mode 100644
index 000000000..32d925a00
--- /dev/null
+++ b/README.Symbian
@@ -0,0 +1,23 @@
+==============================================================================
+Using the Simple DirectMedia Layer with S60 3.x / Symbian 9.x
+==============================================================================
+
+These instuctions are for people developing for S60 3.x. S60 3.x
+uses Symbian OS so you need S60 SDK.
+
+extract "symbian.zip" into this folder.
+
+go to symbian folder
+
+bldmake bldfiles
+abld build
+
+That produces WINSCW and ARMV5 versions of sdl.dll runtime library
+and sdl.lib for development.
+The sdlexe.dll/sdlexe.lib and sdlmain.lib are for easy SDL S60
+integration, please see http://www.mbnet.fi/~mertama/sdl.html
+for further info.
+
+
+
+
diff --git a/SDL.spec.in b/SDL.spec.in
index 329d5998b..dbda11210 100644
--- a/SDL.spec.in
+++ b/SDL.spec.in
@@ -54,7 +54,7 @@ make install prefix=$RPM_BUILD_ROOT%{prefix} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
datadir=$RPM_BUILD_ROOT%{_datadir} \
mandir=$RPM_BUILD_ROOT%{_mandir}
-ln -s libSDL-1.2.so.0 $RPM_BUILD_ROOT%{prefix}/lib/libSDL-1.1.so.0
+ln -s libSDL-1.2.so.0 $RPM_BUILD_ROOT%{_libdir}/libSDL-1.1.so.0
%else
%makeinstall
%endif
diff --git a/VisualC.html b/VisualC.html
index f5dbe784c..ad2ed97a6 100644
--- a/VisualC.html
+++ b/VisualC.html
@@ -45,6 +45,10 @@
This is done by right clicking on each project in turn (Projects are listed in
the Workspace panel in the FileView tab), and selecting "Build".
+
+ If you get an error about SDL_config.h being missing, you should
+ copy include/SDL_config.h.default to include/SDL_config.h and try again.
+
You may get a few warnings, but you should not get any errors. You do have to
have at least the DirectX 5 SDK installed, however. The latest
diff --git a/VisualC.zip b/VisualC.zip
index 030db1cde..e6da47aa9 100644
Binary files a/VisualC.zip and b/VisualC.zip differ
diff --git a/WhatsNew b/WhatsNew
index 5f6cea345..8538e93ac 100644
--- a/WhatsNew
+++ b/WhatsNew
@@ -3,6 +3,10 @@ This is a list of API changes in SDL's version history.
Version 1.0:
+1.2.12:
+ Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling
+ of the screensaver on Mac OS X and X11.
+
1.2.10:
If SDL_OpenAudio() is passed zero for the desired format
fields, the following environment variables will be used
diff --git a/build-scripts/fatbuild.sh b/build-scripts/fatbuild.sh
index 3fd40cfb2..d5da20788 100755
--- a/build-scripts/fatbuild.sh
+++ b/build-scripts/fatbuild.sh
@@ -48,7 +48,7 @@ CPPFLAGS_X86="-DMAC_OS_X_VERSION_MIN_REQUIRED=1040 \
# Intel linker flags
LFLAGS_X86="-arch i386 -mmacosx-version-min=10.4 \
--L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.0 \
+-L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.1 \
-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"
#
diff --git a/build-scripts/makedep.sh b/build-scripts/makedep.sh
index cebc36f1c..ceffe275b 100755
--- a/build-scripts/makedep.sh
+++ b/build-scripts/makedep.sh
@@ -41,7 +41,11 @@ search_deps()
for src in $SOURCES
do echo "Generating dependencies for $src"
ext=`echo $src | sed 's|.*\.\(.*\)|\1|'`
- obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.lo|g"`
+ if test x"$ext" = x"rc"; then
+ obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.o|g"`
+ else
+ obj=`echo $src | sed "s|^.*/\([^ ]*\)\..*|\1.lo|g"`
+ fi
echo "\$(objects)/$obj: $src \\" >>${output}.new
search_deps $src | sort | uniq >>${output}.new
case $ext in
@@ -73,6 +77,12 @@ __EOF__
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) -c $src -o \$@
+__EOF__
+ ;;
+ rc) cat >>${output}.new <<__EOF__
+
+ \$(WINDRES) $src \$@
+
__EOF__
;;
*) echo "Unknown file extension: $ext";;
diff --git a/configure.in b/configure.in
index 79cac877f..62f95880b 100644
--- a/configure.in
+++ b/configure.in
@@ -16,9 +16,9 @@ dnl Set various version strings - taken gratefully from the GTk sources
#
SDL_MAJOR_VERSION=1
SDL_MINOR_VERSION=2
-SDL_MICRO_VERSION=11
-SDL_INTERFACE_AGE=0
-SDL_BINARY_AGE=11
+SDL_MICRO_VERSION=12
+SDL_INTERFACE_AGE=1
+SDL_BINARY_AGE=12
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
AC_SUBST(SDL_MAJOR_VERSION)
@@ -74,8 +74,8 @@ BUILD_CFLAGS="$CFLAGS $CPPFLAGS"
EXTRA_CFLAGS="$INCLUDE $BASE_CFLAGS"
BUILD_LDFLAGS="$LDFLAGS"
EXTRA_LDFLAGS="$BASE_LDFLAGS"
-# I can't remember why I added this. I'm sure it'll come to me...
-#for path in /usr/local; do
+## These are common directories to find software packages
+#for path in /usr/freeware /usr/pkg /usr/X11R6 /usr/local; do
# if test -d $path/include; then
# EXTRA_CFLAGS="$EXTRA_CFLAGS -I$path/include"
# fi
@@ -96,6 +96,12 @@ AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_MAKE_SET
+if test -z "$host_alias"; then
+ hostaliaswindres=
+else
+ hostaliaswindres="$host_alias-windres"
+fi
+AC_CHECK_PROGS(WINDRES, [windres $hostaliaswindres $host_os-windres])
dnl Check for compiler characteristics
AC_C_CONST
@@ -124,7 +130,14 @@ if test x$enable_libc = xyes; then
fi
dnl Checks for library functions.
- AC_FUNC_ALLOCA
+ case "$host" in
+ *-*-cygwin* | *-*-mingw32*)
+ ;;
+ *)
+ AC_FUNC_ALLOCA
+ ;;
+ esac
+
AC_FUNC_MEMCMP
if test x$ac_cv_func_memcmp_working = xyes; then
AC_DEFINE(HAVE_MEMCMP)
@@ -189,7 +202,6 @@ SOURCES="$SOURCES $srcdir/src/cdrom/*.c"
SOURCES="$SOURCES $srcdir/src/cpuinfo/*.c"
SOURCES="$SOURCES $srcdir/src/events/*.c"
SOURCES="$SOURCES $srcdir/src/file/*.c"
-SOURCES="$SOURCES $srcdir/src/joystick/*.c"
SOURCES="$SOURCES $srcdir/src/stdlib/*.c"
SOURCES="$SOURCES $srcdir/src/thread/*.c"
SOURCES="$SOURCES $srcdir/src/timer/*.c"
@@ -220,6 +232,8 @@ AC_HELP_STRING([--enable-joystick], [Enable the joystick subsystem [[default=yes
, enable_joystick=yes)
if test x$enable_joystick != xyes; then
AC_DEFINE(SDL_JOYSTICK_DISABLED)
+else
+ SOURCES="$SOURCES $srcdir/src/joystick/*.c"
fi
AC_ARG_ENABLE(cdrom,
AC_HELP_STRING([--enable-cdrom], [Enable the cdrom subsystem [[default=yes]]]),
@@ -451,6 +465,63 @@ AC_HELP_STRING([--enable-esd-shared], [dynamically load ESD audio support [[defa
fi
}
+dnl Find PulseAudio
+CheckPulseAudio()
+{
+ AC_ARG_ENABLE(pulseaudio,
+AC_HELP_STRING([--enable-pulseaudio], [use PulseAudio [[default=yes]]]),
+ , enable_pulse=yes)
+ if test x$enable_audio = xyes -a x$enable_pulse = xyes; then
+ audio_pulse=no
+
+ PULSE_REQUIRED_VERSION=0.9
+
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ AC_MSG_CHECKING(for PulseAudio $PULSE_REQUIRED_VERSION support)
+ if test x$PKG_CONFIG != xno; then
+ if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $PULSE_REQUIRED_VERSION libpulse-simple; then
+ PULSE_CFLAGS=`$PKG_CONFIG --cflags libpulse-simple`
+ PULSE_LIBS=`$PKG_CONFIG --libs libpulse-simple`
+ audio_pulse=yes
+ fi
+ fi
+ AC_MSG_RESULT($audio_pulse)
+
+ if test x$audio_pulse = xyes; then
+ AC_ARG_ENABLE(pulseaudio-shared,
+AC_HELP_STRING([--enable-pulseaudio-shared], [dynamically load PulseAudio support [[default=yes]]]),
+ , enable_pulse_shared=yes)
+ if test "x`echo $PULSE_LIBS | grep -- -L`" = "x"; then
+ if test "x`ls /lib/libpulse-simple.so.* 2> /dev/null`" != "x"; then
+ PULSE_LIBS="-L/lib $PULSE_LIBS"
+ elif test "x`ls /usr/lib/libpulse-simple.so.* 2> /dev/null`" != "x"; then
+ PULSE_LIBS="-L/usr/lib $PULSE_LIBS"
+ elif test "x`ls /usr/local/lib/libpulse-simple.so.* 2> /dev/null`" != "x"; then
+ PULSE_LIBS="-L/usr/local/lib $PULSE_LIBS"
+ fi
+ fi
+ pulse_lib_spec=`echo $PULSE_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libpulse-simple.so.*/'`
+ pulse_lib=`ls -- $pulse_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
+ echo "-- $pulse_lib_spec -> $pulse_lib"
+
+ AC_DEFINE(SDL_AUDIO_DRIVER_PULSE)
+ SOURCES="$SOURCES $srcdir/src/audio/pulse/*.c"
+ EXTRA_CFLAGS="$EXTRA_CFLAGS $PULSE_CFLAGS"
+ if test x$have_loadso != xyes && \
+ test x$enable_pulse_shared = xyes; then
+ AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic PulseAudio loading])
+ fi
+ if test x$have_loadso = xyes && \
+ test x$enable_pulse_shared = xyes && test x$pulse_lib != x; then
+ AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_PULSE_DYNAMIC, "$pulse_lib")
+ else
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PULSE_LIBS"
+ fi
+ have_audio=yes
+ fi
+ fi
+}
+
CheckARTSC()
{
AC_ARG_ENABLE(arts,
@@ -511,21 +582,25 @@ CheckNAS()
AC_HELP_STRING([--enable-nas], [support the NAS audio API [[default=yes]]]),
, enable_nas=yes)
if test x$enable_audio = xyes -a x$enable_nas = xyes; then
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -lXt -lm"
+ AC_CHECK_HEADER(audio/audiolib.h, have_audio_hdr=yes)
+ AC_CHECK_LIB(audio, AuOpenServer, have_audio_lib=yes)
+ AC_CHECK_HEADER(nas/audiolib.h, have_nas_hdr=yes)
+ AC_CHECK_LIB(nas, AuOpenServer, have_nas_lib=yes)
+ LDFLAGS="$save_LDFLAGS"
+
AC_MSG_CHECKING(for NAS audio support)
have_nas=no
- if test -r /usr/X11R6/include/audio/audiolib.h; then
+ if test x$have_audio_hdr = xyes -a x$have_audio_lib = xyes; then
have_nas=yes
- NAS_CFLAGS="-I/usr/X11R6/include/"
- NAS_LIBS="-L/usr/X11R6/lib -laudio -lXt"
-
- dnl On IRIX, the NAS includes are in a different directory,
- dnl and libnas must be explicitly linked in
-
- elif test -r /usr/freeware/include/nas/audiolib.h; then
+ NAS_LIBS="-laudio -lXt"
+ elif test x$have_nas_hdr = xyes -a x$have_nas_lib = xyes; then
have_nas=yes
NAS_LIBS="-lnas -lXt"
- fi
+ fi
AC_MSG_RESULT($have_nas)
+
if test x$have_nas = xyes; then
AC_DEFINE(SDL_AUDIO_DRIVER_NAS)
SOURCES="$SOURCES $srcdir/src/audio/nas/*.c"
@@ -597,38 +672,56 @@ CheckNASM()
AC_HELP_STRING([--enable-nasm], [use nasm assembly blitters on x86 [[default=yes]]]),
, enable_nasm=yes)
if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_nasm = xyes; then
+ CompileNASM()
+ {
+ # Usage: CompileNASM
+ AC_MSG_CHECKING(to see if $NASM supports $1)
+ if $NASM $NASMFLAGS $1 -o $1.o >&AS_MESSAGE_LOG_FD 2>&1; then
+ CompileNASM_ret="yes"
+ else
+ CompileNASM_ret="no"
+ fi
+ rm -f $1 $1.o
+ AC_MSG_RESULT($CompileNASM_ret)
+ test "$CompileNASM_ret" = "yes"
+ }
+
+ if test x"$NASMFLAGS" = x; then
+ case $ARCH in
+ win32)
+ NASMFLAGS="-f win32"
+ ;;
+ openbsd)
+ NASMFLAGS="-f aoutb"
+ ;;
+ macosx)
+ NASMFLAGS="-f macho"
+ ;;
+ *)
+ NASMFLAGS="-f elf"
+ ;;
+ esac
+ fi
+
AC_PATH_PROG(NASM, yasm)
+ echo "%ifidn __OUTPUT_FORMAT__,elf" > unquoted-sections
+ echo "section .note.GNU-stack noalloc noexec nowrite progbits" >> unquoted-sections
+ echo "%endif" >> unquoted-sections
+ CompileNASM unquoted-sections || NASM=""
+
if test "x$NASM" = x -o "x$NASM" = x'"$NASM"'; then
+ $as_unset ac_cv_path_NASM
AC_PATH_PROG(NASM, nasm)
fi
if test "x$NASM" != x -a "x$NASM" != x'"$NASM"'; then
AC_DEFINE(SDL_HERMES_BLITTERS)
SOURCES="$SOURCES $srcdir/src/hermes/*.asm"
- if test x"$NASMFLAGS" = x; then
- case $ARCH in
- win32)
- NASMFLAGS="-f win32"
- ;;
- openbsd)
- NASMFLAGS="-f aoutb"
- ;;
- macosx)
- NASMFLAGS="-f macho"
- ;;
- *)
- NASMFLAGS="-f elf"
- ;;
- esac
- fi
- NASMFLAGS="$NASMFLAGS -i $srcdir/src/hermes/"
+ NASMFLAGS="$NASMFLAGS -I $srcdir/src/hermes/"
dnl See if hidden visibility is supported
- echo "GLOBAL _bar:function hidden" > nasm_vis.asm
- echo "_bar:" >>nasm_vis.asm
- if $NASM $NASMFLAGS nasm_vis.asm -o nasm_vis.o >&AS_MESSAGE_LOG_FD 2>&1; then
- NASMFLAGS="$NASMFLAGS -DHIDDEN_VISIBILITY"
- fi
- rm -f nasm_vis.asm nasm_vis.o
+ echo "GLOBAL _bar:function hidden" > symbol-visibility
+ echo "_bar:" >> symbol-visibility
+ CompileNASM symbol-visibility && NASMFLAGS="$NASMFLAGS -DHIDDEN_VISIBILITY"
AC_SUBST(NASM)
AC_SUBST(NASMFLAGS)
@@ -844,7 +937,7 @@ AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [[default=ma
x11ext_lib='libXext.so'
;;
*)
- x11_lib_spec=[`echo $X_LIBS | sed 's/.*-L\([^ ]*\).*/\1/'`]
+ x11_lib_path=[`echo $X_LIBS | sed 's/.*-L\([^ ]*\).*/\1/'`]
for path in $x11_lib_path /usr/lib /usr/X11/lib /usr/X11R6/lib; do
if test "x$x11_lib" = "x"; then
x11_lib=[`ls -- $path/libX11.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
@@ -1118,6 +1211,7 @@ AC_HELP_STRING([--enable-video-fbcon], [use framebuffer console video driver [[d
])
AC_MSG_RESULT($video_fbcon)
if test x$video_fbcon = xyes; then
+ AC_CHECK_FUNCS(getpagesize)
AC_DEFINE(SDL_VIDEO_DRIVER_FBCON)
SOURCES="$SOURCES $srcdir/src/video/fbcon/*.c"
have_video=yes
@@ -1466,6 +1560,7 @@ CheckOpenGLX11()
AC_TRY_COMPILE([
#include
#include
+ #include
],[
],[
video_opengl=yes
@@ -1676,7 +1771,7 @@ AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [[default=yes]]])
;;
*-*-netbsd*)
pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
- pthread_lib="-L/usr/lib -lpthread"
+ pthread_lib="-lpthread"
;;
*-*-openbsd*)
pthread_cflags="-D_REENTRANT"
@@ -2019,8 +2114,13 @@ CheckUSBHID()
#if defined(HAVE_USB_H)
#include
#endif
+ #ifdef __DragonFly__
+ #include
+ #include
+ #else
#include
#include
+ #endif
#if defined(HAVE_USBHID_H)
#include
#elif defined(HAVE_LIBUSB_H)
@@ -2141,6 +2241,7 @@ case "$host" in
CheckALSA
CheckARTSC
CheckESD
+ CheckPulseAudio
CheckNAS
CheckX11
CheckNANOX
@@ -2278,7 +2379,7 @@ case "$host" in
ARCH=win32
if test "$build" != "$host"; then # cross-compiling
# Default cross-compile location
- ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
+ ac_default_prefix=/usr/local/cross-tools/i386-mingw32
else
# Look for the location of the tools and install there
if test "$BUILD_PREFIX" != ""; then
@@ -2341,6 +2442,7 @@ case "$host" in
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldxguid"
fi
# The Win32 platform requires special setup
+ SOURCES="$SOURCES $srcdir/src/main/win32/*.rc"
SDLMAIN_SOURCES="$srcdir/src/main/win32/*.c"
SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
@@ -2417,10 +2519,7 @@ case "$host" in
CheckDiskAudio
CheckDummyAudio
CheckDLOPEN
-
- # Temporarily disabled:
- # ld: mmxp2_32.o has external relocation entries in non-writable section (__TEXT,__text) for symbols: _mmxreturn
- #CheckNASM
+ CheckNASM
# Set up files for the shared object loading library
# (this needs to be done before the dynamic X11 check)
@@ -2453,8 +2552,8 @@ case "$host" in
if test x$enable_joystick = xyes; then
AC_DEFINE(SDL_JOYSTICK_IOKIT)
SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
have_joystick=yes
+ need_iokit_framework=yes
fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
@@ -2474,6 +2573,7 @@ case "$host" in
SDL_LIBS="-lSDLmain $SDL_LIBS"
if test x$enable_video_cocoa = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
+ need_iokit_framework=yes
fi
if test x$enable_video_carbon = xyes -o x$enable_video_cocoa = xyes; then
# The Cocoa backend still needs Carbon, and the YUV code QuickTime
@@ -2484,6 +2584,10 @@ case "$host" in
if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
fi
+ # Some subsystems reference IOKit...
+ if test x$need_iokit_framework = xyes; then
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
+ fi
;;
*-*-mint*)
ARCH=mint
@@ -2564,11 +2668,13 @@ case "$host" in
esac
# Verify that we have all the platform specific files we need
-if test x$have_joystick != xyes; then
- if test x$enable_joystick = xyes; then
- AC_DEFINE(SDL_JOYSTICK_DISABLED)
- fi
+
+if test x$enable_joystick = xyes; then
+ if test x$have_joystick != xyes; then
+ # Wants joystick subsystem, but doesn't have a platform-specific backend...
+ AC_DEFINE(SDL_JOYSTICK_DUMMY)
SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
+ fi
fi
if test x$have_cdrom != xyes; then
if test x$enable_cdrom = xyes; then
@@ -2603,6 +2709,7 @@ OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'`
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'`
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.S,$(objects)/\1.lo,g'`
+OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.o,g'`
SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.o,g'`
@@ -2612,10 +2719,10 @@ SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects
if test "x$enable_rpath" = "xyes"; then
if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = irix -o $ARCH = linux -o $ARCH = netbsd; then
- SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
+ SDL_RLD_FLAGS="-Wl,-rpath,\${libdir}"
fi
if test $ARCH = solaris; then
- SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
+ SDL_RLD_FLAGS="-R\${libdir}"
fi
else
SDL_RLD_FLAGS=""
@@ -2630,7 +2737,7 @@ case "$ARCH" in
SDL_LIBS="$SDL_LIBS -Wl,-framework,Carbon"
fi
# Evil hack to allow static linking on Mac OS X
- SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDLmain.a \${exec_prefix}/lib/libSDL.a $EXTRA_LDFLAGS"
+ SDL_STATIC_LIBS="\${libdir}/libSDLmain.a \${libdir}/libSDL.a $EXTRA_LDFLAGS"
;;
*)
SDL_STATIC_LIBS="$SDL_LIBS"
@@ -2672,6 +2779,7 @@ AC_SUBST(BUILD_CFLAGS)
AC_SUBST(EXTRA_CFLAGS)
AC_SUBST(BUILD_LDFLAGS)
AC_SUBST(EXTRA_LDFLAGS)
+AC_SUBST(WINDRES)
AC_OUTPUT([
Makefile sdl-config SDL.spec SDL.qpg sdl.pc
diff --git a/docs.html b/docs.html
index 8b00610c8..6e2d106b5 100644
--- a/docs.html
+++ b/docs.html
@@ -14,6 +14,151 @@ The latest stable release may be found on the
+ SDL 1.2.12 Release Notes
+
+SDL 1.2.12 is a minor bug fix release.
+
+
+ General Notes
+
+
+
+ Added support for the PulseAudio sound server: http://www.pulseaudio.org/
+
+
+ Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling of the screensaver on Mac OS X, Windows, and X11.
+
+
+ Fixed buffer overrun crash when resampling audio rates.
+
+
+ Fixed audio bug where converting to mono was doubling the volume.
+
+
+ Fixed off-by-one error in the C implementation of SDL_revcpy()
+
+
+ Fixed compiling with Sun Studio.
+
+
+ Support for AmigaOS has been removed from the main SDL code.
+
+
+ Support for Nokia 9210 "EPOC" driver has been removed from the main SDL code.
+
+
+ Unofficial support for the S60/SymbianOS platform has been added.
+
+
+ Unofficial support for the Nintendo DS platform has been added.
+
+
+ Reenabled MMX assembly for YUV overlay processing (GNU C Compiler only).
+
+
+
+ Unix Notes
+
+
+
+ Fixed detection of X11 DGA mouse support.
+
+
+ Improved XIM support for asian character sets.
+
+
+ The GFX_Display has been added to the X11 window information in SDL_syswm.h.
+
+
+ Fixed PAGE_SIZE compile error in the fbcon video driver on newer Linux kernels.
+
+
+ Fixed hang or crash at startup if aRts can't access the hardware.
+
+
+ Fixed relative mouse mode when the cursor starts outside the X11 window.
+
+
+ Fixed accidental free of stack memory in X11 mouse acceleration code.
+
+
+ Closed minor memory leak in XME code.
+
+
+ Fixed TEXTRELs in the library to resolve some PIC issues.
+
+
+
+ Windows Notes
+
+
+
+ The GDI video driver makes better use of the palette in 8-bit modes.
+
+
+ The windib driver now supports more mouse buttons with WM_XBUTTON events.
+
+
+ On Windows, SDL_SetVideoMode() will re-create the window instead of failing if the multisample settings are changed.
+
+
+ Added support for UTF-8 window titles on Windows.
+
+
+ Fixed joystick detection on Windows.
+
+
+ Improved performance with Win32 file I/O.
+
+
+ Fixed HBITMAP leak in GAPI driver.
+
+
+
+ Mac OS X Notes
+
+
+
+ Added support for multi-axis controllers like 3Dconnxion's SpaceNavigator on Mac OS X.
+
+
+ Fixed YUV overlay crash inside Quicktime on Intel Mac OS X.
+
+
+ Fixed blitting alignment in Altivec alpha blit functions.
+
+
+ Keys F13, F14, and F15 are now usable on Apple keyboards under Mac OS X.
+
+
+ Fixed joystick calibration code on Mac OS X.
+
+
+ Fixed mouse jitter when multiple motion events are queued up in Mac OS X.
+
+
+ Fixed changing the cursor in fullscreen mode on Mac OS X.
+
+
+
+ Mac OS Classic Notes
+
+
+
+ Added support for gamma ramps to both toolbox and DrawSprocket video drivers.
+
+
+
+ BeOS Notes
+
+
+
+ Implemented mouse grabbing and mouse relative mode on BeOS.
+
+
+
+
+
SDL 1.2.11 Release Notes
SDL 1.2.11 is a minor bug fix release.
diff --git a/docs/html/sdlenvvars.html b/docs/html/sdlenvvars.html
index 6b4ca3b28..4e677cdc8 100644
--- a/docs/html/sdlenvvars.html
+++ b/docs/html/sdlenvvars.html
@@ -436,21 +436,6 @@ ALIGN="LEFT"
VALIGN="TOP"
>epoc
(Epoc) | dummy | void *void SDL_SetCursor
|