@input texinfo @c -*- Texinfo -*- @c %**start of header @setfilename Building.osx.info @include base/article.texi @include building/command.texi @paragraphindent none @set BG.platform osx @c %**end of header @majorheading Guide to Building @value{HB.title} on @value{OS.@value{BG.platform}} @contents @include building/chapter.introduction.texi @c %**------------------------------------------------------------------------- @anchor{prerequisites} @chapter Prerequisites 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: @itemize @bullet @item Mac Intel hardware @item @value{OS.osx} 10.5.6 @item Xcode-3.1.2 @item gcc 4.0.1 (Apple Inc. build 5490) @item yasm 0.7.2.2153 (for i386 and x86_64 architectures) @end itemize @include building/prerequisites.bundled.texi @include building/prerequisites.common.texi @c %**------------------------------------------------------------------------- @include building/chapter.quickstart.texi @c %**------------------------------------------------------------------------- @anchor{overview} @chapter Overview The two general methods to build on @value{OS.osx} are building from @b{terminal} or @b{Xcode}. The preferred method for automated and repeatable builds is to use the terminal. Otherwise the choice is generally up to the individual. In essence, the terminal actually invokes @command{xcodebuild} to build the very same targets contained in the Xcode project. @c %**------------------------------------------------------------------------- @include building/chapter.via.terminal.texi @c %**------------------------------------------------------------------------- @anchor{terminal.ub} @section Universal Binaries This section outlines convenience procedures for creating Universal Binaries for all the architectures. @quotation Note The dummy (container) build configuration uses @command{--disable-xcode}; but the nested architecture builds will all make full use of Xcode. @end quotation 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: @example ./configure --disable-xcode cd build/ make ub.build.serial make ub.combine @end example 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}: @example ## prefer i386 (order is important) UB.archs = i386 x86_64 @end example @c %**------------------------------------------------------------------------- @include building/chapter.via.xcode.texi