Skip to content
Browse files

Unpacked Xcode.tar.gz.

  • Loading branch information
icculus committed Sep 11, 2011
1 parent 3b51a56 commit 954d6828d3402dc5924bf12a1f3e7d4aba380905
Showing with 36,489 additions and 9 deletions.
  1. +0 −1 .hgignore
  2. +1 −8 README.MacOSX
  3. BIN Xcode.tar.gz
  4. +28 −0 Xcode/SDL/Info-Framework.plist
  5. +2,609 −0 Xcode/SDL/SDL.xcodeproj/project.pbxproj
  6. +282 −0 Xcode/SDL/pkg-support/Readme SDL Developer.txt
  7. +15 −0 Xcode/SDL/pkg-support/
  8. +15 −0 Xcode/SDL/pkg-support/
  9. +5 −0 Xcode/SDL/pkg-support/devel-resources/ReadMe.txt
  10. +5 −0 Xcode/SDL/pkg-support/devel-resources/Welcome.txt
  11. +76 −0 Xcode/SDL/pkg-support/devel-resources/
  12. +283 −0 Xcode/SDL/pkg-support/resources/License.rtf
  13. +171 −0 Xcode/SDL/pkg-support/resources/ReadMe.txt
  14. +12 −0 Xcode/SDL/pkg-support/resources/ReadMeDevLite.txt
  15. BIN Xcode/SDL/pkg-support/resources/SDL_DS_Store
  16. +150 −0 Xcode/SDL/pkg-support/resources/UniversalBinaryNotes.rtf
  17. BIN Xcode/SDL/pkg-support/sdl_logo.pdf
  18. +32 −0 Xcode/SDLTest/Info-checkkeys__Upgraded_.plist
  19. +32 −0 Xcode/SDLTest/Info-graywin__Upgraded_.plist
  20. +32 −0 Xcode/SDLTest/Info-loopwave__Upgraded_.plist
  21. +32 −0 Xcode/SDLTest/Info-test.plist
  22. +32 −0 Xcode/SDLTest/Info-testalpha__Upgraded_.plist
  23. +32 −0 Xcode/SDLTest/Info-testbitmap__Upgraded_.plist
  24. +32 −0 Xcode/SDLTest/Info-testblitspeed.plist
  25. +32 −0 Xcode/SDLTest/Info-testcdrom__Upgraded_.plist
  26. +32 −0 Xcode/SDLTest/Info-testdyngl.plist
  27. +32 −0 Xcode/SDLTest/Info-testerror__Upgraded_.plist
  28. +32 −0 Xcode/SDLTest/Info-testfile.plist
  29. +32 −0 Xcode/SDLTest/Info-testgamma__Upgraded_.plist
  30. +32 −0 Xcode/SDLTest/Info-testgl__Upgraded_.plist
  31. +32 −0 Xcode/SDLTest/Info-testiconv.plist
  32. +32 −0 Xcode/SDLTest/Info-testjoystick__Upgraded_.plist
  33. +32 −0 Xcode/SDLTest/Info-testkeys__Upgraded_.plist
  34. +32 −0 Xcode/SDLTest/Info-testlock__Upgraded_.plist
  35. +32 −0 Xcode/SDLTest/Info-testoverlay2.plist
  36. +32 −0 Xcode/SDLTest/Info-testoverlay__Upgraded_.plist
  37. +32 −0 Xcode/SDLTest/Info-testpalette__Upgraded_.plist
  38. +32 −0 Xcode/SDLTest/Info-testplatform.plist
  39. +32 −0 Xcode/SDLTest/Info-testsem__Upgraded_.plist
  40. +32 −0 Xcode/SDLTest/Info-testsprite__Upgraded_.plist
  41. +32 −0 Xcode/SDLTest/Info-testthread__Upgraded_.plist
  42. +32 −0 Xcode/SDLTest/Info-testtimer__Upgraded_.plist
  43. +32 −0 Xcode/SDLTest/Info-testtypes__Upgraded_.plist
  44. +32 −0 Xcode/SDLTest/Info-testversion__Upgraded_.plist
  45. +32 −0 Xcode/SDLTest/Info-testvidinfo__Upgraded_.plist
  46. +32 −0 Xcode/SDLTest/Info-testwin__Upgraded_.plist
  47. +32 −0 Xcode/SDLTest/Info-testwm__Upgraded_.plist
  48. +32 −0 Xcode/SDLTest/Info-threadwin__Upgraded_.plist
  49. +32 −0 Xcode/SDLTest/Info-torturethread__Upgraded_.plist
  50. +4,520 −0 Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj
  51. +13 −0 Xcode/SDLTest/libsdlmain_prefix.h
  52. BIN Xcode/TemplatesForXcodeLeopard/SDL Application/English.lproj/InfoPlist.strings
  53. +37 −0 Xcode/TemplatesForXcodeLeopard/SDL Application/Info.plist
  54. +16 −0 Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.h
  55. +383 −0 Xcode/TemplatesForXcodeLeopard/SDL Application/SDLMain.m
  56. +9 −0 Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
  57. BIN Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
  58. +12 −0 Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
  59. +308 −0 Xcode/TemplatesForXcodeLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
  60. +65 −0 Xcode/TemplatesForXcodeLeopard/SDL Application/main.c
  61. BIN Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings
  62. +19 −0 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib
  63. +21 −0 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib
  64. BIN Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib
  65. +37 −0 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/Info.plist
  66. +16 −0 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.h
  67. +383 −0 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/SDLMain.m
  68. +9 −0 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
  69. BIN Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
  70. +12 −0 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
  71. +320 −0 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj
  72. +65 −0 Xcode/TemplatesForXcodeLeopard/SDL Cocoa Application/main.c
  73. BIN Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings
  74. +37 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/Info.plist
  75. +16 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.h
  76. +383 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/SDLMain.m
  77. +9 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
  78. BIN Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
  79. +12 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
  80. +350 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
  81. +459 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.c
  82. +65 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/atlantis.h
  83. +1,934 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/dolphin.c
  84. +1,308 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/shark.c
  85. +188 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/swim.c
  86. +1,798 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/atlantis/whale.c
  87. +179 −0 Xcode/TemplatesForXcodeLeopard/SDL OpenGL Application/main.c
  88. BIN Xcode/TemplatesForXcodeSnowLeopard/SDL Application/English.lproj/InfoPlist.strings
  89. +37 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/Info.plist
  90. +16 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.h
  91. +383 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/SDLMain.m
  92. +9 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
  93. BIN Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
  94. +12 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
  95. +310 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
  96. +65 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Application/main.c
  97. BIN Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/InfoPlist.strings
  98. +19 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib
  99. +21 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib
  100. BIN Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib
  101. +37 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/Info.plist
  102. +16 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.h
  103. +383 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/SDLMain.m
  104. +9 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
  105. BIN .../TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
  106. +12 −0 ...TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
  107. +322 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/___PROJECTNAME___.xcodeproj/project.pbxproj
  108. +65 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL Cocoa Application/main.c
  109. BIN Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/English.lproj/InfoPlist.strings
  110. +37 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/Info.plist
  111. +16 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.h
  112. +383 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/SDLMain.m
  113. +9 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAMEASIDENTIFIER____Prefix.pch
  114. BIN ...TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns
  115. +12 −0 ...emplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist
  116. +352 −0 ...e/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/___PROJECTNAME___.xcodeproj/project.pbxproj
  117. +459 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.c
  118. +65 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/atlantis.h
  119. +1,934 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/dolphin.c
  120. +1,308 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/shark.c
  121. +188 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/swim.c
  122. +1,798 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/atlantis/whale.c
  123. +179 −0 Xcode/TemplatesForXcodeSnowLeopard/SDL OpenGL Application/main.c
  124. BIN Xcode/TemplatesForXcodeTiger/SDL Application/English.lproj/InfoPlist.strings
  125. +28 −0 Xcode/TemplatesForXcodeTiger/SDL Application/Info.plist
  126. +12 −0 Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/TemplateInfo.plist
  127. +324 −0 Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp.xcodeproj/project.pbxproj
  128. +9 −0 Xcode/TemplatesForXcodeTiger/SDL Application/SDLApp_Prefix.pch
  129. +16 −0 Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.h
  130. +383 −0 Xcode/TemplatesForXcodeTiger/SDL Application/SDLMain.m
  131. +65 −0 Xcode/TemplatesForXcodeTiger/SDL Application/main.c
  132. BIN Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/InfoPlist.strings
  133. +19 −0 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/classes.nib
  134. +21 −0 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/info.nib
  135. BIN Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/English.lproj/SDLMain.nib/objects.nib
  136. +28 −0 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/Info.plist
  137. +9 −0 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLApp_Prefix.pch
  138. +12 −0 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/TemplateInfo.plist
  139. +336 −0 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLCocoaApp.xcodeproj/project.pbxproj
  140. +16 −0 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.h
  141. +383 −0 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/SDLMain.m
  142. +65 −0 Xcode/TemplatesForXcodeTiger/SDL Cocoa Application/main.c
  143. BIN Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/English.lproj/InfoPlist.strings
  144. +28 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/Info.plist
  145. +9 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLApp_Prefix.pch
  146. +16 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.h
  147. +383 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLMain.m
  148. +12 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/TemplateInfo.plist
  149. +362 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/SDLOpenGLApp.xcodeproj/project.pbxproj
  150. +459 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.c
  151. +65 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/atlantis.h
  152. +1,934 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/dolphin.c
  153. +1,308 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/shark.c
  154. +188 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/swim.c
  155. +1,798 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/atlantis/whale.c
  156. +179 −0 Xcode/TemplatesForXcodeTiger/SDL OpenGL Application/main.c
  157. +1,558 −0 Xcode/XcodeDocSet/Doxyfile
  158. +20 −0 Xcode/mkxcode.csh
  159. +272 −0 Xcode/package
  160. +25 −0 Xcode/stationary.csh
  161. +32 −0 Xcode/uninstall.csh
