comparison README.MacOSX @ 869:ae4ab3ac89a9

Instructive comments from Max Horn
author Sam Lantinga <slouken@libsdl.org>
date Thu, 04 Mar 2004 05:39:17 +0000
parents 50620ec9c86a
children 3d9a199d2a70
comparison
equal deleted inserted replaced
868:e805075f6d94 869:ae4ab3ac89a9
7 7
8 From the developer's point of view, OS X is a sort of hybrid Mac and 8 From the developer's point of view, OS X is a sort of hybrid Mac and
9 Unix system, and you have the option of using either traditional 9 Unix system, and you have the option of using either traditional
10 command line tools or Apple's IDE ProjectBuilder (PB). 10 command line tools or Apple's IDE ProjectBuilder (PB).
11 11
12 To build using the command line, use the standard configure and make 12 To build SDL using the command line, use the standard configure and make
13 process: 13 process:
14 14
15 ./configure 15 ./configure
16 make 16 make
17 make install 17 sudo make install
18 18
19 (You may need to create the subdirs of /usr/local manually.) 19 (You may need to create the subdirs of /usr/local manually.)
20 20
21 To use the library once it's built, you essential have two possibilities: 21 To use the library once it's built, you essential have two possibilities:
22 use the traditional autoconf/automake/make method, or use Apple's Project Builder. 22 use the traditional autoconf/automake/make method, or use Project Builder.
23 23
24 ============================================================================== 24 ==============================================================================
25 Using the Simple DirectMedia Layer with a traditional Makefile 25 Using the Simple DirectMedia Layer with a traditional Makefile
26 ============================================================================== 26 ==============================================================================
27 27
61 This rule takes the Bundle created by the rule from step 3 and installs them 61 This rule takes the Bundle created by the rule from step 3 and installs them
62 into $(DESTDIR)$(prefix)/Applications/. 62 into $(DESTDIR)$(prefix)/Applications/.
63 63
64 Again, if you want to install multiple applications, you will have to augment 64 Again, if you want to install multiple applications, you will have to augment
65 the make rule accordingly. 65 the make rule accordingly.
66
67
68 But beware! That is only part of the story! With the above, you end up with
69 a bare bone .app bundle, which is double clickable from the Finder. But
70 there are some more things you should do before shipping yor product...
71
72 1) The bundle right now probably is dynamically linked against SDL. That
73 means that when you copy it to another computer, *it will not run*,
74 unless you also install SDL on that other computer. A good solution
75 for this dilemma is to static link against SDL. On OS X, you can
76 achieve that by linkinag against the libraries listed by
77 sdl-config --static-libs
78 instead of those listed by
79 sdl-config --libs
80 Depending on how exactly SDL is integrated into your build systems, the
81 way to achieve that varies, so I won't describe it here in detail
82 2) Add an 'Info.plist' to your application. That is a special XML file which
83 contains some meta-information about your application (like some copyright
84 information, the version of your app, the name of an optional icon file,
85 and other things). Part of that information is displayed by the Finder
86 when you click on the .app, or if you look at the "Get Info" window.
87 More information about Info.plist files can be found on Apple's homepage.
88
89
90 As a final remark, let me add that I use some of the techniques (and some
91 variations of them) in Exult and ScummVM; both are available in source on
92 the net, so feel free to take a peek at them for inspiration!
66 93
67 94
68 ============================================================================== 95 ==============================================================================
69 Using the Simple DirectMedia Layer with Project Builder 96 Using the Simple DirectMedia Layer with Project Builder
70 ============================================================================== 97 ==============================================================================