@section @value{OS.osx}
Building on @value{OS.osx} is well supported as it is used by maintainers of this project. 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 Mac OS X 10.5.7
@item Xcode-3.1.2
@item gcc 4.0.1 (Apple Inc. build 5493)
@item gcc 4.2.1 (Apple Inc. build 5570)
@end itemize

@include build/platform.common.bundled.texi

@include build/platform.common.conf.default.texi

@subsection Universal Binaries - all architectures
The preferred method to produce universal binaries for all supported architectures is to pass the following option to configure. As of this writing, architectures @{ i386, x86_64, ppc, ppc64 @} are built.

@example
../configure --enable-ub
@end example

@subsection Universal Binaries - selected architectures
The preferred method to produce universal binaries for selected architectures is to specify a comma-delimited list specifying the desired architecture identifiers. Passing the following option will produce universal binaries for architectures @{ i386, x86_64 @}.

@example
../configure --enable-ub=i386,x86_64
@end example