@@ -12,7 +12,6 @@ SDL.spec
@@ -108,14 +108,7 @@ These instructions are for using Apple's Xcode IDE to build SDL applications.

- First steps

The first thing to do is to unpack the Xcode.tar.gz archive in the
top level SDL directory (where the Xcode.tar.gz archive resides).
Because Stuffit Expander will unpack the archive into a subdirectory,
you should unpack the archive manually from the command line:
cd [path_to_SDL_source]
tar zxf Xcode.tar.gz
This will create a new folder called Xcode, which you can browse
normally from the Finder.
The Xcode project files are in the "Xcode" directory.

- Building the Framework

BIN -897 KB Xcode.tar.gz
Binary file not shown.
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">
<string>Simple DirectMedia Layer</string>

Large diffs are not rendered by default.

@@ -0,0 +1,282 @@
SDL Mac OS X Developer Notes:
This is an optional developer package to provide extras that an
SDL developer might benefit from.

Make sure you have already installed the SDL.framework
from the SDL.dmg.

For more complete documentation, please see READMEs included
with the SDL source code. Also, don't forget about the API
documentation (also included with this package).

This package contains:
- SDL API Documentation
- A variety of SDLMain and .Nib files to choose from
- Xcode project templates

SDL API Documentation:
We include both the HTML documentation and the man files.
And new to 1.2.14, we introduce an Xocde DocSet which
is generated via Doxygen. These require Xcode 3.0 or greater.

