Mercurial > sdl-ios-xcode
view BUGS @ 1321:e05bc5d315e3
Date: Wed, 1 Feb 2006 18:20:33 -0800
From: Eric Wing
Subject: SDL/Universal Binary updates
Hi Sam,
Attached is a big set of changes to the Xcode projects to support
Universal Binaries. I have also included .dmgs that include the
prebuilt frameworks.
Ryan, I also updated SMPEG which is also in the package.
The SDL and smpeg binaries were built against the CVS version (pulled
maybe a month ago?).
I do not have an Intel Mac to test on so I have no idea if this stuff
actually works. However, Christian Walther has been a big help in
testing 10.2.8 and 10.3.9 so I'm fairly confident we got the build
settings correct for at least PPC.
I have attempted to document the important things for producing these
Universal Binaries. Documentation is somewhat scattered through out
everything, but there is a big centralized piece of documentation in
the UniversalBinaryNotes.rtf in the SDL.dmg.
As far as Universal Binaries are concerned, the big things were:
- Build with gcc 3.3 on PPC, 4.0 on Intel.
- We couldn't get any of the MMX/SSE code to compile/link (SDL and
smpeg).
- All 3rd party dependencies had to be rebuilt as Universal
There were also a bunch of non-Universal things that have been updated:
- I converted the SDL-satellites to create .dmg's instead of .pkg
installers
- Updated all 3rd party static libraries with current versions. (I
think libpng was the most dramatic going from 1.0.? to 1.2.8 with API
breakage. I haven't found any problems so far in doing this.)
- Changed some compiler optimization settings
- Finally updated the exports list for SDL_mixer
- Tried to include a static smpeg in SDL_mixer (multiple build
variants in Xcode project now)
- Enabled Altivec in SDL (we forgot to add the flags to Xcode last time)
- More documentation
Since so many things have changed, there might be new problems
introduced. The big issue I've found so far is with SDL_mixer. As I
mentioned on the mailing list, MP3's produce an assertion failure.
And the MikMod problem reported on Bugzilla continues to persist.
There's probably a bunch of other stuff I'm forgetting. There really
were hundreds of little things I mucked with so it's hard to remember
them all.
If you have any questions, feel free to ask.
Thanks,
Eric
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 02 Feb 2006 06:26:39 +0000 |
parents | 9867f3d86e44 |
children | f12379c41042 |
line wrap: on
line source
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. :-/ 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. 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) 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. 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. 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. 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. MacOS 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. MacOS 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