-Build Guide for HandBrake svn2322 on Mac OS X
+Build Guide for HandBrake svn3349 on Mac OS X
*********************************************
Table of Contents
6.2 Build
6.3 External Targets
6.4 User-Defined Settings
+7 Troubleshooting
Appendix A Project Repository Details
* Mac Intel hardware
- * Mac OS X 10.5.6
+ * Mac OS X 10.5.7
* Xcode-3.1.2
* gcc 4.0.1 (Apple Inc. build 5490)
- * yasm 0.7.2.2153 (for i386 and x86_64 architectures)
+ * yasm 0.8.0.2194 (for i386 and x86_64 architectures)
Note: It is recommended to use the platform distribution's bundled
compiler for maximum C++ compatibility. If you build with a custom
The following general tools are used on various platforms and it is
recommended you use these versions or similar:
- * subversion - 1.5.5
+ * subversion - 1.6.2
* python - Python 2.4.6
- * curl - curl 7.19.3 (or wget)
+ * curl - curl 7.19.4 (or wget)
* m4 - GNU M4 1.4.6
---------------------
Contrib modules such as `a52dec', `bzip2', `faac', `faad2', `ffmpeg',
-`lame', `libdca', `libdvdread', `libmkv', `libmp4v2', `libogg',
-`libsamplerate', `libtheora', `libvorbis', `mpeg2dec', `x264',
-`xvidcore' and `zlib' have the following scoped targets:
+`lame', `libdca', `libdvdread', `libmkv', `libogg', `libsamplerate',
+`libtheora', `libvorbis', `mp4v2', `mpeg2dec', `x264' and `zlib' have
+the following scoped targets:
`make MODULE.fetch'
Download source tarball from the Internet and save to
`_SRC_/custom.defs' might contain:
## bump to gcc-4.2 in current path
- GCC.gcc = gcc-4.2
+ GCC.gcc = /usr/bin/gcc-4.2
## replace optimize for 'speed' with more aggressive settings
GCC.args.O.speed = -O3 -fomit-frame-pointer -msse4.2
* click Build or Build and Go
+When using Build and Go, xcode launches the application under the gdb
+debugger. gdb will encounter a trap when starting the program. This
+trap is harmless and you should just 'continue'. For the curious, the
+trap occurs because we add some values to the environment with setenv,
+then do a brain transplant with execv. Restarting the application with
+execv triggers the trap.
+
The first build (on an empty `build' directory) will take a bit of
time. You may use the Build Results window to observe progress. The
most time-consuming part of the build is when the external build system
Specifies the top-level source directory for HandBrake.
+7 Troubleshooting
+*****************
+
+When troubleshooting build issues, the following files relative to the
+`build/' directory may be especially useful:
+
+`GNUmakefile'
+ Top-level makefile which contains build settings generated via
+ configure.
+
+`log/config.info.txt'
+ Record of output from configure.
+
+`log/config.verbose.txt'
+ Record of verbose output from configure.
+
+`log/build.txt'
+ Record of output from `configure --launch'. Similar output may be
+ recorded using `make' depending on which shell is in use, eg:
+ `make >& log/build.txt' or `make > log/build.txt 2>&1'.
+
+`log/xcodemake.env.txt'
+ Environment (variables) dump as seen when Xcode forks `make'.
+ Mac OS X only.
+
+A note about gdb: We perform an extra execv when starting the
+application. This triggers a trap in gdb. It is harmless. You should
+just 'continue' from the trap.
+
Appendix A Project Repository Details
*************************************
root: svn://svn.handbrake.fr/HandBrake
branch: trunk
uuid: b64f7644-9d1e-0410-96f1-a4d463321fa5
- rev: 2322
- date: 2009-04-13 13:28:21 -0400
+ rev: 3349
+ date: 2010-06-02 09:49:18 -0700
type: developer