You will need to drill down into the XcodeDocSet directory
from the Documentation folder and find the
org.libsdl.sdl.docset bundle. We recommend you copy this to:


Again, this follows all the standard Xcode patterns
described with the project templates (below). You may need
to create the directories if they don't already exist.
You may install it on a per-user basis.
And you may target specific versions of Xcode
in lieu of using the "Shared" directory.

To use, it is quite simple. Just bring up the Xcode
Documentation Browser window (can be activated through
the Xcode Help Menu) and start searching for something.

If nothing is found on a legitimate search, verify that
the SDL documentation is enabled by opening up the DocSet
popup box below the toolbar in Snow Leopard.
(In Leopard, the DocSets appear in the left-side panel.)

Another handy trick is to use the mouse and Option-Double-Click
on a function or keyword to bring up documentation on the
selected item. Prior to Xcode 3.2 (Snow Leopard), this would
jump you to the entry in the Xcode Documentation Browser.

However, in Xcode 3.2 (Snow Leopard), this behavior has been
altered and you are now given a hovering connected popup box
on the selected item (called Quick Help). Unfortunately, the
Doxygen generated DocSet doesn't currently provide Quick Help
information. You can either follow a link to the main
Documentation Browser from the Quick Help, or alternatively,
you can bypass Quick Help by using Command-Option-Double-Click
instead of Option-Double-Click. (Please file feedback with both
Doxygen and Apple to improve Quick Help integration.)

