]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/osx/install.txt
Use both URL-specific and plain text formats in wxGTK wxURLDataObject.
[wxWidgets.git] / docs / osx / install.txt
index 91602e20450ef1a2183fd59485ee43ce06fdcc4d..f44e4831c05039304445f02ffa1339e781f874b9 100644 (file)
@@ -1,31 +1,69 @@
-wxWidgets for Mac installation
-------------------------------
+wxWidgets for Mac OS X 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.
+wxWidgets can be compiled using Apple's Carbon or Cocoa libraries.
+Carbon is the older library, and Cocoa is the more modern library.
 
-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.
+In wxWidgets 2.9.x, Cocoa is the recommended library.  While Carbon is still
+supported by Apple, little new work is being done in Carbon.
 
+Most Mac OS X developers should start by downloading and installing Xcode 
+from http://developer.apple.com.  It is a free IDE from Apple that provides
+all of the tools you need for working with wxWidgets.
 
-Apple Developer Tools: command line
------------------------------------
+After Xcode is installed, download either wxWidgets-{version}.tar.gz or 
+wxMac-{version}.tar.gz and then double-click on it to unpack it to create 
+a wxWidgets directory.
+
+Next use Terminal (under Applications, Utilities, Terminal) to access a command 
+prompt.  Use cd to change directories to your wxWidgets directory and execute 
+one of the following sets of commands from the wxWidgets directory
+
+---------
+
+# Build the library for Cocoa (wxWidgets 2.9.0 and later)
+mkdir build-cocoa-debug
+cd build-cocoa-debug
+../configure --enable-unicode --enable-debug --disable-shared --with-osx_cocoa
+make;cd ..
+# Build the samples and demos
+cd build-cocoa-debug/samples; make;cd ../..
+cd build-cocoa-debug/demos;   make;cd ../..
+
+---------
+
+# Build the library for Carbon
+mkdir build-carbon-debug
+cd build-carbon-debug
+../configure --enable-unicode --enable-debug --disable-shared
+make;cd ..
+# Build the samples and demos
+cd build-carbon-debug/samples;make;cd ../..
+cd build-carbon-debug/demos;  make;cd ../..
+
+---------
+
+After the compilation completes, use Finder to run the samples and demos
+  Go to build-carbon-debug/samples to experiment with the Carbon samples.
+  Go to build-carbon-debug/demos to experiment with the Carbon demos.
+  Go to build-cocoa-debug/samples to experiment with the Cocoa samples.
+  Go to biuld-cocoa-debug/demos to experiment with the Cocoa demos.
+Double-click on the executables which have an icon showing three small squares.
+The source code for the samples is in wxWidgets/samples
+The source code for the demos is in wxWidgets/demos
+
+---------
+
+More information about building on Mac OS X is available in the wxWiki.
+Here are two useful links
+  http://wiki.wxwidgets.org/Guides_%26_Tutorials
+  http://wiki.wxwidgets.org/Development:_wxMac 
 
-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
+More advanced topics are covered below.
+
+---------
 
 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
@@ -78,9 +116,16 @@ 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.
+configuring wxWidgets. This will create the libraries for all the supported
+architectures, currently ppc, i386 and x86_64 when using Cocoa (Carbon isn't
+available in 64 bit builds). You may explicitly specify the architectures to
+use as a comma-separated list, e.g. --enable-universal_binary=i386,x86_64.
+
+Notice that if you use wx-config --libs to link your application, the -arch
+flags are not added automatically as it is possible to link e.g. x86_64-only
+program to a "fat" library containing other architectures. If you want to
+build a universal application, you need to add the necessary "-arch xxx" flags
+to your project or makefile separately.
 
 As an alternative to using --enable-universal_binary, you can build for
 each architecture separately and then use the lipo tool to glue the
@@ -105,95 +150,3 @@ 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)
-----------------------------------------------
-
-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
--------
-
-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.
-
-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
-
-If you want OpenGL support with CodeWarrior, set wxUSE_OPENGL to 1 in
-include/wx/setup.h
-
-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.
-
-Project Files
--------------
-
-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)
-
-To run the XML to MCP conversion scripts:
-
-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).
-
-To set the correct creator type for importing into CodeWarrior,
-you may need to run SetXMLCreator.applescript.
-
-Problems with .xpm files
-------------------------
-
-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.
-
-Missing PLStringFuncsLib
-------------------------
-
-You will have to build All Targets for MacOS Support:Libraries:Sources:PLStringFuncs:Glue:PLStringFuncsGlue.mcp
-
-