X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eb5420bf2589b6974393950ee10690d594dd54e6..6ba5438dda164146bf36ca729f8328332fae36b7:/docs/mac/install.txt?ds=sidebyside diff --git a/docs/mac/install.txt b/docs/mac/install.txt index 3fd1bf7a3c..6fff2a4940 100644 --- a/docs/mac/install.txt +++ b/docs/mac/install.txt @@ -1,94 +1,125 @@ +wxWidgets 2.6.2 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 +wxWidgets on Linux (or on Windows using MinGW or Cygwin). See +'Apple Developer Tools' below for more details on using +configure. + +To target on MacOS 8 or 9, you need to buy Metrowerks +CodeWarrior. You can then compile Mac Classic or MacOS X +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. + Installing latest headers (and Carbon Support) ---------------------------------------------- -NOTE : these steps are not necessary for Pro 6, only for Pro 5.3 - -the latest build for carbon support lead 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) +Patching headers: CodeWarrior 8.x +--------------------------------- -1. you need CodeWarrior Pro 5.3 , i.e. 5.0 with all the upgrades -2. you have to download the 3.3.2 universal interfaces from - ftp://ftp.apple.com/developer/Development_Kits/UniversalInterfaces3.3.2.sit.hqx -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 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. -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) +You may also need to comment out the _T definition in +ctype.h if you get multiple definition errors. setup.h ------- -in order to build wxMac with CodeWarrior, you must copy or alias the file include/wx/mac/setup0.h -to include/wx/setup.h. +in order to build wxMac with CodeWarrior, you must copy or alias the file +include/wx/mac/setup0.h to include/wx/setup.h. -this step is not needed when using the Apple Developer Tools under Mac OS X since the setup.h -file is automatically generated during the configuration of wxMac. +this step is not needed when using the Apple Developer Tools under Mac OS X +since the setup.h file is automatically generated during the configuration. OpenGL ------ -In order to build opengl support with CodeWarrior, you must install the opengl libraries and headers -from http://developer.apple.com/opengl/index.html +In order to build opengl support with CodeWarrior, you must install the opengl +libraries and headers from http://developer.apple.com/opengl/index.html -If you want OpenGL support with CodeWarrior, set wxUSE_OPENGL in include/wx/setup.h to 1 +If you want OpenGL support with CodeWarrior, set wxUSE_OPENGL to 1 in +include/wx/setup.h -If you don't want OpenGl support, remove the file "glcanvas.cpp" from the project before -compilation and leave the setting at 0 +If you don't want OpenGl support, set wxUSE_OPENGL to 0 (the +default) and remove the file OpenGLLibraryStub from the project +before compilation. -If you want OpenGL support with the Apple Developer Tools under Mac OS X, add --with-opengl to the -arguments of configure when configuring wxMac. +If you want OpenGL support with the Apple Developer Tools under Mac OS X, add +--with-opengl to the arguments of configure when configuring wxMac. Project Files ------------- -There are always the makemac.mcp or *M5.mcp files for Pro 5.3 and the makemac6.mcp files for Pro 6 +The project files are stored as xml text files and converted to binary +CodeWarrior projects in the distribution (see AppleScript Files below): + + - *M8.xml -> *M8.mcp for CodeWarrior 8 and above. + +AppleScript Files +----------------- + +Several AppleScript files are provided in the docs:mac directory: + + - 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) -In order to build the library (and then the samples) you need to make the -following projects (for 5.3) -:src:wxWindowsM5.mcp -:src:png:makemac.mcp -:src:tif:makemac.mcp -:src:jpeg:makemac.mcp -:src:zlib:makemac.mcp +To run the XML to MCP conversion scripts: -Apple Developers Tools ----------------------- +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). -As in all Unix projects, you need to do something like this -under MacOS 10.1 with the Apple Developers Tools installed. +To set the correct creator type for importing into CodeWarrior, +you may need to run SetXMLCreator.applescript. -1) cd into the source dir -2) mkdir build -3) cd build +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, you need to be able -to log in as "root". For this, "root" has to be activated -in the NetInfo utility - there you will also have to -choose a password for the "root" user. Then +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 -6) su -7) type -8) make install -9) exit +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: There are currently link problems (in some rare cases) -with wxMAC and Apple's tools when compiling the library as -a shared library (the default). You might want to type +Note: +We recommend you configure a static library instead: 4) ../configure --disable-shared -to build a static library instead. +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 ------------------------ @@ -98,13 +129,15 @@ if you have downloaded all the files and get errors like : Error : the file 'wx/generic/tip.xpm' cannot be opened tipdlg.cpp line 201 #include "wx/generic/tip.xpm" -then your cvs has changed the type of the .xpm files to something other than text, in order to fix this -either change the type by using a resource editor or drag the files from /include/wx/generic/..xpm on -the SetTypeFromExtension application that is included in this folder. This small applet itself queries -the Internet Config, so you will have to associate the "xpm" extension with CodeWarrior before making -use of this applet. +then your cvs has changed the type of the .xpm files to something other than +text, in order to fix this either change the type by using a resource editor +or drag the files from /include/wx/generic/..xpm on the SetTypeFromExtension +application that is included in this folder. This small applet itself queries +the Internet Config, so you will have to associate the "xpm" extension with +CodeWarrior before making use of this applet. Missing PLStringFuncsLib ------------------------ You will have to build All Targets for MacOS Support:Libraries:Sources:PLStringFuncs:Glue:PLStringFuncsGlue.mcp +