For those that want to tweak the documentation output,
you can find my Doxyfile in the XcodeDocSet directory in
the Xcode directory of the SDL source code base (and in this package).

One of the most significant options is "Separate Member Pages"
which I disable. When disabled, the documentation is about 6MB.
When enabled, the documentation is closer to 1.6GB (yes gigabytes).
Obviously, distribution will be really hard with sizes that huge
so I disable the option.

I also disabled Dot because there didn't seem to be
much benefit of generating graphs for public C functions.

One thing I would like to see is a CSS file that makes the
Doxygen DocSet look more like the native Apple documentation
style. Style sheets are outside my expertise so I am asking for
contributions on this one. Meanwhile, I also request you send
feedback to Doxygen and Apple about this issue too.

Finally for convenience, I have added a new shell script target
to the Xcode project that builds SDL that refers to my Doxyfile
and generate the DocSet we distribute.

We include several different variations of SDLMain and the
.Nibs. (Each of these are demonstrated by the different PB/Xcode
project templates.) You get to pick which one you want to use,
or you can write your own to meet your own specific needs. We do
not currently provide a libSDLMain.a. You can build it yourself
once you decide which one you want to use though it is easier and
recommended in the SDL FAQ that you just copy the SDLMain.h and
SDLMain.m directly into your project. If you are puzzled by this,
we strongly recommend you look at the different PB/Xcode project
templates to understand their uses and differences. (See Project
Template info below.) Note that the "Nibless" version is the same
version of SDLMain we include the the devel-lite section of the
main SDL.dmg.

Xocde Project Templates:
For convenience, we provide Project Templates for Xcode.
Using Xcode is *not* a requirement for using
the SDL.framework. However, for newbies, we do recommend trying
out the Xcode templates first (and work your way back to raw gcc
if you desire), as the Xcode templates try to setup everything
for you in a working state. This avoids the need to ask those
many reoccuring questions that appear on the mailing list
or the SDL FAQ.

We have provided 3 different kinds of SDL templates for Xcode and have
a different set of templates for each version of Xcode (which generally
correspond with a particular Mac OS X version).
The installion directory depends on which version of Xcode you have.
(Note: These directories may not already exist on your system so you must create them yourself.)

For Leopard and Snow Leopard (Xcode 2.5, 3+), we recommend you install to:
/Library/Application Support/Developer/Shared/Xcode/Project Templates/Application

For Xcode 1.0 to 2.4,
/Library/Application Support/Apple/Developer Tools/Project Templates/Appllcation

Also note you may place it in per-user locations, e.g.
~/Library/Application Support/Developer/Shared/Xcode/Project Templates/Application

And for advanced users who have multiple versions of Xcode installed on a single system,
you may put each set in a directory with the Xcode version number instead of using "Shared", e.g.
/Library/Application Support/Developer/2.5/Xcode/Project Templates/Application
/Library/Application Support/Developer/3.1/Xcode/Project Templates/Application
/Library/Application Support/Developer/3.2/Xcode/Project Templates/Application

Copy each of the SDL/Xcode template directories into the correct location (e.g. "SDL OpenGL Application").
Do not copy our enclosing folder into the location (e.g. TemplatesForXcodeSnowLeopard).
So for example, in:
/Library/Application Support/Developer/Shared/Xcode/Project Templates/Application
you should have the 3 folders:
SDL Application
SDL Cocoa Application
SDL OpenGL Application

After doing this, when doing a File->New Project, you will see the
projects under the Application category.
(Newer versions of Xcode have a separate section for User Templates and it will
appear in the Application category of the User Templates section.)

How to create a new SDL project:

1. Open Xcode
2. Select File->New Project
3. Select SDL Application
4. Name, Save, and Finish
5. Add your sources.
*6. That's it!

* If you installed the SDL.framework to $(HOME)/Library/Frameworks
instead of /Library/Frameworks, you will need to update the
location of the SDL.framework in the "Groups & Files" browser.

The project templates we provide are:
- SDL Application
This is the barebones, most basic version. There is no
customized .Nib file. While still utilizing Cocoa under
the hood, this version may be best suited for fullscreen

- SDL Cocoa Application
This demonstrates the integration of using native
Cocoa Menus with an SDL Application. For applications
designed to run in Windowed mode, Mac users may appreciate
having access to standard menus for things
like Preferences and Quiting (among other things).

