]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/mac/install.txt
make sure all wxDefault* and all wxNull* global instances are documented
[wxWidgets.git] / docs / mac / install.txt
index 2500039c836ac9b34e0cdae6d72b6509c36fef80..efa99153624773bee64c9e32beeff85e4395de9e 100644 (file)
@@ -1,5 +1,5 @@
-wxWidgets 2.5 for Mac installation
-----------------------------------
+wxWidgets for Mac installation
+------------------------------
 
 On MacOS X, you can download Apple's free developer tools (gcc
 and associated headers and libraries, such as the Carbon API).
@@ -14,40 +14,102 @@ applications on Mac OS X, or compile Mac Classic or MacOS X
 applications on Mac Classic. However you can only run and debug
 each type of application on the target operating system.
 
+
+Apple Developer Tools: command line
+-----------------------------------
+
+As in all Unix projects, you need to do something like this under MacOS X
+with the Apple Developer Tools installed:
+
+1) cd into the base dir
+2) mkdir osx-build
+3) cd osx-build
+4) ../configure
+5) make
+
+If you want to install the library into the system directories you'll need
+to do this as root.  The accepted way of running commands as root is to
+use the built-in sudo mechanism.  First of all, you must be using an
+account marked as a "Computer Administrator".  Then
+
+6) sudo make install
+7) type <YOUR OWN PASSWORD>
+
+Note that while using this method is okay for development, it is not
+recommended that you require endusers to install wxWidgets into their
+system directories in order to use your program.  One way to avoid this
+is to configure wxWidgets with --disable-shared.  Another way to avoid
+it is to make a framework for wxWidgets.  Making frameworks is beyond
+the scope of this document.
+
+Note:
+We recommend you configure a static library instead:
+
+4) ../configure --disable-shared
+
+or activate OpenGL:
+
+4) ../configure --with-opengl
+
+Note:
+It is rarely desirable to install non-Apple software into system directories.
+By configuring the library with --disable-shared and using the full path
+to wx-config with the --in-place option you can avoid installing the library.
+
+
+Apple Developer Tools: XCode
+----------------------------
+
+You can use the project in src/wxWindows.xcodeproj to build wxWidgets,
+and there is a sample project supplied with the minimal sample.
+
+Creating universal binaries
+---------------------------
+
+The Xcode projects for the wxWidgets library and minimal project are set up
+to create universal binaries.
+
+If using the Apple command line tools, pass --enable-universal_binary when
+configuring wxWidgets. If you use wx-config --libs to link your application,
+he necessary linker flags will be added. When compiling your own files,
+you need to add -arch ppc -arch i386 to your CFLAGS.
+
+As an alternative to using --enable-universal_binary, you can build for
+each architecture separately and then use the lipo tool to glue the
+binaries together. Assuming building on a PPC system:
+
+1. First build in the usual way to get the PPC library.
+
+2. Then, build for Intel, in a different folder. This time use:
+
+export CFLAGS="-g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386"
+export LDFLAGS="-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"
+
+./configure --disable-dependency-tracking --enable-static=yes --enable-shared=no \
+  --target=i386-apple-darwin8 --host=powerpc-apple-darwin8 --build=i386-apple-darwin8
+
+You will need to reverse the powerpc and i386 parameters everywhere to build PPC on an Intel
+machine.
+
+3. Use lipo to glue the binaries together.
+
+See also:
+http://developer.apple.com/technotes/tn2005/tn2137.html
+
+
+Building with CodeWarrior 
+-------------------------
+
+(Note that using the Apple tools is recommended.)
+
 Installing latest headers (and Carbon Support)
 ----------------------------------------------
 
-NOTE: these steps are not necessary for CW Pro 6 and above,
-only for CW Pro 5.3.
-
-The latest build for carbon support leads to a few changes you will have to
-follow, in order to successfully compile the code (also necessary if you don't
-want to build the carbon targets).
-
-1. You need CodeWarrior Pro 5.3 , i.e. 5.0 with all the upgrades.
-2. You have to download the 3.4.0 (or greater) universal interfaces from 
-       ftp://ftp.apple.com/developer/Development_Kits/UniversalHeaders3.4.1.img.bin.
-3. put the Interfaces and Libraries Folder into the MacOS Support folder and
-   replace older versions.
-4. remove from the MacOS Support folder the separate OpenTransport folder.
-5. open the file MacOS Support:MacHeaders:MacHeaders.c and add the line
-               #include <ControlDefinitions.h>
-       after the 
-               #include <Controls.h>
-6. rebuild all MacHeaders from the MacHeaders.mcp project in the same folder.
-
-If you want to build the carbon targets, you will also need the latest
-carbonized version of MSL from Metrowerks, at the time of writing, this meant
-applying the changes from the folders:
-
-CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbonized MSL and
-CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbonized Runtimes 
-(consult the file CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbon & MacOSX README)
-
 Patching headers: CodeWarrior 8.x
 ---------------------------------
 
