mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 15:31:39 +00:00
172 lines
7.9 KiB
Text
172 lines
7.9 KiB
Text
|
The Simple DirectMedia Layer (SDL for short) is a cross-platform
|
||
|
library designed to make it easy to write multi-media software,
|
||
|
such as games and emulators.
|
||
|
|
||
|
The Simple DirectMedia Layer library source code is available from:
|
||
|
http://www.libsdl.org/
|
||
|
|
||
|
This library is distributed under the terms of the GNU LGPL license:
|
||
|
http://www.gnu.org/copyleft/lesser.html
|
||
|
|
||
|
|
||
|
This packages contains the SDL.framework for OS X.
|
||
|
Conforming with Apple guidelines, this framework
|
||
|
contains both the SDL runtime component and development header files.
|
||
|
|
||
|
|
||
|
To Install:
|
||
|
Copy the SDL.framework to /Library/Frameworks
|
||
|
|
||
|
You may alternatively install it in <Your home directory>/Library/Frameworks
|
||
|
if your access privileges are not high enough.
|
||
|
(Be aware that the Xcode templates we provide in the SDL Developer Extras
|
||
|
package may require some adjustment for your system if you do this.)
|
||
|
|
||
|
|
||
|
Known Issues:
|
||
|
???
|
||
|
|
||
|
|
||
|
Additional References:
|
||
|
|
||
|
- Screencast tutorials for getting started with OpenSceneGraph/Mac OS X are
|
||
|
available at:
|
||
|
http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/MacOSXTips
|
||
|
Though these are OpenSceneGraph centric, the same exact concepts apply to
|
||
|
SDL, thus the videos are recommended for everybody getting started with
|
||
|
developing on Mac OS X. (You can skim over the PlugIns stuff since SDL
|
||
|
doesn't have any PlugIns to worry about.)
|
||
|
|
||
|
|
||
|
|
||
|
(Partial) History of PB/Xcode projects:
|
||
|
2009-09-21 - Added 64-bit for Snow Leopard. 10.4 is the new minimum requirement.
|
||
|
Removed 'no X11' targets as
|
||
|
new codebase will assume you have them. Also removed specific #defines
|
||
|
for X11, but needed to add search path to /usr/X11R6/include
|
||
|
|
||
|
2007-12-31 - Enabled strip -x in the Xcode settings and removed it
|
||
|
from the Build DMG script.
|
||
|
Added a per-arch setting for the Deployment targets for OTHER_LDFLAGS_ppc
|
||
|
to re-enable prebinding.
|
||
|
Need to remember to copy these changes to the SDL satellite projects.
|
||
|
|
||
|
2007-12-30 - Updated documentation to reflect new installation paths for
|
||
|
Xcode project templates under Leopard (Xcode 2.5/3.0).
|
||
|
|
||
|
????-??-?? - Added extra targets for building formal releases against the
|
||
|
10.2 SDK so we don't have to keep modifying the settings.
|
||
|
|
||
|
????-??-?? - Added fancy DMG (background logo) support with automation.
|
||
|
|
||
|
2006-05-09 - Added shell script phase to deal with new SDL_config.h
|
||
|
behavior. Encountered what seems to be an Xcode bug with
|
||
|
multiple files of the same name, even when conditional compiling
|
||
|
is controlled by custom #defines (SDL_sysloadso.c). Multiple or
|
||
|
undefined symbols are the result of this.
|
||
|
Recommended that macosx/SDL_sysloadso.c be modified to directly
|
||
|
include the dlopen version of the file via #ifdef's so only
|
||
|
one version needs to exist. Filed a formal bug report with Apple
|
||
|
about this (4542369).
|
||
|
|
||
|
2006-03-22 - gcc 4 visibility features have been added to the code base so I
|
||
|
enabled the switch in Xcode to take advantage of it. Be aware that only
|
||
|
our x86 builds will be exposed to this feature as we still build ppc
|
||
|
with gcc 3.3.
|
||
|
|
||
|
Christian Walther has sent me some great feedback on things that are
|
||
|
broken, so I have made some of these fixes. Among the issues are
|
||
|
compatibility and current library versions are not set to 1 (breaks
|
||
|
backwards compatibility), documentation errors, resource copying
|
||
|
location problems for the SDLTest apps, missing HAVE_OPENGL and
|
||
|
OpenGL.framework linking in testgl.
|
||
|
(Eric Wing)
|
||
|
|
||
|
2006-03-17 - Because the X11 headers are not installed by default with Xcode,
|
||
|
we decided to offer two variants of the same targets (one with X11 stuff
|
||
|
and one without). By default, since the X11 stuff does not necessarily
|
||
|
conflict with the native stuff, we build the libraries with the X11 stuff
|
||
|
so advanced developers can access it by default. However, in the case
|
||
|
that a developer did not install X11 (or just doesn't want the extra bloat),
|
||
|
the user may directly select those targets and build those instead.
|
||
|
|
||
|
Once again, we are attempting to remove the exported symbols file. If
|
||
|
I recall correctly, the clashing symbol problems we got were related
|
||
|
to the CD-ROM code which was formerly in C++. Now that the C++ code
|
||
|
has been purged, we are speculating that we might be able to remove
|
||
|
the exports file safely. The long term solution is to utilize gcc 4's
|
||
|
visibility features.
|
||
|
|
||
|
For the developer extras package, I changed the package format
|
||
|
from a .pkg based installer to a .dmg to avoid requiring
|
||
|
administrator/root to access contents, for better
|
||
|
transparency, and to allow users to more easily control which components
|
||
|
they actually want to install.
|
||
|
I also made changes and updates to the PB/Xcode project templates (see Developer ReadMe).
|
||
|
(Eric Wing)
|
||
|
|
||
|
2006-03-07 - The entire code base has been reorganized and platform specific
|
||
|
defines have been pushed into header files (SDL_config_*.h). This means
|
||
|
that defines that previously had to be defined in the Xcode projects can
|
||
|
be removed (which I have started doing). Furthermore, it appears that the
|
||
|
MMX/SSE code has been rewritten and refactored so it now compiles without
|
||
|
nasm and without making us do strange things to support OS X. However, this
|
||
|
Xcode project still employs architecture specific build options in order to
|
||
|
achieve the mandated 10.2 compatibility. As a result of the code base changes,
|
||
|
there are new public headers. But also as a result of these changes, there are
|
||
|
also new headers that qualify as "PrivateHeaders". Private Headers are headers
|
||
|
that must be exported because a public header includes them, but users shouldn't
|
||
|
directly invoke these. SDL_config_macosx.h and SDL_config_dreamcast.h are
|
||
|
examples of this. We have considered marking these headers as Private, but it
|
||
|
requires that the public headers invoke them via framework conventions, i.e.
|
||
|
#include <FrameworkName/Header.h>
|
||
|
e.g.
|
||
|
#include <SDL/SDL_config_macosx.h>
|
||
|
and not
|
||
|
#include "SDL_config_macosx.h"
|
||
|
However this imposes the restriction that non-framework distributions must
|
||
|
place their headers in a directory called SDL/ (and not SDL11/ like FreeBSD).
|
||
|
Currently, I do not believe this would pose a problem for any of the current
|
||
|
distributions (Fink, DarwinPorts). Or alternatively, users could be
|
||
|
expected/forced to also include the header path:
|
||
|
-I/Library/Frameworks/SDL.framework/PrivateHeaders,
|
||
|
but most people would probably not read the documentation on this.
|
||
|
But currently, we have decided to be conservative and have opted not to
|
||
|
use the PrivateHeaders feature.
|
||
|
(Eric Wing)
|
||
|
|
||
|
2006-01-31 - Updates to build Universal Binaries while retaining 10.2 compatibility.
|
||
|
We were unable to get MMX/SSE support enabled. It is believed that a rewrite of
|
||
|
the assembly code will be necessary to make it position independent and not
|
||
|
require nasm. Altivec has finally been enabled for PPC. (Eric Wing)
|
||
|
|
||
|
2005-09-?? - Had to add back the exports file because it was causing build problems
|
||
|
for some cases. (Eric Wing)
|
||
|
|
||
|
2005-08-21 - First entry in history. Updated for SDL 1.2.9 and Xcode 2.1. Getting
|
||
|
ready for Universal Binaries. Removed the .pkg system for .dmg for due to problems
|
||
|
with broken packages in the past several SDL point releases. Removed usage of SDL
|
||
|
exports file because it has become another point of failure. Introduced new documentation
|
||
|
about SDLMain and how to compile in an devel-lite section of the SDL.dmg. (Eric Wing)
|
||
|
|
||
|
Before history:
|
||
|
SDL 1.2.6? to 1.2.8
|
||
|
Started updating Project Builder projects to Xcode for Panther and Tiger. Also removed
|
||
|
the system that split the single framework into separate runtime and headers frameworks.
|
||
|
This is against Apple conventions and causes problems on multiuser systems.
|
||
|
We now distribute a single framework.
|
||
|
The .pkg system has repeatedly been broken with every new release of OS X.
|
||
|
With 1.2.8, started migrating stuff to .dmg based system to simplify distribution process.
|
||
|
Tried updating the exports file and Perl script generation system for changing syntax. (Eric Wing)
|
||
|
|
||
|
Pre-SDL 1.2.6
|
||
|
Created Project Builder projects for SDL and .pkg based distribution system. (Darrell Walisser)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|