Xcode/SDL/pkg-support/resources/ReadMe.txt
changeset 3303 9e9a2476f704
child 6250 cce0ddcf6747
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/Xcode/SDL/pkg-support/resources/ReadMe.txt	Thu Sep 24 07:13:02 2009 +0000
     1.3 @@ -0,0 +1,171 @@
     1.4 +The Simple DirectMedia Layer (SDL for short) is a cross-platform 
     1.5 +library designed to make it easy to write multi-media software, 
     1.6 +such as games and emulators.
     1.7 +
     1.8 +The Simple DirectMedia Layer library source code is available from: 
     1.9 +http://www.libsdl.org/
    1.10 +
    1.11 +This library is distributed under the terms of the GNU LGPL license: 
    1.12 +http://www.gnu.org/copyleft/lesser.html
    1.13 +
    1.14 +
    1.15 +This packages contains the SDL.framework for OS X. 
    1.16 +Conforming with Apple guidelines, this framework 
    1.17 +contains both the SDL runtime component and development header files.
    1.18 +
    1.19 +
    1.20 +To Install:
    1.21 +Copy the SDL.framework to /Library/Frameworks
    1.22 +
    1.23 +You may alternatively install it in <Your home directory>/Library/Frameworks 
    1.24 +if your access privileges are not high enough. 
    1.25 +(Be aware that the Xcode templates we provide in the SDL Developer Extras 
    1.26 +package may require some adjustment for your system if you do this.)
    1.27 +
    1.28 +
    1.29 +Known Issues:
    1.30 +???
    1.31 +
    1.32 +
    1.33 +Additional References:
    1.34 +
    1.35 + - Screencast tutorials for getting started with OpenSceneGraph/Mac OS X are 
    1.36 + 	available at:
    1.37 +	http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/MacOSXTips
    1.38 +	Though these are OpenSceneGraph centric, the same exact concepts apply to 
    1.39 +	SDL, thus the videos are recommended for everybody getting started with
    1.40 +	developing on Mac OS X. (You can skim over the PlugIns stuff since SDL
    1.41 +	doesn't have any PlugIns to worry about.)
    1.42 +
    1.43 +
    1.44 +
    1.45 +(Partial) History of PB/Xcode projects:
    1.46 +2009-09-21 - Added 64-bit for Snow Leopard. 10.4 is the new minimum requirement.
    1.47 +	Removed 'no X11' targets as 
    1.48 +	new codebase will assume you have them. Also removed specific #defines
    1.49 +	for X11, but needed to add search path to /usr/X11R6/include
    1.50 +	
    1.51 +2007-12-31 - Enabled strip -x in the Xcode settings and removed it 
    1.52 +	from the Build DMG script.
    1.53 +	Added a per-arch setting for the Deployment targets for OTHER_LDFLAGS_ppc
    1.54 +	to re-enable prebinding.
    1.55 +	Need to remember to copy these changes to the SDL satellite projects.
    1.56 +
    1.57 +2007-12-30 - Updated documentation to reflect new installation paths for
    1.58 +	Xcode project templates under Leopard (Xcode 2.5/3.0).
    1.59 +
    1.60 +????-??-?? - Added extra targets for building formal releases against the
    1.61 +	10.2 SDK so we don't have to keep modifying the settings.
    1.62 +
    1.63 +????-??-?? - Added fancy DMG (background logo) support with automation.
    1.64 +
    1.65 +2006-05-09 - Added shell script phase to deal with new SDL_config.h 
    1.66 +	behavior. Encountered what seems to be an Xcode bug with 
    1.67 +	multiple files of the same name, even when conditional compiling
    1.68 +	is controlled by custom #defines (SDL_sysloadso.c). Multiple or
    1.69 +	undefined symbols are the result of this.
    1.70 +	Recommended that macosx/SDL_sysloadso.c be modified to directly 
    1.71 +	include the dlopen version of the file via #ifdef's so only
    1.72 +	one version needs to exist. Filed a formal bug report with Apple 
    1.73 +	about this (4542369).
    1.74 +
    1.75 +2006-03-22 - gcc 4 visibility features have been added to the code base so I 
    1.76 +	enabled the switch in Xcode to take advantage of it. Be aware that only
    1.77 +	our x86 builds will be exposed to this feature as we still build ppc 
    1.78 +	with gcc 3.3.
    1.79 +	
    1.80 +	Christian Walther has sent me some great feedback on things that are 
    1.81 +	broken, so I have made some of these fixes. Among the issues are
    1.82 +	compatibility and current library versions are not set to 1 (breaks
    1.83 +	backwards compatibility), documentation errors, resource copying 
    1.84 +	location problems for the SDLTest apps, missing HAVE_OPENGL and
    1.85 +	OpenGL.framework linking in testgl.
    1.86 +	(Eric Wing)
    1.87 +
    1.88 +2006-03-17 - Because the X11 headers are not installed by default with Xcode,
    1.89 +	we decided to offer two variants of the same targets (one with X11 stuff
    1.90 +	and one without). By default, since the X11 stuff does not necessarily 
    1.91 +	conflict with the native stuff, we build the libraries with the X11 stuff 
    1.92 +	so advanced developers can access it by default. However, in the case
    1.93 +	that a developer did not install X11 (or just doesn't want the extra bloat),
    1.94 +	the user may directly select those targets and build those instead.
    1.95 +	
    1.96 +	Once again, we are attempting to remove the exported symbols file. If 
    1.97 +	I recall correctly, the clashing symbol problems we got were related
    1.98 +	to the CD-ROM code which was formerly in C++. Now that the C++ code
    1.99 +	has been purged, we are speculating that we might be able to remove
   1.100 +	the exports file safely. The long term solution is to utilize gcc 4's
   1.101 +	visibility features.
   1.102 +
   1.103 +	For the developer extras package, I changed the package format 
   1.104 +	from a .pkg based installer to a .dmg to avoid requiring 
   1.105 +	administrator/root to access contents, for better 
   1.106 +	transparency, and to allow users to more easily control which components 
   1.107 +	they actually want to install.
   1.108 +	I also made changes and updates to the PB/Xcode project templates (see Developer ReadMe).
   1.109 +	(Eric Wing)
   1.110 +
   1.111 +2006-03-07 - The entire code base has been reorganized and platform specific 
   1.112 +	defines have been pushed into header files (SDL_config_*.h). This means 
   1.113 +	that defines that previously had to be defined in the Xcode projects can 
   1.114 +	be removed (which I have started doing). Furthermore, it appears that the 
   1.115 +	MMX/SSE code has been rewritten and refactored so it now compiles without 
   1.116 +	nasm and without making us do strange things to support OS X. However, this 
   1.117 +	Xcode project still employs architecture specific build options in order to 
   1.118 +	achieve the mandated 10.2 compatibility. As a result of the code base changes, 
   1.119 +	there are new public headers. But also as a result of these changes, there are 
   1.120 +	also new headers that qualify as "PrivateHeaders". Private Headers are headers 
   1.121 +	that must be exported because a public header includes them, but users shouldn't 
   1.122 +	directly invoke these. SDL_config_macosx.h and SDL_config_dreamcast.h are 
   1.123 +	examples of this. We have considered marking these headers as Private, but it 
   1.124 +	requires that the public headers invoke them via framework conventions, i.e.
   1.125 +	#include <FrameworkName/Header.h>
   1.126 +	e.g.
   1.127 +	#include <SDL/SDL_config_macosx.h>
   1.128 +	and not
   1.129 +	#include "SDL_config_macosx.h"
   1.130 +	However this imposes the restriction that non-framework distributions must
   1.131 +	 place their headers in a directory called SDL/ (and not SDL11/ like FreeBSD). 
   1.132 +	 Currently, I do not believe this would pose a problem for any of the current 
   1.133 +	 distributions (Fink, DarwinPorts). Or alternatively, users could be 
   1.134 +	 expected/forced to also include the header path: 
   1.135 +	 -I/Library/Frameworks/SDL.framework/PrivateHeaders, 
   1.136 +	 but most people would probably not read the documentation on this. 
   1.137 +	 But currently, we have decided to be conservative and have opted not to 
   1.138 +	 use the PrivateHeaders feature.
   1.139 +	(Eric Wing)
   1.140 +
   1.141 +2006-01-31 - Updates to build Universal Binaries while retaining 10.2 compatibility. 
   1.142 +	We were unable to get MMX/SSE support enabled. It is believed that a rewrite of 
   1.143 +	the assembly code will be necessary to make it position independent and not 
   1.144 +	require nasm. Altivec has finally been enabled for PPC. (Eric Wing)
   1.145 +
   1.146 +2005-09-?? - Had to add back the exports file because it was causing build problems
   1.147 +	for some cases. (Eric Wing)
   1.148 +
   1.149 +2005-08-21 - First entry in history. Updated for SDL 1.2.9 and Xcode 2.1. Getting 
   1.150 +	ready for Universal Binaries. Removed the .pkg system for .dmg for due to problems 
   1.151 +	with broken packages in the past several SDL point releases. Removed usage of SDL 
   1.152 +	exports file because it has become another point of failure. Introduced new documentation 
   1.153 +	about SDLMain and how to compile in an devel-lite section of the SDL.dmg. (Eric Wing)
   1.154 +
   1.155 +Before history:
   1.156 +SDL 1.2.6? to 1.2.8
   1.157 +Started updating Project Builder projects to Xcode for Panther and Tiger. Also removed 
   1.158 +the system that split the single framework into separate runtime and headers frameworks. 
   1.159 +This is against Apple conventions and causes problems on multiuser systems. 
   1.160 +We now distribute a single framework.
   1.161 +The .pkg system has repeatedly been broken with every new release of OS X. 
   1.162 +With 1.2.8, started migrating stuff to .dmg based system to simplify distribution process. 
   1.163 +Tried updating the exports file and Perl script generation system for changing syntax. (Eric Wing)
   1.164 +
   1.165 +Pre-SDL 1.2.6 
   1.166 +Created Project Builder projects for SDL and .pkg based distribution system. (Darrell Walisser)
   1.167 +
   1.168 +
   1.169 +
   1.170 +
   1.171 +
   1.172 +
   1.173 +
   1.174 +