README.MacOSX
changeset 869 ae4ab3ac89a9
parent 221 50620ec9c86a
child 1006 3d9a199d2a70
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 ==============================================================================