-If you run into trouble with WCHAR_MIN and WCHAR_MAX in ansi.h,
+If you run into trouble with WCHAR_MIN and WCHAR_MAX the for 
+MacOS X Support:Headers:(wchar_t Support fix):machine:ansi.h,
 apply the patch ansi.diff.
 
 You may also need to comment out the _T definition in
@@ -83,32 +145,14 @@ Project Files
 
 The project files are stored as xml text files and converted to binary
 CodeWarrior projects in the distribution (see AppleScript Files below):
-  - *M5.xml -> *M5.mcp for CodeWarrior 5.3
-  - *M6.xml -> *M6.mcp for CodeWarrior 6
-  - *M7.xml -> *M7.mcp for CodeWarrior 7 and above.
-
-In order to build the library (and then the samples) you need to make the
-following projects (for CW 5.3, similar process for CW 7):
-
-:src:wxwindowsM5.mcp
-:src:png:pngM5.mcp
-:src:tiff:tiffM5.mcp
-:src:jpeg:jpegM5.mcp
-:src:zlib:zlibM5.mcp
 
-Note that if using CW 8 and above, when compiling the samples
-you may need to edit the target settings, click on Language
-Settings, C/++ Language and remove the forward slash at the
-start of /wx/wx_cw_d.h (or similar filename).
+  - *M8.xml -> *M8.mcp for CodeWarrior 8 and above.
 
 AppleScript Files
 -----------------
 
 Several AppleScript files are provided in the docs:mac directory:
 
-  - M5xml2mcp.applescript to convert xml files to CodeWarrior 5 projects
-  - M5mcp2xml.applescript to convert CodeWarrior 5 projects to xml files
-  - M5build.applescript to automatically build all samples/demos projects
   - M8xml2mcp.applescript to convert xml files to CodeWarrior 8 projects
   - M8mcp2xml.applescript to convert CodeWarrior 8 projects to xml files
   - SetXMLCreator.applescript to set correct creator type (see below)
@@ -124,47 +168,6 @@ exists (back them up prior to running the script).
 To set the correct creator type for importing into CodeWarrior,
 you may need to run SetXMLCreator.applescript.
 
-Apple Developer Tools
----------------------
-
-As in all Unix projects, you need to do something like this under MacOS X
-with the Apple Developer Tools installed:
-
-1) cd into the base dir
-2) mkdir osx-build
-3) cd osx-build
-4) ../configure
-5) make
-
-If you want to install the library into the system directories you'll need
-to do this as root.  The accepted way of running commands as root is to
-use the built-in sudo mechanism.  First of all, you must be using an
-account marked as a "Computer Administrator".  Then
-
-6) sudo make install
-7) type <YOUR OWN PASSWORD>
-
-Note that while using this method is okay for development, it is not
-recommended that you require endusers to install wxWidgets into their
-system directories in order to use your program.  One way to avoid this
-is to configure wxWidgets with --disable-shared.  Another way to avoid
-it is to make a framework for wxWidgets.  Making frameworks is beyond
-the scope of this document.
-
-Note:
-We recommend you configure a static library instead:
-
-4) ../configure --disable-shared
-
-or activate OpenGL:
-
-4) ../configure --with-opengl
-
-Note:
-It is rarely desirable to install non-Apple software into system directories.
-By configuring the library with --disable-shared and using the full path
-to wx-config with the --in-place option you can avoid installing the library.
-
 Problems with .xpm files
 ------------------------
 
@@ -185,3 +188,4 @@ Missing PLStringFuncsLib
 
 You will have to build All Targets for MacOS Support:Libraries:Sources:PLStringFuncs:Glue:PLStringFuncsGlue.mcp
 
+