- SDL OpenGL Application
This reuses the same SDLMain from the "SDL Application"
temmplate, but also demonstrates how to
bring OpenGL into the mix.

Special Notes:
Only the 10.6 Snow Leopard templates (and later) will include 64-bit in the Universal Binary as
prior versions of OS X lacked the API support SDL requires for 64-bit to work correctly.
To prevent 64-bit SDL executables from being launched on 10.5 Leopard, a special key has been set
in the Info.plist in our Snow Leopard SDL/Xcode templates.

Xcode Tips and Tricks:

- Building from command line
Use the command line tool: xcodebuild (see man page)

- Running your app
You can send command line args to your app by either
invoking it from the command line (in *.app/Contents/MacOS)
or by entering them in the "Executables" panel of the target

- Working directory
As defined in the SDLMain.m file, the working directory of
your SDL app is by default set to its parent. You may wish to
change this to better suit your needs.

Additional References:

- Screencast tutorials for getting started with OpenSceneGraph/Mac OS X are
available at:
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:
2009-09-21 - CustomView template project was removed because it was broken by
the removal of legacy Quicktime support while moving to 64-bit.
ProjectBuilder templates were removed.
Tiger, Leopard, and Snow Leopard Xcode templates were introduced instead of
using a single common template due to the differences between the 3.
(Tiger used a chevron marker for substitution while Leopard/Snow Leopard use ___
and we need the 10.6 SDK for 64-bit.)

2007-12-30 - Updated documentation to reflect new template paths in Leopard
Xcode. Added reference to OSG screencasts.

2006-03-17 - 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.
Introduced and updated documentation.
Created brand new Xcode project templates for Xcode 2.1
based on the old Project Builder templates as they
required Xcode users to "Upgrade to Native Target". The new
templates try to leveage more default options and leverage
more Xcode conventions. The major change that may introduce
some breakage is that I now link to the SDL framework
via the "Group & Files" browser instead of using build
options. The downside to this is that if the user
installs the SDL.framework to a place other than
/Library/Frameworks (e.g. $(HOME)/Library/Frameworks),
the framework will not be found to link to and the user
has to manually fix this. But the upshot is (in addition to
being visually displayed in the forefront) is that it is
really easy to copy (embed) the framework automatically
into the .app bundle on build. So I have added this
feature, which makes the application potentially
drag-and-droppable ready. The Project Builder templates
are mostly unchanged due to the fact that I don't have
Project Builder. I did rename a file extension to .pbxproj
for the SDL Custom Cocoa Application template because
the .pbx extension would not load in my version of Xcode.
For both Project Builder and Xcode templates, I resync'd
the SDLMain.* files for the SDL App and OpenGL App
templates. I think people forget that we have 2 other
SDLMain's (and .Nib's) and somebody needs to go
through them and merge the new changes into those.
I also wrote a fix for the SDL Custom Cocoa App
template in MyController.m. The sprite loading code
needed to be able to find the icon.bmp in the .app
bundle's Resources folder. This change was needed to get
the app to run out of the box. This might change is untested
with Project Builder though and might break it.
There also seemed to be some corruption in the .nib itself.
Merely opening it and saving (allowing IB to correct the
.nib) seemed to correct things.
(Eric Wing)

@@ -0,0 +1,15 @@
Title SDL 1.2.9
Version 1
Description SDL Library for Mac OS X (
DefaultLocation /Developer/Documentation/SDL
Diskname (null)
NeedsAuthorization YES
DisableStop NO
UseUserMask YES
Application NO
Relocatable NO
Required NO
InstallOnly NO
RequiresReboot NO
InstallFat NO
@@ -0,0 +1,15 @@
Title SDL 1.2.8
Version 1
Description SDL Library for Mac OS X (
DefaultLocation /Library/Frameworks
Diskname (null)
NeedsAuthorization NO
DisableStop NO
UseUserMask NO
Application NO
Relocatable YES
Required NO
InstallOnly NO
RequiresReboot NO
InstallFat NO
@@ -0,0 +1,5 @@
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:

This library is distributed under the terms of the GNU LGPL license:
@@ -0,0 +1,5 @@
This package installs documentation and Project Builder stationary for the SDL framework.

The SDL documentation is installed into /Developer/Documentation/SDL.

The SDL Mac OS X Readme is installed into your home directory.

0 comments on commit 954d682

Please sign in to comment.