comparison Xcode/SDL/pkg-support/resources/ReadMe.txt @ 2207:d63e9f5944ae

Unpacked project archives to get individual file history in subversion
author Sam Lantinga <slouken@libsdl.org>
date Sat, 21 Jul 2007 17:09:01 +0000
parents
children e8f63b28947d
comparison
equal deleted inserted replaced
2206:ca7d2227d630 2207:d63e9f5944ae
1 The Simple DirectMedia Layer (SDL for short) is a cross-platform
2 library designed to make it easy to write multi-media software,
3 such as games and emulators.
4
5 The Simple DirectMedia Layer library source code is available from:
6 http://www.libsdl.org/
7
8 This library is distributed under the terms of the GNU LGPL license:
9 http://www.gnu.org/copyleft/lesser.html
10
11
12 This packages contains the SDL.framework for OS X.
13 Conforming with Apple guidelines, this framework
14 contains both the SDL runtime component and development header files.
15
16
17 To Install:
18 Copy the SDL.framework to /Library/Frameworks
19
20 You may alternatively install it in <Your home directory>/Library/Frameworks
21 if your access privileges are not high enough.
22 (Be aware that the Xcode templates we provide in the SDL Developer Extras
23 package may require some adjustment for your system if you do this.)
24
25
26 Known Issues:
27 ???
28
29 (Partial) History of PB/Xcode projects:
30 2006-05-09 - Added shell script phase to deal with new SDL_config.h
31 behavior. Encountered what seems to be an Xcode bug with
32 multiple files of the same name, even when conditional compiling
33 is controlled by custom #defines (SDL_sysloadso.c). Multiple or
34 undefined symbols are the result of this.
35 Recommended that macosx/SDL_sysloadso.c be modified to directly
36 include the dlopen version of the file via #ifdef's so only
37 one version needs to exist. Filed a formal bug report with Apple
38 about this (4542369).
39
40 2006-03-22 - gcc 4 visibility features have been added to the code base so I
41 enabled the switch in Xcode to take advantage of it. Be aware that only
42 our x86 builds will be exposed to this feature as we still build ppc
43 with gcc 3.3.
44
45 Christian Walther has sent me some great feedback on things that are
46 broken, so I have made some of these fixes. Among the issues are
47 compatibility and current library versions are not set to 1 (breaks
48 backwards compatibility), documentation errors, resource copying
49 location problems for the SDLTest apps, missing HAVE_OPENGL and
50 OpenGL.framework linking in testgl.
51 (Eric Wing)
52
53 2006-03-17 - Because the X11 headers are not installed by default with Xcode,
54 we decided to offer two variants of the same targets (one with X11 stuff
55 and one without). By default, since the X11 stuff does not necessarily
56 conflict with the native stuff, we build the libraries with the X11 stuff
57 so advanced developers can access it by default. However, in the case
58 that a developer did not install X11 (or just doesn't want the extra bloat),
59 the user may directly select those targets and build those instead.
60
61 Once again, we are attempting to remove the exported symbols file. If
62 I recall correctly, the clashing symbol problems we got were related
63 to the CD-ROM code which was formerly in C++. Now that the C++ code
64 has been purged, we are speculating that we might be able to remove
65 the exports file safely. The long term solution is to utilize gcc 4's
66 visibility features.
67
68 For the developer extras package, I changed the package format
69 from a .pkg based installer to a .dmg to avoid requiring
70 administrator/root to access contents, for better
71 transparency, and to allow users to more easily control which components
72 they actually want to install.
73 I also made changes and updates to the PB/Xcode project templates (see Developer ReadMe).
74 (Eric Wing)
75
76 2006-03-07 - The entire code base has been reorganized and platform specific
77 defines have been pushed into header files (SDL_config_*.h). This means
78 that defines that previously had to be defined in the Xcode projects can
79 be removed (which I have started doing). Furthermore, it appears that the
80 MMX/SSE code has been rewritten and refactored so it now compiles without
81 nasm and without making us do strange things to support OS X. However, this
82 Xcode project still employs architecture specific build options in order to
83 achieve the mandated 10.2 compatibility. As a result of the code base changes,
84 there are new public headers. But also as a result of these changes, there are
85 also new headers that qualify as "PrivateHeaders". Private Headers are headers
86 that must be exported because a public header includes them, but users shouldn't
87 directly invoke these. SDL_config_macosx.h and SDL_config_dreamcast.h are
88 examples of this. We have considered marking these headers as Private, but it
89 requires that the public headers invoke them via framework conventions, i.e.
90 #include <FrameworkName/Header.h>
91 e.g.
92 #include <SDL/SDL_config_macosx.h>
93 and not
94 #include "SDL_config_macosx.h"
95 However this imposes the restriction that non-framework distributions must
96 place their headers in a directory called SDL/ (and not SDL11/ like FreeBSD).
97 Currently, I do not believe this would pose a problem for any of the current
98 distributions (Fink, DarwinPorts). Or alternatively, users could be
99 expected/forced to also include the header path:
100 -I/Library/Frameworks/SDL.framework/PrivateHeaders,
101 but most people would probably not read the documentation on this.
102 But currently, we have decided to be conservative and have opted not to
103 use the PrivateHeaders feature.
104 (Eric Wing)
105
106 2006-01-31 - Updates to build Universal Binaries while retaining 10.2 compatibility.
107 We were unable to get MMX/SSE support enabled. It is believed that a rewrite of
108 the assembly code will be necessary to make it position independent and not
109 require nasm. Altivec has finally been enabled for PPC. (Eric Wing)
110
111 2005-09-?? - Had to add back the exports file because it was causing build problems
112 for some cases. (Eric Wing)
113
114 2005-08-21 - First entry in history. Updated for SDL 1.2.9 and Xcode 2.1. Getting
115 ready for Universal Binaries. Removed the .pkg system for .dmg for due to problems
116 with broken packages in the past several SDL point releases. Removed usage of SDL
117 exports file because it has become another point of failure. Introduced new documentation
118 about SDLMain and how to compile in an devel-lite section of the SDL.dmg. (Eric Wing)
119
120 Before history:
121 SDL 1.2.6? to 1.2.8
122 Started updating Project Builder projects to Xcode for Panther and Tiger. Also removed
123 the system that split the single framework into separate runtime and headers frameworks.
124 This is against Apple conventions and causes problems on multiuser systems.
125 We now distribute a single framework.
126 The .pkg system has repeatedly been broken with every new release of OS X.
127 With 1.2.8, started migrating stuff to .dmg based system to simplify distribution process.
128 Tried updating the exports file and Perl script generation system for changing syntax. (Eric Wing)
129
130 Pre-SDL 1.2.6
131 Created Project Builder projects for SDL and .pkg based distribution system. (Darrell Walisser)
132
133
134
135
136
137
138
139