1 @input texinfo @c -*- Texinfo -*-
3 @setfilename Building.osx.info
4 @include base/article.texi
5 @include building/command.texi
11 @majorheading Build Guide for @value{HB.name} @value{HB.version} on @value{OS.@value{BG.platform}}
14 @include building/chapter.introduction.texi
16 @c %**-------------------------------------------------------------------------
17 @anchor{prerequisites}
18 @chapter Prerequisites
19 Building on @value{OS.osx} is well supported. It is the reference platform for @value{HB.name}. The following are the recommended specifications for this platform; but is not necessarily the only configuration that is possible:
22 @item Mac Intel hardware
23 @item @value{OS.osx} 10.5.6
25 @item gcc 4.0.1 (Apple Inc. build 5490)
26 @item yasm 0.7.2.2153 (for i386 and x86_64 architectures)
29 @include building/prerequisites.bundled.texi
30 @include building/prerequisites.common.texi
32 @c %**-------------------------------------------------------------------------
33 @include building/chapter.quickstart.texi
35 @c %**-------------------------------------------------------------------------
38 The two general methods to build on @value{OS.osx} are from @b{terminal} or @b{Xcode.app}. The preferred method for automated and repeatable builds is to use the terminal. Otherwise the choice is generally up to the individual. To be extra clear, building from the terminal by default actually invokes @command{xcodebuild} to build the very same targets contained in the Xcode project. Think of it as building with Xcode but without the GUI.
40 @c %**-------------------------------------------------------------------------
41 @include building/chapter.via.terminal.texi
43 @c %**-------------------------------------------------------------------------
45 @section Universal Binaries
46 This section outlines convenience procedures for creating Universal Binaries for all the architectures.
49 The dummy (container) build configuration uses @command{--disable-xcode}; but the nested architecture builds will all make full use of Xcode.
52 Create a dummy (container) build configuration and use it to launch a nested-build for each architecture @i{serially}; optionally you may substitute @command{make ub.build.serial} for @command{make ub.build.parallel} if your machine has the horsepower:
55 ./configure --disable-xcode
61 To specify a subset of architectures to be built first create/edit @file{_SRC_/custom.defs} with the following override to build UB for @samp{i386} and @samp{x86_64} before invoking @command{make}:
64 ## prefer i386 (order is important)
65 UB.archs = i386 x86_64
68 @c %**-------------------------------------------------------------------------
69 @include building/chapter.via.xcode.texi
70 @include building/appendix.repo.texi