git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			192 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			192 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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).
 | |
| 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.
 | |
| 
 | |
| 
 | |
| 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)
 | |
| ----------------------------------------------
 | |
| 
 | |
| 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
 | |
| 
 | |
| 
 |