Commit 4fc2b759 authored by Sam Lantinga's avatar Sam Lantinga

Getting ready for a new Xcode project from Eric Wing

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403892
parent 8c7dddc1
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>SDL</string>
<key>CFBundleGetInfoString</key>
<string>http://www.libsdl.org</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>SDL</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Simple DirectMedia Layer</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.2.9</string>
<key>CFBundleSignature</key>
<string>SDLX</string>
<key>CFBundleVersion</key>
<string>1.2.10</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>SDL</string>
<key>CFBundleGetInfoString</key>
<string>http://www.libsdl.org</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>SDL</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Simple DirectMedia Layer</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.2.9</string>
<key>CFBundleSignature</key>
<string>SDLX</string>
<key>CFBundleVersion</key>
<string>1.2.10</string>
</dict>
</plist>
This source diff could not be displayed because it is too large. You can view the blob instead.
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 Builder project templates
SDL API Documentation:
We include both the HTML documentation and the man files. For
the HTML documentation, we have previously been installing to
/Develoepr/Documentation, but Apple explicitly says this is not
intended for 3rd party documentation. Xcode installs/updates
reserve the right and have been known to completely purge the
/Developer directory before installation, so if you place stuff
there, be aware that it could be deleted.
SDLMain:
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.
Project Builder/Xocde Project Templates:
For convenience, we provide Project Templates for Xcode and
Project Builder. 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.
Xcode 2.1+ users may use the templates in TemplatesForXcode folder.
Project Builder and Xcode <= 2.0 users will need to use the
templates in TemplatesForProjectBuilder folder.
We have provided 4 different kinds of SDL templates for Xcode.
We recommend you copy each of the template folders to:
/Library/Application Support/Apple/Developer Tools/Project Templates/Appllcation (for system-wide)
or
~/Library/Application Support/Apple/Developer Tools/Project Templates/Appllcation (for per-user)
(Project Builder users will need to copy to /Developer/ProjectBuilder Extras).
After doing this, when doing a File->New Project, you will see the
projects under the Application category.
How to create a new SDL project:
1. Open Xcode (or Project Builder)
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.
** For Xcode users using Project Builder templates, you may
want to convert the project to native Xcode targets since
our current templates are Project Builder based.
Go to the Menu->Project->Upgrade All Targets to Native
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
applications.
- 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 Custom Cocoa Application
This application demonstrates the integration of SDL with
native Cocoa widgets. This shows how
you can get native Cocoa widgets like buttons, sliders,
etc. to interact/integrate with your SDL application.
- SDL OpenGL Application
This reuses the same SDLMain from the "SDL Application"
temmplate, but also demonstrates how to
bring OpenGL into the mix.
Project Builder/Xcode Tips and Tricks:
- Building from command line
Use pbxbuild in the same directory as your .pbproj file
(Xcode has xcodebuild)
- 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
settings, or the "Executables" tab in the main window
in Project Builder 2.0.
- 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.
Partial History:
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)
Title SDL 1.2.9
Version 1
Description SDL Library for Mac OS X (http://www.libsdl.org)
DefaultLocation /Developer/Documentation/SDL
Diskname (null)
DeleteWarning
NeedsAuthorization YES
DisableStop NO
UseUserMask YES
Application NO
Relocatable NO
Required NO
InstallOnly NO
RequiresReboot NO
InstallFat NO
Title SDL 1.2.8
Version 1
Description SDL Library for Mac OS X (http://www.libsdl.org)
DefaultLocation /Library/Frameworks
Diskname (null)
DeleteWarning
NeedsAuthorization NO
DisableStop NO
UseUserMask NO
Application NO
Relocatable YES
Required NO
InstallOnly NO
RequiresReboot NO
InstallFat NO
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
\ No newline at end of file
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.
#!/bin/sh
# finish up the installation
# this script should be executed using the sudo command
# this file is copied to SDL-devel.post_install and SDL-devel.post_upgrade
# inside the .pkg bundle
echo "Running post-install script"
umask 022
USER=`basename ~`
echo "User is \"$USER\""
ROOT=/Developer/Documentation/SDL
echo "Fixing framework permissions"
find $ROOT -type d -exec chmod a+rx {} \;
find $ROOT -type f -exec chmod a+r {} \;
## We're not installing frameworks here anymore. The single
## framework should be installed to /Library/Frameworks which
## is handled by the standard package (not developer package).
## Using the home directory here is problematic for multi-user systems too.
# echo "Moving SDL.framework to ~/Library/Frameworks"
# move SDL to its proper home, so the target stationary works
#sudo -u $USER mkdir -p ~/Library/Frameworks
#sudo -u $USER /Developer/Tools/CpMac -r $ROOT/SDL.framework ~/Library/Frameworks
## I'm not sure where this gets created and what's put in there.
rm -rf $ROOT/SDL.framework
## I think precompiled headers have changed through the revisions of Apple's gcc.
## I don't know how useful this is anymore w.r.t. Apple's newest system for precompiled headers.
## I'm removing this for now.
# echo "Precompiling Header"
# precompile header for speedier compiles
#sudo -u $USER /usr/bin/cc -precomp ~/Library/Frameworks/SDL.framework/Headers/SDL.h -o ~/Library/Frameworks/SDL.framework/Headers/SDL.p
# find the directory to store stationary in
if [ -e "/Library/Application Support/Apple/Developer Tools" ] ; then
echo "Installing project stationary for XCode"
PBXDIR="/Library/Application Support/Apple/Developer Tools"
else
echo "Installing project stationary for Project Builder"
PBXDIR="/Developer/ProjectBuilder Extras"
fi
# move stationary to its proper home
mkdir -p "$PBXDIR/Project Templates/Application"
mkdir -p "$PBXDIR/Target Templates/SDL"
cp -r "$ROOT/Project Stationary/SDL Application" "$PBXDIR/Project Templates/Application/"
cp -r "$ROOT/Project Stationary/SDL Cocoa Application" "$PBXDIR/Project Templates/Application/"
cp -r "$ROOT/Project Stationary/SDL Custom Cocoa Application" "$PBXDIR/Project Templates/Application/"
cp -r "$ROOT/Project Stationary/SDL OpenGL Application" "$PBXDIR/Project Templates/Application/"
cp "$ROOT/Project Stationary/Application.trgttmpl" "$PBXDIR/Target Templates/SDL/"
rm -rf "$ROOT/Project Stationary"
# Actually, man doesn't check this directory by default, so this isn't
# very helpful anymore.
#echo "Installing Man Pages"
## remove old man pages
#rm -rf "/Developer/Documentation/ManPages/man3/SDL"*
#
## install man pages
#mkdir -p "/Developer/Documentation/ManPages/man3"
#cp "$ROOT/docs/man3/SDL"* "/Developer/Documentation/ManPages/man3/"
#rm -rf "$ROOT/docs/man3"
#
#echo "Rebuilding Apropos Database"
## rebuild apropos database
#/usr/libexec/makewhatis
# copy README file to your home directory
sudo -u $USER cp "$ROOT/Readme SDL Developer.txt" ~/
# open up the README file
sudo -u $USER open ~/"Readme SDL Developer.txt"
This diff is collapsed.
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:
???
(Partial) History of PB/Xcode projects:
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 is an example 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)
This directory is for developers. This directory contains some basic essentials you will need for developing SDL based applications on OS X. The SDL-devel package contains all of this stuff plus more, so you can ignore this if you install the SDL-devel.pkg. The SDL-devel package contains Project Builder/Xcode templates, SDL documentation, and different variations of SDLmain and NIB files for SDL.
To compile an SDL based application on OS X, SDLMain.m must be compiled into your program. (See the SDL FAQ). The SDL-devel.pkg includes Project Builder/Xcode templates which already do this for you. But for those who may not want to install the dev package, an SDLMain is provided here as a convenience. Be aware that there are different variations of SDLMain.m depending on what class of SDL application you make and they are intended to work with NIB files. Only one SDLMain variant is provided here and without any NIB files. You should look to the SDL-devel package for the others. We currently do not provide a SDLMain.a file, partly to call to attention that there are different variations of SDLmain.
To build from the command line, your gcc line will look something like this:
gcc -I/Library/Frameworks/SDL.framework/Headers MyProgram.c SDLmain.m -framework SDL -framework Cocoa
An SDL/OpenGL based application might look like:
gcc -I/Library/Frameworks/SDL.framework/Headers -I/System/Library/Frameworks/OpenGL.framework/Headers MyProgram.c SDLmain.m -framework SDL -framework Cocoa -framework OpenGL
{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf330
{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fnil\fcharset77 LucidaGrande;
\f3\fmodern\fcharset77 Courier-Oblique;}
{\colortbl;\red255\green255\blue255;}
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid0\'02\'05.;}{\levelnumbers\'01;}}{\listname ;}\listid1}}
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f0\b\fs24 \cf0 Universal Binary Notes:\
\f1\b0 \
Below is an overview of what we had to do to build Universal Binaries for SDL (and satellites). The document is provided to help others understand what the heck we had to do to get this to work so they know (and don't break) any settings we have set to accomplish this. It also describes areas of problems for those who might attempt to fix them after us.\
\
\
It turns out that developing a Universal Binary for SDL was a painful process, but not for the typical reasons affecting most other developers. SDL is already platform clean and has an Xcode project which are usually the two biggest obstacles. (The only real code bug we had to fix was in SDL_mixer, but that was due to a Quicktime issue so we can blame the Quicktime authors.)\
\
But developing a Universal Binary was painful to us for several reasons:\
\
\pard\tx220\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li720\fi-720\ql\qnatural\pardirnatural
\ls1\ilvl0\cf0 {\listtext \'a5 }SDL must retain compatibility with 10.2 (Jaguar)\
\
{\listtext \'a5 }SDL has processor specific optimizations (Altivec, MMX/SSE)\
\
{\listtext \'a5 }The SDL satellites (SDL_mixer, SDL_image, SDL_ttf) have 3rd party dependencies which we currently statically link against. All of these dependencies needed to be updated/recompiled with the same above constraints.\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 \
For retaining compatibility with 10.2, we have experimentally determined that there is no reliable way to use gcc 4.0.x to compile a binary that works under Jaguar. With the gcc 4.0 that shipped in Xcode 2.1, libgcc_s was automatically linked against. This library does not exist on systems prior to 10.3.9. After filing a bug report, Apple removed this automatic linking in gcc 4.0.1 which shipped with Xcode 2.2, but we discovered that we suffered from undefined symbols to things in the printf family library. (They seem to be new symbols related to printing long doubles, etc.)\
\
So to accomplish our compatibility goals, we had to find and exploit some lesser known features of Xcode that allow us to specify architecture specific build flags found here:\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
{\field{\*\fldinst{HYPERLINK "http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide/Contents/Resources/en.lproj/05_07_bs_building_product/chapter_33_section_6.html#//apple_ref/doc/uid/TP40002693-SW3"}}{\fldrslt \cf0 http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide/Contents/Resources/en.lproj/05_07_bs_building_product/chapter_33_section_6.html#//apple_ref/doc/uid/TP40002693-SW3}}\
\
The first and most important of these is the
\f2 GCC_VERSION flag which lets us set gcc 3.3 for PowerPC and gcc 4.0 for Intel.\
\
But we also needed to verify other options such as the deployment target and SDK. Experimentally, we found that the Deployment target did very little for us except retain prebinding. Setting it to anything less than 10.4 allows for prebinding to remain active.\
\
For the SDK's, we found that Apple does link against different versions of system components. But experimentally, we discovered we could still link to the 10.4u SDK and things would still work on Jaguar. Ideally we should probably link to the 10.2.8 SDK for PowerPC. But in reality, most people don't install the 10.2.8 SDK on their system (it is not a default component) so we didn't want to confuse people as setting this would likely cause people's compile to fail the first time they try and they would have to understand the reason for this. We did leave the architecture specific SDKROOT option set explicitly to make it easy to change in case we need to.\
\
For the Altivec and MMX/SSE options, we had to use architecture specific build flags. Furthermore, to use SSE, we also had to include the assembly code. This caused us problems because there is no easy way to tell Xcode to use files only for a specific architecture. So the PowerPC side got confused on the .asm files and would fail to compile. \
\
Pushing forward, we ignored PPC for the moment to see if we could at least build an optimized x86 build and then use lipo manually to merge the results. We encountered additional problems. First the alignment needed to be changed for reasons outside my knowledge base. We changed all instances of .align 16 to .align 8. This seemed to fix the compile problems. But at the linking stage, we got errors such as:\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li640\fi-640\ql\qnatural\pardirnatural
\f3\i\fs22 \cf0 ld: /Users/ewing/DEVELOPMENT/CODETEST/UniversalBinarySDL/SDL12/Xcode/SDL/build/SDL.build/Deployment/Framework.build/Objects-normal/i386/SDL_yuv_mmx.o has local relocation entries in non-writable section (__TEXT,__text)\
/usr/bin/libtool: internal link edit command failed\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
\f2\i0\fs24 \cf0 \
Our belief is that the assembly code is not position independent and thus will not work for us. We double checked for any OS X gcc flags that control position independence, but everything seemed to be in order. As such, we cannot compile MMX/SSE optimizations until they are rewritten, preferably without the nasm requirement to accommodate the dual PPC/x86 Xcode limitations.\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 \
So for now, we have unchecked (checkbox) the assembly specific files in the Xcode project and have removed the -DUSE_ASMBLIT flag from OTHER_CFLAGS_i386. To reactivate this stuff, you will need to recheck the boxes and re-add the flag.\
\
The files are\
SDL_mixer_MMX.c/h\
The files under hermes\
and SDL_yuv_mmx.c\
\
\
\
For the SDL satellites, it was more of the same. The painful part was that the 3rd library dependencies needed to be rebuilt. (Some of our libraries were out of date, so this was an opportunity to update them.) But this meant changing those build systems as well. \
\
These are the versions I used:\
libpng-1.2.8\
libjpeg-6b\
libogg-1.1.3\
libvorbis-1.1.2\
smpeg cvs\
\
We found that Apple already had a libfreetype in the 10.4u SDK so we just used that one which seemed to work. (For the record, the question did come up of why we statically link against this when it seems to be a standard component on Panther and Tiger. We double checked, and it did not seem to be in Jaguar. So that's why.)\
\
The old libpng turned out to be from the 1.0.x branch so we needed to replace all the headers we had as well. Updating to the 1.2.x branch didn't seem to cause any problems we could detect.\
\
libpng and libjpeg lack an Xcode project so we mucked with their build system to produce Universal Binaries. But since we needed PPC to be compiled with 3.3 and Intel to be compiled with 4.0, it ended up that we built multiple times changing the compiler, and then using lipo to strip and combine the binaries.\
\
libogg/libvorbis did contain Xcode projects, but didn't build static libraries so we had to add that. We also discovered that not building with gcc 3.3 caused us addition missing symbol runtime problems with float versions of math functions (sinf, sqrtf, etc).\
\
It seems that once upon a time, the SDL_mixer framework supported MP3's via SMPEG, but this disappeared at some point. I don't know why or how this happened. But I also don't know how SMPEG was ever used with the framework as there was no preexisting infrastructure as with the other libraries. So I have attempted to correct this oversight, however, the SMPEG framework itself has MMX code which has also turned out to be problematic. I am getting compiler errors of "
\f3\i\fs22 Unknown pseudo-op:"
\f2\i0\fs24 for
\f3\i\fs22 .type
\f2\i0\fs24 and
\f3\i\fs22 .size.
\f2\i0\fs24 \
So SMPEG is currently compiled without MMX optimizations.\
\
\
\
\
Addendum: \
2006-03-06:\
The main SDL code base (not the satellites) have undergone an overhaul. The required platform specific defines have been moved out of the build system into platform specific header files (SDL_config_*.h). This allows us to simplify the Xcode projects somewhat, but we still must maintain the architecture specific build options to invoke gcc 3.3 to maintain our mandated 10.2 compatibilty requirement.\
\
Also it appears that the MMX/SSE code has been rewritten as well so that the obstacles we faced in compiling in these optimizations are no longer problems. The binaries we produce should now contain the processor specific optimizations. (Remember this note only applies to SDL and not the satellites, such as SMPEG.)\
\
\
\
Contributers:\
Eric Wing (Xcode projects, 3rd party dependencies, documentation)\
Christian Walther (10.2.8 and 10.3.9 testing/verification)\
Ryan Gordon (converted C++ code in SDL/OSX code base to pure C)\
Martin Storsj\'9a (libgcc_s testing/verification)\
Stephane Marchesin (MMX/SSE code expert)\
\
\
\
\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\f1 \cf0 \
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>checkkeys</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>graywin</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>loopwave</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testalpha</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testalpha</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testbitmap</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testalpha</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testcdrom</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testalpha</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testerror</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testalpha</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testgamma</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testgl</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testalpha</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testjoystick</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testkeys</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testlock</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testalpha</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string></string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testpalette</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testalpha</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testsem</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testsprite</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testthread</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testtimer</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testtypes</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testversion</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testvidinfo</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testwin</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>com.yourcompany.testwm2</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>com.yourcompany.testwm2</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>testwm</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>threadwin</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>torturethread</string>
<key>CFBundleGetInfoString</key>
<string></string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string></string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string></string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0.1d1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
This diff is collapsed.
/*
* libsdlmain_prefix.h
* SDLTest
*
* Created by Darrell Walisser on Wed Aug 06 2003.
* Copyright (c) 2003 __MyCompanyName__. All rights reserved.
*
*/
#include <Cocoa/Cocoa.h>
#include <Carbon/Carbon.h>
#include "SDL.h"
#include "SDLMain.h"
\ No newline at end of file
{
Class = Application;
Description = "Target for building a SDL application.";
CustomBuildSettings = {
WRAPPER_EXTENSION = "app";
FRAMEWORK_SEARCH_PATHS = "\"/Library/Frameworks\"";
HEADER_SEARCH_PATHS = "\"/Library/Frameworks/SDL.framework/Headers\"";
OTHER_LDFLAGS = "-framework Cocoa -framework SDL";
};
CustomProductSettings = {
NSPrincipalClass = "NSApplication";
NSMainNibFile = "SDLMain.nib";
};
InstallationPath = "$(SYSTEM_APPS_DIR)";
WrapperExtension = "app";
}
Binary files a/Xcode/TemplatesForProjectBuilder/SDL Application/English.lproj/InfoPlist.strings and /dev/null differ Binary files a/Xcode/TemplatesForProjectBuilder/SDL Application/English.lproj/InfoPlist.strings and /dev/null differ
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Description</key>
<string>This project builds an SDL-based application.</string>
<key>FilesToMacroExpand</key>
<array>
<string>English.lproj/InfoPlist.strings</string>
</array>
</dict>
</plist>
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 34;
objects = {
080E96DDFE201D6D7F000001 = {
children = (
F5A47A9D01A0482F01D3D55B,
F5A47A9E01A0483001D3D55B,
);
isa = PBXGroup;
name = Classes;
refType = 4;
};
089C165CFE840E0CC02AAC07 = {
children = (
089C165DFE840E0CC02AAC07,
);
isa = PBXVariantGroup;
name = InfoPlist.strings;
refType = 4;
};
089C165DFE840E0CC02AAC07 = {
fileEncoding = 10;
isa = PBXFileReference;
name = English;
path = English.lproj/InfoPlist.strings;
refType = 4;
};
089C165EFE840E0CC02AAC07 = {
fileRef = 089C165CFE840E0CC02AAC07;
isa = PBXBuildFile;
settings = {
};
};
//080
//081
//082
//083
//084
//100
//101
//102
//103
//104
1058C7A0FEA54F0111CA2CBB = {
children = (
1058C7A1FEA54F0111CA2CBB,
);
isa = PBXGroup;
name = "Linked Frameworks";
refType = 4;
};
1058C7A1FEA54F0111CA2CBB = {
isa = PBXFrameworkReference;
name = Cocoa.framework;
path = /System/Library/Frameworks/Cocoa.framework;
refType = 0;
};
1058C7A2FEA54F0111CA2CBB = {
children = (
29B97325FDCFA39411CA2CEA,
29B97324FDCFA39411CA2CEA,
);
isa = PBXGroup;
name = "Other Frameworks";
refType = 4;
};
1058C7A3FEA54F0111CA2CBB = {
fileRef = 1058C7A1FEA54F0111CA2CBB;
isa = PBXBuildFile;
settings = {
};
};
//100
//101
//102
//103
//104
//170
//171
//172
//173
//174
17587328FF379C6511CA2CBB = {
isa = PBXApplicationReference;
path = "«PROJECTNAME».app";
refType = 3;
};
//170
//171
//172
//173
//174
//190
//191
//192
//193
//194
19C28FACFE9D520D11CA2CBB = {
children = (
17587328FF379C6511CA2CBB,
);
isa = PBXGroup;
name = Products;
refType = 4;
};
//190
//191
//192
//193
//194
//290
//291
//292
//293
//294
29B97313FDCFA39411CA2CEA = {
buildStyles = (
4A9504CCFFE6A4B311CA0CBA,
4A9504CDFFE6A4B311CA0CBA,
);
isa = PBXProject;
mainGroup = 29B97314FDCFA39411CA2CEA;
projectDirPath = "";
targets = (
29B97326FDCFA39411CA2CEA,
);
};
29B97314FDCFA39411CA2CEA = {
children = (
080E96DDFE201D6D7F000001,
29B97315FDCFA39411CA2CEA,
29B97317FDCFA39411CA2CEA,
29B97323FDCFA39411CA2CEA,
19C28FACFE9D520D11CA2CBB,
);
isa = PBXGroup;
name = "«PROJECTNAMEASXML»";
path = "";
refType = 4;
};
29B97315FDCFA39411CA2CEA = {
children = (
F5A47A9F01A0483001D3D55B,
);
isa = PBXGroup;
name = "Other Sources";
path = "";
refType = 4;
};
29B97317FDCFA39411CA2CEA = {
children = (
089C165CFE840E0CC02AAC07,
);
isa = PBXGroup;
name = Resources;
path = "";
refType = 4;
};
29B97323FDCFA39411CA2CEA = {
children = (
1058C7A0FEA54F0111CA2CBB,
1058C7A2FEA54F0111CA2CBB,
);
isa = PBXGroup;
name = Frameworks;
path = "";
refType = 4;
};
29B97324FDCFA39411CA2CEA = {
isa = PBXFrameworkReference;
name = AppKit.framework;
path = /System/Library/Frameworks/AppKit.framework;
refType = 0;
};
29B97325FDCFA39411CA2CEA = {
isa = PBXFrameworkReference;
name = Foundation.framework;
path = /System/Library/Frameworks/Foundation.framework;
refType = 0;
};
29B97326FDCFA39411CA2CEA = {
buildPhases = (
29B97327FDCFA39411CA2CEA,
29B97328FDCFA39411CA2CEA,
29B9732BFDCFA39411CA2CEA,
29B9732DFDCFA39411CA2CEA,
);
buildSettings = {
FRAMEWORK_SEARCH_PATHS = "\"/Library/Frameworks\"";
HEADER_SEARCH_PATHS = "\"/Library/Frameworks/SDL.framework/Headers\"";
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "";
OTHER_LDFLAGS = "-framework SDL";
PRODUCT_NAME = "«PROJECTNAME»";
SECTORDER_FLAGS = "";
WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
WRAPPER_EXTENSION = app;
};
dependencies = (
);
isa = PBXApplicationTarget;
name = "«PROJECTNAME»";
productInstallPath = "$(HOME)/Applications";
productName = "«PROJECTNAME»";
productReference = 17587328FF379C6511CA2CBB;
productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist SYSTEM \"file://localhost/System/Library/DTDs/PropertyList.dtd\">
<plist version=\"0.9\">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>«PROJECTNAMEASXML»</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.1</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
";
shouldUseHeadermap = 1;
};
29B97327FDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
F5A47AA101A0483001D3D55B,
);
isa = PBXHeadersBuildPhase;
name = Headers;
};
29B97328FDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
089C165EFE840E0CC02AAC07,
);
isa = PBXResourcesBuildPhase;
name = "Bundle Resources";
};
29B9732BFDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
F5A47AA301A0483001D3D55B,
F5A47AA401A0483001D3D55B,
);
isa = PBXSourcesBuildPhase;
name = Sources;
};
29B9732DFDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
1058C7A3FEA54F0111CA2CBB,
);
isa = PBXFrameworksBuildPhase;
name = "Frameworks & Libraries";
};
//290
//291
//292
//293
//294
//4A0
//4A1
//4A2
//4A3
//4A4
4A9504CCFFE6A4B311CA0CBA = {
buildRules = (
);
buildSettings = {
COPY_PHASE_STRIP = NO;
OPTIMIZATION_CFLAGS = "-O0";
};
isa = PBXBuildStyle;
name = Development;
};
4A9504CDFFE6A4B311CA0CBA = {
buildRules = (
);
buildSettings = {
COPY_PHASE_STRIP = YES;
};
isa = PBXBuildStyle;
name = Deployment;
};
//4A0
//4A1
//4A2
//4A3
//4A4
//F50
//F51
//F52
//F53
//F54
F5A47A9D01A0482F01D3D55B = {
isa = PBXFileReference;
path = SDLMain.h;
refType = 2;
};
F5A47A9E01A0483001D3D55B = {
isa = PBXFileReference;
path = SDLMain.m;
refType = 2;
};
F5A47A9F01A0483001D3D55B = {
isa = PBXFileReference;
path = main.c;
refType = 2;
};
F5A47AA101A0483001D3D55B = {
fileRef = F5A47A9D01A0482F01D3D55B;
isa = PBXBuildFile;
settings = {
};
};
F5A47AA301A0483001D3D55B = {
fileRef = F5A47A9E01A0483001D3D55B;
isa = PBXBuildFile;
settings = {
};
};
F5A47AA401A0483001D3D55B = {
fileRef = F5A47A9F01A0483001D3D55B;
isa = PBXBuildFile;
settings = {
};
};
};
rootObject = 29B97313FDCFA39411CA2CEA;
}
/* SDLMain.m - main entry point for our Cocoa-ized SDL app
Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
Non-NIB-Code & other changes: Max Horn <max@quendi.de>
Feel free to customize this file to suit your needs
*/
#import <Cocoa/Cocoa.h>
@interface SDLMain : NSObject
@end
/* Simple program: Create a blank window, wait for keypress, quit.
Please see the SDL documentation for details on using the SDL API:
/Developer/Documentation/SDL/docs.html
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "SDL.h"
int main(int argc, char *argv[])
{
Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
SDL_Surface *screen;
Uint8 video_bpp = 0;
Uint32 videoflags = SDL_SWSURFACE;
int done;
SDL_Event event;
/* Initialize the SDL library */
if ( SDL_Init(initflags) < 0 ) {
fprintf(stderr, "Couldn't initialize SDL: %s\n",
SDL_GetError());
exit(1);
}
/* Set 640x480 video mode */
screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
if (screen == NULL) {
fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n",
video_bpp, SDL_GetError());
SDL_Quit();
exit(2);
}
done = 0;
while ( !done ) {
/* Check for events */
while ( SDL_PollEvent(&event) ) {
switch (event.type) {
case SDL_MOUSEMOTION:
break;
case SDL_MOUSEBUTTONDOWN:
break;
case SDL_KEYDOWN:
/* Any keypress quits the app... */
case SDL_QUIT:
done = 1;
break;
default:
break;
}
}
}
/* Clean up the SDL library */
SDL_Quit();
return(0);
}
Binary files a/Xcode/TemplatesForProjectBuilder/SDL Cocoa Application/English.lproj/InfoPlist.strings and /dev/null differ Binary files a/Xcode/TemplatesForProjectBuilder/SDL Cocoa Application/English.lproj/InfoPlist.strings and /dev/null differ
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Description</key>
<string>This project builds an SDL-based application with Cocoa menus.</string>
<key>FilesToMacroExpand</key>
<array>
<string>English.lproj/InfoPlist.strings</string>
</array>
</dict>
</plist>
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 38;
objects = {
080E96DDFE201D6D7F000001 = {
children = (
F5A47A9D01A0482F01D3D55B,
F5A47A9E01A0483001D3D55B,
);
isa = PBXGroup;
name = Classes;
refType = 4;
};
089C165CFE840E0CC02AAC07 = {
children = (
089C165DFE840E0CC02AAC07,
);
isa = PBXVariantGroup;
name = InfoPlist.strings;
refType = 4;
};
089C165DFE840E0CC02AAC07 = {
fileEncoding = 10;
isa = PBXFileReference;
name = English;
path = English.lproj/InfoPlist.strings;
refType = 4;
};
089C165EFE840E0CC02AAC07 = {
fileRef = 089C165CFE840E0CC02AAC07;
isa = PBXBuildFile;
settings = {
};
};
//080
//081
//082
//083
//084
//100
//101
//102
//103
//104
1058C7A0FEA54F0111CA2CBB = {
children = (
1058C7A1FEA54F0111CA2CBB,
);
isa = PBXGroup;
name = "Linked Frameworks";
refType = 4;
};
1058C7A1FEA54F0111CA2CBB = {
isa = PBXFrameworkReference;
name = Cocoa.framework;
path = /System/Library/Frameworks/Cocoa.framework;
refType = 0;
};
1058C7A2FEA54F0111CA2CBB = {
children = (
29B97325FDCFA39411CA2CEA,
29B97324FDCFA39411CA2CEA,
);
isa = PBXGroup;
name = "Other Frameworks";
refType = 4;
};
1058C7A3FEA54F0111CA2CBB = {
fileRef = 1058C7A1FEA54F0111CA2CBB;
isa = PBXBuildFile;
settings = {
};
};
//100
//101
//102
//103
//104
//170
//171
//172
//173
//174
17587328FF379C6511CA2CBB = {
isa = PBXApplicationReference;
path = "«PROJECTNAME».app";
refType = 3;
};
//170
//171
//172
//173
//174
//190
//191
//192
//193
//194
19C28FACFE9D520D11CA2CBB = {
children = (
17587328FF379C6511CA2CBB,
);
isa = PBXGroup;
name = Products;
refType = 4;
};
//190
//191
//192
//193
//194
//290
//291
//292
//293
//294
29B97313FDCFA39411CA2CEA = {
buildStyles = (
4A9504CCFFE6A4B311CA0CBA,
4A9504CDFFE6A4B311CA0CBA,
);
hasScannedForEncodings = 1;
isa = PBXProject;
mainGroup = 29B97314FDCFA39411CA2CEA;
projectDirPath = "";
targets = (
29B97326FDCFA39411CA2CEA,
);
};
29B97314FDCFA39411CA2CEA = {
children = (
080E96DDFE201D6D7F000001,
29B97315FDCFA39411CA2CEA,
29B97317FDCFA39411CA2CEA,
29B97323FDCFA39411CA2CEA,
19C28FACFE9D520D11CA2CBB,
);
isa = PBXGroup;
name = "«PROJECTNAMEASXML»";
path = "";
refType = 4;
};
29B97315FDCFA39411CA2CEA = {
children = (
F5A47A9F01A0483001D3D55B,
);
isa = PBXGroup;
name = "Other Sources";
path = "";
refType = 4;
};
29B97317FDCFA39411CA2CEA = {
children = (
089C165CFE840E0CC02AAC07,
B2F367C504C7ADC700A80002,
);
isa = PBXGroup;
name = Resources;
path = "";
refType = 4;
};
29B97323FDCFA39411CA2CEA = {
children = (
1058C7A0FEA54F0111CA2CBB,
1058C7A2FEA54F0111CA2CBB,
);
isa = PBXGroup;
name = Frameworks;
path = "";
refType = 4;
};
29B97324FDCFA39411CA2CEA = {
isa = PBXFrameworkReference;
name = AppKit.framework;
path = /System/Library/Frameworks/AppKit.framework;
refType = 0;
};
29B97325FDCFA39411CA2CEA = {
isa = PBXFrameworkReference;
name = Foundation.framework;
path = /System/Library/Frameworks/Foundation.framework;
refType = 0;
};
29B97326FDCFA39411CA2CEA = {
buildPhases = (
29B97327FDCFA39411CA2CEA,
29B97328FDCFA39411CA2CEA,
29B9732BFDCFA39411CA2CEA,
29B9732DFDCFA39411CA2CEA,
);
buildSettings = {
FRAMEWORK_SEARCH_PATHS = "\"/Library/Frameworks\"";
HEADER_SEARCH_PATHS = "\"/Library/Frameworks/SDL.framework/Headers\"";
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "";
OTHER_LDFLAGS = "-framework SDL";
PRODUCT_NAME = "«PROJECTNAME»";
SECTORDER_FLAGS = "";
WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
WRAPPER_EXTENSION = app;
};
dependencies = (
);
isa = PBXApplicationTarget;
name = "«PROJECTNAME»";
productInstallPath = "$(HOME)/Applications";
productName = "«PROJECTNAME»";
productReference = 17587328FF379C6511CA2CBB;
productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>«PROJECTNAMEASXML»</key>
<string>SDL Cocoa App</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>SDLApplication</string>
</dict>
</plist>
";
};
29B97327FDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
F5A47AA101A0483001D3D55B,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
};
29B97328FDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
089C165EFE840E0CC02AAC07,
B2F367C604C7ADC700A80002,
);
isa = PBXResourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
};
29B9732BFDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
F5A47AA301A0483001D3D55B,
F5A47AA401A0483001D3D55B,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
};
29B9732DFDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
1058C7A3FEA54F0111CA2CBB,
);
isa = PBXFrameworksBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
};
//290
//291
//292
//293
//294
//4A0
//4A1
//4A2
//4A3
//4A4
4A9504CCFFE6A4B311CA0CBA = {
buildRules = (
);
buildSettings = {
COPY_PHASE_STRIP = NO;
OPTIMIZATION_CFLAGS = "-O0";
};
isa = PBXBuildStyle;
name = Development;
};
4A9504CDFFE6A4B311CA0CBA = {
buildRules = (
);
buildSettings = {
COPY_PHASE_STRIP = YES;
};
isa = PBXBuildStyle;
name = Deployment;
};
//4A0
//4A1
//4A2
//4A3
//4A4
//B20
//B21
//B22
//B23
//B24
B2F367C504C7ADC700A80002 = {
isa = PBXFileReference;
path = SDLMain.nib;
refType = 4;
};
B2F367C604C7ADC700A80002 = {
fileRef = B2F367C504C7ADC700A80002;
isa = PBXBuildFile;
settings = {
};
};
//B20
//B21
//B22
//B23
//B24
//F50
//F51
//F52
//F53
//F54
F5A47A9D01A0482F01D3D55B = {
fileEncoding = 30;
isa = PBXFileReference;
path = SDLMain.h;
refType = 2;
};
F5A47A9E01A0483001D3D55B = {
fileEncoding = 30;
isa = PBXFileReference;
path = SDLMain.m;
refType = 2;
};
F5A47A9F01A0483001D3D55B = {
fileEncoding = 30;
isa = PBXFileReference;
path = main.c;
refType = 2;
};
F5A47AA101A0483001D3D55B = {
fileRef = F5A47A9D01A0482F01D3D55B;
isa = PBXBuildFile;
settings = {
};
};
F5A47AA301A0483001D3D55B = {
fileRef = F5A47A9E01A0483001D3D55B;
isa = PBXBuildFile;
settings = {
};
};
F5A47AA401A0483001D3D55B = {
fileRef = F5A47A9F01A0483001D3D55B;
isa = PBXBuildFile;
settings = {
};
};
};
rootObject = 29B97313FDCFA39411CA2CEA;
}
/* SDLMain.m - main entry point for our Cocoa-ized SDL app
Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
Non-NIB-Code & other changes: Max Horn <max@quendi.de>
Feel free to customize this file to suit your needs
*/
#import <Cocoa/Cocoa.h>
@interface SDLMain : NSObject
- (IBAction)prefsMenu:(id)sender;
- (IBAction)newGame:(id)sender;
- (IBAction)openGame:(id)sender;
- (IBAction)saveGame:(id)sender;
- (IBAction)saveGameAs:(id)sender;
- (IBAction)help:(id)sender;
@end
{
IBClasses = (
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
ACTIONS = {
help = id;
newGame = id;
openGame = id;
prefsMenu = id;
saveGame = id;
saveGameAs = id;
};
CLASS = SDLMain;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>62 117 356 240 0 0 1152 848 </string>
<key>IBEditorPositions</key>
<dict>
<key>29</key>
<string>62 362 195 44 0 0 1152 848 </string>
</dict>
<key>IBFramework Version</key>
<string>291.0</string>
<key>IBOpenObjects</key>
<array>
<integer>29</integer>
</array>
<key>IBSystem Version</key>
<string>6L60</string>
</dict>
</plist>
/* Simple program: Create a blank window, wait for keypress, quit.
Please see the SDL documentation for details on using the SDL API:
/Developer/Documentation/SDL/docs.html
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "SDL.h"
int main(int argc, char *argv[])
{
Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
SDL_Surface *screen;
Uint8 video_bpp = 0;
Uint32 videoflags = SDL_SWSURFACE;
int done;
SDL_Event event;
/* Initialize the SDL library */
if ( SDL_Init(initflags) < 0 ) {
fprintf(stderr, "Couldn't initialize SDL: %s\n",
SDL_GetError());
exit(1);
}
/* Set 640x480 video mode */
screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
if (screen == NULL) {
fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n",
video_bpp, SDL_GetError());
SDL_Quit();
exit(2);
}
done = 0;
while ( !done ) {
/* Check for events */
while ( SDL_PollEvent(&event) ) {
switch (event.type) {
case SDL_MOUSEMOTION:
break;
case SDL_MOUSEBUTTONDOWN:
break;
case SDL_KEYDOWN:
/* Any keypress quits the app... */
case SDL_QUIT:
done = 1;
break;
default:
break;
}
}
}
/* Clean up the SDL library */
SDL_Quit();
return(0);
}
Binary files a/Xcode/TemplatesForProjectBuilder/SDL Custom Cocoa Application/English.lproj/InfoPlist.strings and /dev/null differ Binary files a/Xcode/TemplatesForProjectBuilder/SDL Custom Cocoa Application/English.lproj/InfoPlist.strings and /dev/null differ
//
// MyController.h
// SDL Custom Cocoa App
//
// Created by Darrell Walisser on Fri Jul 18 2003.
// Copyright (c) 2003 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "SDL.h"
extern id gController; // instance of this class from nib
// Declare SDL_QuartzWindowDelegate (defined in SDL.framework)
@interface SDL_QuartzWindowDelegate : NSObject
@end
@interface MyController : NSObject
{
// Interface Builder Outlets
IBOutlet id _framesPerSecond;
IBOutlet id _numSprites;
IBOutlet id _window;
IBOutlet id _view;
// Private instance variables
int _nSprites;
int _max_speed;
int _doFlip;
Uint8* _mem;
SDL_Surface* _screen;
SDL_Surface* _sprite;
SDL_Rect* _sprite_rects;
SDL_Rect* _positions;
SDL_Rect* _velocities;
int _sprites_visible;
Uint16 _sprite_w, _sprite_h;
int _mouse_x, _mouse_y;
}
// Interface Builder Actions
- (IBAction)changeNumberOfSprites:(id)sender;
- (IBAction)selectUpdateMode:(id)sender;
@end
//
// MyCustomView.h
// SDL Custom View App
//
// Created by Darrell Walisser on Fri Jul 18 2003.
// Copyright (c) 2003 __MyCompanyName__. All rights reserved.
//
#import <AppKit/AppKit.h>
@interface MyCustomView : NSQuickDrawView
{
}
@end
//
// MyCustomView.m
// SDL Custom View App
//
// Created by Darrell Walisser on Fri Jul 18 2003.
// Copyright (c) 2003 __MyCompanyName__. All rights reserved.
//
#import "MyCustomView.h"
@implementation MyCustomView
- (id)initWithFrame:(NSRect)frame
{
self = [ super initWithFrame:frame ];
if (self) {
// Initialization code here.
}
return self;
}
- (void)drawRect:(NSRect)rect
{
// Drawing code here.
}
- (BOOL)mouseDownCanMoveWindow
{
// If you use textured windows, this disables
// moving the window by dragging in the view
return NO;
}
@end
//
// MyCustomWindow.h
// SDL Custom View App
//
// Created by Darrell Walisser on Fri Jul 18 2003.
// Copyright (c) 2003 __MyCompanyName__. All rights reserved.
//
#import <AppKit/AppKit.h>
// Be a subclass of SDL_QuartzWindow so SDL will
// handle the redraw problems when minimizing the window
// This class is defined in SDL.framework
@interface SDL_QuartzWindow : NSWindow
@end
// Also assign SDL_QuartzWindowDelegate to the window
// to perform other tasks. You can subclass this delegate
// if you want to add your own delegation methods
// This class is defined in SDL.framework
@interface SDL_QuartzWindowDelegate : NSObject
@end
// Declare our custom class
@interface MyCustomWindow : SDL_QuartzWindow
@end
//
// MyCustomWindow.m
// SDL Custom View App
//
// Created by Darrell Walisser on Fri Jul 18 2003.
// Copyright (c) 2003 __MyCompanyName__. All rights reserved.
//
#import "MyCustomWindow.h"
@implementation MyCustomWindow
@end
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Description</key>
<string>This project builds an SDL-based application that draws into a Cocoa window.</string>
<key>FilesToMacroExpand</key>
<array>
<string>English.lproj/InfoPlist.strings</string>
</array>
</dict>
</plist>
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 38;
objects = {
080E96DDFE201D6D7F000001 = {
children = (
F5A47A9D01A0482F01D3D55B,
F5A47A9E01A0483001D3D55B,
B2E5794E04CC967D00A80002,
B2E5794F04CC967D00A80002,
B2F3725904C8695500A80002,
B2F3725A04C8695500A80002,
B2F3725D04C8696800A80002,
B2F3725E04C8696800A80002,
);
isa = PBXGroup;
name = Classes;
refType = 4;
};
089C165CFE840E0CC02AAC07 = {
children = (
089C165DFE840E0CC02AAC07,
);
isa = PBXVariantGroup;
name = InfoPlist.strings;
refType = 4;
};
089C165DFE840E0CC02AAC07 = {
fileEncoding = 10;
isa = PBXFileReference;
name = English;
path = English.lproj/InfoPlist.strings;
refType = 4;
};
089C165EFE840E0CC02AAC07 = {
fileRef = 089C165CFE840E0CC02AAC07;
isa = PBXBuildFile;
settings = {
};
};
//080
//081
//082
//083
//084
//100
//101
//102
//103
//104
1058C7A0FEA54F0111CA2CBB = {
children = (
1058C7A1FEA54F0111CA2CBB,
);
isa = PBXGroup;
name = "Linked Frameworks";
refType = 4;
};
1058C7A1FEA54F0111CA2CBB = {
isa = PBXFrameworkReference;
name = Cocoa.framework;
path = /System/Library/Frameworks/Cocoa.framework;
refType = 0;
};
1058C7A2FEA54F0111CA2CBB = {
children = (
29B97325FDCFA39411CA2CEA,
29B97324FDCFA39411CA2CEA,
);
isa = PBXGroup;
name = "Other Frameworks";
refType = 4;
};
1058C7A3FEA54F0111CA2CBB = {
fileRef = 1058C7A1FEA54F0111CA2CBB;
isa = PBXBuildFile;
settings = {
};
};
//100
//101
//102
//103
//104
//170
//171
//172
//173
//174
17587328FF379C6511CA2CBB = {
isa = PBXApplicationReference;
path = "«PROJECTNAME».app";
refType = 3;
};
//170
//171
//172
//173
//174
//190
//191
//192
//193
//194
19C28FACFE9D520D11CA2CBB = {
children = (
17587328FF379C6511CA2CBB,
);
isa = PBXGroup;
name = Products;
refType = 4;
};
//190
//191
//192
//193
//194
//290
//291
//292
//293
//294
29B97313FDCFA39411CA2CEA = {
buildStyles = (
4A9504CCFFE6A4B311CA0CBA,
4A9504CDFFE6A4B311CA0CBA,
);
hasScannedForEncodings = 1;
isa = PBXProject;
mainGroup = 29B97314FDCFA39411CA2CEA;
projectDirPath = "";
targets = (
29B97326FDCFA39411CA2CEA,
);
};
29B97314FDCFA39411CA2CEA = {
children = (
080E96DDFE201D6D7F000001,
29B97315FDCFA39411CA2CEA,
29B97317FDCFA39411CA2CEA,
29B97323FDCFA39411CA2CEA,
19C28FACFE9D520D11CA2CBB,
);
isa = PBXGroup;
name = "«PROJECTNAMEASXML»";
path = "";
refType = 4;
};
29B97315FDCFA39411CA2CEA = {
children = (
B264D98004C8977900A80002,
);
isa = PBXGroup;
name = "Other Sources";
path = "";
refType = 4;
};
29B97317FDCFA39411CA2CEA = {
children = (
B2F3726904C8830000A80002,
089C165CFE840E0CC02AAC07,
B2F367C504C7ADC700A80002,
);
isa = PBXGroup;
name = Resources;
path = "";
refType = 4;
};
29B97323FDCFA39411CA2CEA = {
children = (
1058C7A0FEA54F0111CA2CBB,
1058C7A2FEA54F0111CA2CBB,
);
isa = PBXGroup;
name = Frameworks;
path = "";
refType = 4;
};
29B97324FDCFA39411CA2CEA = {
isa = PBXFrameworkReference;
name = AppKit.framework;
path = /System/Library/Frameworks/AppKit.framework;
refType = 0;
};
29B97325FDCFA39411CA2CEA = {
isa = PBXFrameworkReference;
name = Foundation.framework;
path = /System/Library/Frameworks/Foundation.framework;
refType = 0;
};
29B97326FDCFA39411CA2CEA = {
buildPhases = (
29B97327FDCFA39411CA2CEA,
29B97328FDCFA39411CA2CEA,
29B9732BFDCFA39411CA2CEA,
29B9732DFDCFA39411CA2CEA,
);
buildSettings = {
FRAMEWORK_SEARCH_PATHS = "\"/Library/Frameworks\"";
HEADER_SEARCH_PATHS = "\"/Library/Frameworks/SDL.framework/Headers\"";
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "";
OTHER_LDFLAGS = "-framework SDL";
PRECOMPILE_PREFIX_HEADER = YES;
PREFIX_HEADER = prefix.h;
PRODUCT_NAME = "«PROJECTNAME»";
SECTORDER_FLAGS = "";
WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
WRAPPER_EXTENSION = app;
};
dependencies = (
);
isa = PBXApplicationTarget;
name = "«PROJECTNAME»";
productInstallPath = "$(HOME)/Applications";
productName = "SDL App";
productReference = 17587328FF379C6511CA2CBB;
productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>«PROJECTNAMEASXML»</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.1</string>
<key>NSMainNibFile</key>
<string>SDLMain.nib</string>
<key>NSPrincipalClass</key>
<string>SDLApplication</string>
</dict>
</plist>
";
};
29B97327FDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
F5A47AA101A0483001D3D55B,
B2F3725B04C8695500A80002,
B2F3725F04C8696800A80002,
B2E5795004CC967D00A80002,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
};
29B97328FDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
089C165EFE840E0CC02AAC07,
B2F367C604C7ADC700A80002,
B2F3726A04C8830000A80002,
);
isa = PBXResourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
};
29B9732BFDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
F5A47AA301A0483001D3D55B,
B2F3725C04C8695500A80002,
B2F3726004C8696800A80002,
B2E5795104CC967D00A80002,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
};
29B9732DFDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
1058C7A3FEA54F0111CA2CBB,
);
isa = PBXFrameworksBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
};
//290
//291
//292
//293
//294
//4A0
//4A1
//4A2
//4A3
//4A4
4A9504CCFFE6A4B311CA0CBA = {
buildRules = (
);
buildSettings = {
COPY_PHASE_STRIP = NO;
OPTIMIZATION_CFLAGS = "-O0";
};
isa = PBXBuildStyle;
name = Development;
};
4A9504CDFFE6A4B311CA0CBA = {
buildRules = (
);
buildSettings = {
COPY_PHASE_STRIP = YES;
DEBUGGING_SYMBOLS = NO;
OPTIMIZATION_CFLAGS = "-O3";
};
isa = PBXBuildStyle;
name = Deployment;
};
//4A0
//4A1
//4A2
//4A3
//4A4
//B20
//B21
//B22
//B23
//B24
B264D98004C8977900A80002 = {
fileEncoding = 30;
isa = PBXFileReference;
path = prefix.h;
refType = 4;
};
B2E5794E04CC967D00A80002 = {
fileEncoding = 30;
isa = PBXFileReference;
path = MyController.h;
refType = 4;
};
B2E5794F04CC967D00A80002 = {
fileEncoding = 30;
isa = PBXFileReference;
path = MyController.m;
refType = 4;
};
B2E5795004CC967D00A80002 = {
fileRef = B2E5794E04CC967D00A80002;
isa = PBXBuildFile;
settings = {
};
};
B2E5795104CC967D00A80002 = {
fileRef = B2E5794F04CC967D00A80002;
isa = PBXBuildFile;
settings = {
};
};
B2F367C504C7ADC700A80002 = {
isa = PBXFileReference;
path = SDLMain.nib;
refType = 4;
};
B2F367C604C7ADC700A80002 = {
fileRef = B2F367C504C7ADC700A80002;
isa = PBXBuildFile;
settings = {
};
};
B2F3725904C8695500A80002 = {
fileEncoding = 4;
isa = PBXFileReference;
path = MyCustomView.h;
refType = 4;
};
B2F3725A04C8695500A80002 = {
fileEncoding = 4;
isa = PBXFileReference;
path = MyCustomView.m;
refType = 4;
};
B2F3725B04C8695500A80002 = {
fileRef = B2F3725904C8695500A80002;
isa = PBXBuildFile;
settings = {
};
};
B2F3725C04C8695500A80002 = {
fileRef = B2F3725A04C8695500A80002;
isa = PBXBuildFile;
settings = {
};
};
B2F3725D04C8696800A80002 = {
fileEncoding = 4;
isa = PBXFileReference;
path = MyCustomWindow.h;
refType = 4;
};
B2F3725E04C8696800A80002 = {
fileEncoding = 4;
isa = PBXFileReference;
path = MyCustomWindow.m;
refType = 4;
};
B2F3725F04C8696800A80002 = {
fileRef = B2F3725D04C8696800A80002;
isa = PBXBuildFile;
settings = {
};
};
B2F3726004C8696800A80002 = {
fileRef = B2F3725E04C8696800A80002;
isa = PBXBuildFile;
settings = {
};
};
B2F3726904C8830000A80002 = {
isa = PBXFileReference;
path = icon.bmp;
refType = 4;
};
B2F3726A04C8830000A80002 = {
fileRef = B2F3726904C8830000A80002;
isa = PBXBuildFile;
settings = {
};
};
//B20
//B21
//B22
//B23
//B24
//F50
//F51
//F52
//F53
//F54
F5A47A9D01A0482F01D3D55B = {
fileEncoding = 30;
isa = PBXFileReference;
path = SDLMain.h;
refType = 2;
};
F5A47A9E01A0483001D3D55B = {
fileEncoding = 30;
isa = PBXFileReference;
path = SDLMain.m;
refType = 2;
};
F5A47AA101A0483001D3D55B = {
fileRef = F5A47A9D01A0482F01D3D55B;
isa = PBXBuildFile;
settings = {
};
};
F5A47AA301A0483001D3D55B = {
fileRef = F5A47A9E01A0483001D3D55B;
isa = PBXBuildFile;
settings = {
};
};
};
rootObject = 29B97313FDCFA39411CA2CEA;
}
/* SDLMain.m - main entry point for our Cocoa-ized SDL app
Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
Non-NIB-Code & other changes: Max Horn <max@quendi.de>
Feel free to customize this file to suit your needs
*/
#import <Cocoa/Cocoa.h>
@interface SDLMain : NSObject
{
IBOutlet id _controller;
}
@end
{
IBClasses = (
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
ACTIONS = {changeNumberOfSprites = id; selectUpdateMode = id; };
CLASS = MyController;
LANGUAGE = ObjC;
OUTLETS = {"_framesPerSecond" = id; "_numSprites" = id; "_view" = id; "_window" = id; };
SUPERCLASS = NSObject;
},
{CLASS = MyCustomView; LANGUAGE = ObjC; SUPERCLASS = NSQuickDrawView; },
{CLASS = MyCustomWindow; LANGUAGE = ObjC; SUPERCLASS = NSWindow; },
{
CLASS = SDLMain;
LANGUAGE = ObjC;
OUTLETS = {"_controller" = id; };
SUPERCLASS = NSObject;
}
);
IBVersion = 1;
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>89 138 361 280 0 0 1152 848 </string>
<key>IBEditorPositions</key>
<dict>
<key>29</key>
<string>62 362 233 44 0 0 1152 848 </string>
<key>368</key>
<string>334 280 355 456 0 0 1024 746 </string>
</dict>
<key>IBFramework Version</key>
<string>291.0</string>
<key>IBLockedObjects</key>
<array>
<integer>328</integer>
</array>
<key>IBOpenObjects</key>
<array>
<integer>326</integer>
<integer>368</integer>
</array>
<key>IBSystem Version</key>
<string>6L60</string>
</dict>
</plist>
/*
* prefix.h
* SDL Custom View App
*
* Created by Darrell Walisser on Fri Jul 18 2003.
* Copyright (c) 2003 __MyCompanyName__. All rights reserved.
*
*/
#include <Foundation/Foundation.h>
#include <Cocoa/Cocoa.h>
Binary files a/Xcode/TemplatesForProjectBuilder/SDL OpenGL Application/English.lproj/InfoPlist.strings and /dev/null differ Binary files a/Xcode/TemplatesForProjectBuilder/SDL OpenGL Application/English.lproj/InfoPlist.strings and /dev/null differ
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Description</key>
<string>This project builds an SDL-based application that uses OpenGL.</string>
<key>FilesToMacroExpand</key>
<array>
<string>English.lproj/InfoPlist.strings</string>
</array>
</dict>
</plist>
/* SDLMain.m - main entry point for our Cocoa-ized SDL app
Initial Version: Darrell Walisser <dwaliss1@purdue.edu>
Non-NIB-Code & other changes: Max Horn <max@quendi.de>
Feel free to customize this file to suit your needs
*/
#import <Cocoa/Cocoa.h>
@interface SDLMain : NSObject
@end
Binary files a/Xcode/TemplatesForXcode/SDL Application/English.lproj/InfoPlist.strings and /dev/null differ Binary files a/Xcode/TemplatesForXcode/SDL Application/English.lproj/InfoPlist.strings and /dev/null differ
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment