X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1cb148413195c3256afe854236739d8f90999e55..bae2dc62af49b5a870bbabd9473a92921736a6f0:/docs/mac/install.txt diff --git a/docs/mac/install.txt b/docs/mac/install.txt index 850726c890..cd308e8fae 100644 --- a/docs/mac/install.txt +++ b/docs/mac/install.txt @@ -1,10 +1,10 @@ -wxWindows 2.5 for Mac installation ----------------------------------- +wxWidgets 2.7.0 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). You can then use configure in a similar way to compiling -wxWindows on Linux (or on Windows using MinGW or Cygwin). See +wxWidgets on Linux (or on Windows using MinGW or Cygwin). See 'Apple Developer Tools' below for more details on using configure. @@ -14,35 +14,106 @@ 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 + +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 - after the - #include -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 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 +ctype.h if you get multiple definition errors. setup.h ------- @@ -74,73 +145,28 @@ 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 (currently -only for CodeWarrior 5.3 related projects): - - M5xml2mcp.applescript to convert xml files to CodeWarrior projects - - M5mcp2xml.applescript to convert CodeWarrior projects to xml files - - M5build.applescript to automatically build all samples/demos projects +Several AppleScript files are provided in the docs:mac directory: -Apple Developer Tools ---------------------- + - 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) -As in all Unix projects, you need to do something like this under MacOS X -with the Apple Developer Tools installed: +To run the XML to MCP conversion scripts: -1) cd into the base dir -2) mkdir osx-build -3) cd osx-build -4) ../configure -5) make +Double click on e.g. docs/mac/M8xml2mcp.applescript, then "run" +the applescript and when asked for a folder pick src/. Then it +takes a while to scan all dirs for the xml files and convert +them to mcps. If some conversions fail it means an mcp already +exists (back them up prior to running the script). -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 - -Note that while using this method is okay for development, it is not -recommended that you require endusers to install wxWindows into their -system directories in order to use your program. One way to avoid this -is to configure wxWindows with --disable-shared. Another way to avoid -it is to make a framework for wxWindows. 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. +To set the correct creator type for importing into CodeWarrior, +you may need to run SetXMLCreator.applescript. Problems with .xpm files ------------------------ @@ -162,3 +188,4 @@ Missing PLStringFuncsLib You will have to build All Targets for MacOS Support:Libraries:Sources:PLStringFuncs:Glue:PLStringFuncsGlue.mcp +