summaryrefslogtreecommitdiffstats
path: root/doc/texi/building/chapter.via.terminal.texi
diff options
context:
space:
mode:
authorkonablend <[email protected]>2012-01-04 09:41:11 +0000
committerkonablend <[email protected]>2012-01-04 09:41:11 +0000
commit6d95ab81984cc44296438270aa792255f037c89a (patch)
tree842d42f935c31a5ec8c1529605cd0226d5d29197 /doc/texi/building/chapter.via.terminal.texi
parentaad50499b32c44d28a6bae7f353b579e24564e25 (diff)
BuildSystem: Mac OS X - transition to Xcode4
- transition from Xcode3 to Xcode4 - overhaul HandBrake.xcodeproj file - simplify down to 2 configurations: debug, release - add xcconfig for useful variants: osx106.i386, osx106.x86_64, osx107.i386, osx107.x86_64 - add configure --xcode-config as preferred method to choose OSX minimum version and SDK - overhaul Info.plist generation to use m4 instead of cpp - remove use of direct static libraries on command line - Xcode4 now enables -search_paths_first by default - reference external build static libraries project file - greatly simplifying project file maintenance - update universal build targets to use --xcode-config - update ffmpeg hack to build on i386 in both debug and optimized modes - update ffmpeg build to show compile verbosity - enable local yasm when yasm probe fails - remove unused GCC.ldsysroot - remove unused GCC.ldminver - enhance xcodemake to use --sysroot, --minver - update/regenerate docs accordingly - add support for configure-time repo probe when svn repo is incompatible format to Xcode via .svn/HANDBRAKE_REPO_PROBE - replaced make/test/build.matrix.darwin with make/test/build.matrix git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4395 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'doc/texi/building/chapter.via.terminal.texi')
-rw-r--r--doc/texi/building/chapter.via.terminal.texi17
1 files changed, 11 insertions, 6 deletions
diff --git a/doc/texi/building/chapter.via.terminal.texi b/doc/texi/building/chapter.via.terminal.texi
index 69f1424db..bdd665e23 100644
--- a/doc/texi/building/chapter.via.terminal.texi
+++ b/doc/texi/building/chapter.via.terminal.texi
@@ -37,9 +37,6 @@ This defaults to a reasonable platform-specific value.
All-in-one option which launches the build and logs output automatically.
Useful for novices and quick-start procedures.
-@item --disable-xcode
-Disable shunting the build through @command{xcodebuild}. If this option is applied, @command{HandBrakeCLI} will be produced in a similar fashion as it is on other platforms; sans Xcode and the Cocoa application will not be produced. @value{OS.osx} only.
-
@item --disable-gtk
Disable building the GTK GUI on applicable platforms such as @value{OS.linux}.
@@ -54,6 +51,11 @@ This generally maps to gcc options @samp{-g0}, @samp{-O0}, @samp{-O3}, @samp{-Os
@item --arch=MODE
Select build architecture. The available architectures vary by platform. Most platforms support exactly one architecture except @value{OS.osx} which has support for various universal binary architectures. The available choices are hard-coded per platform and no sanity checks for the required tools are performed.
+@item --disable-xcode
+Disable shunting the build through @command{xcodebuild}. If this option is applied, @command{HandBrakeCLI} will be produced in a similar fashion as it is on other platforms; sans Xcode and the Cocoa application will not be produced. @value{OS.osx} only.
+
+@item --xcconfig=MODE
+Select Xcode project configuration file. The available modes are the basenames of files located in @file{macosx/xcconfig/*.xcconfig} which direct Xcode to build using various architecture and @value{OS.osx} deployment options. @value{OS.osx} only.
@end table
Clean-room procedures dictate that when certain factors change, old builds should be scrapped and new builds configured. This is the main reason for requiring a scratch directory; to promote consistent, reliable and clean software builds. The following is a short list of some of the reasons why someone may choose to scrap an existing build:
@@ -114,6 +116,9 @@ Clean all build output including contrib modules. Configuration is retained.
@item make doc
Build auto-generated project documentation. Various articles are produced and may be found in @file{build/doc/articles}.
+@item make doc.post
+Build auto-generated project documentation and post produced articles directly to source tree.
+
@item make report.help
Print list of available makefile vars report targets.
These reports detail var definitions and expanded values used by the build system.
@@ -140,7 +145,7 @@ Clean build output for @i{MODULE}.
@anchor{terminal.targets.contrib}
@subsection Contrib Modules
-Contrib modules such as @samp{a52dec}, @samp{bzip2}, @samp{faac}, @samp{faad2}, @samp{ffmpeg}, @samp{lame}, @samp{libdca}, @samp{libdvdread}, @samp{libmkv}, @samp{libogg}, @samp{libsamplerate}, @samp{libtheora}, @samp{libvorbis}, @samp{mp4v2}, @samp{mpeg2dec}, @samp{x264} and @samp{zlib} have the following scoped targets:
+Contrib modules such as @samp{a52dec}, @samp{bzip2}, @samp{faac}, @samp{faad2}, @samp{ffmpeg}, @samp{fontconfig}, @samp{freetype}, @samp{fribidi}, @samp{lame}, @samp{libass}, @samp{libbluray}, @samp{libdca}, @samp{libdvdnav}, @samp{libdvdread}, @samp{libdvdread}, @samp{libiconv}, @samp{libmkv}, @samp{libogg}, @samp{libsamplerate}, @samp{libtheora}, @samp{libvorbis}, @samp{libxml2}, @samp{mp4v2}, @samp{mpeg2dec}, @samp{x264}, @samp{yasm} and @samp{zlib} have the following scoped targets:
@table @samp
@item make @i{MODULE}.fetch
@@ -232,8 +237,8 @@ Custom makevar rules specific to a @file{build} directory.
The purpose is to allow a place to store local build settings for testing, tweaking, and experimenting with build configuration without losing your settings if @command{configure} is invoked; ie: @command{configure} would overwrite @file{GNUmakefile} and any customizations contained therein would be lost. Here is a short example of what the contents of @file{_SRC_/custom.defs} might contain:
@example
-## bump to gcc-4.2 in current path
-GCC.gcc = /usr/bin/gcc-4.2
+## bump to gcc-4.6 in current path
+GCC.gcc = /usr/bin/gcc-4.6
## replace optimize for 'speed' with more aggressive settings
GCC.args.O.speed = -O3 -fomit-frame-pointer -msse4.2