diff options
author | jstebbins <[email protected]> | 2010-06-04 16:27:15 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2010-06-04 16:27:15 +0000 |
commit | 6141bbf563d067e4c2574f85871f1da4e1b664f2 (patch) | |
tree | 9b1a255082154ad1121895ecdb52a2cba60f7734 /doc | |
parent | 70ee5abfc5b28c7ed2f26ef0ec63a678d3681704 (diff) |
MacGui: Add flexible dylib path manipulation so that we can handle external dylibs more easily
At startup, add any extra dylib paths to DYLD_FALLBACK_LIBRARY_PATH. This is the last path
searched by the system for dylibs and we add our paths to the end of it's list, so this
will never override any system libs or paths the user has explicitly set.
Since applications read the environment once at startup, these changes don't take effect
until we restart with execv. In order to avoid a possible exec bomb, we add a parameter to
the argv list to prevent any further exec's.
Note that this causes a minor glitch when running under gdb. The execv triggers a trap. You
just have to 'continue'.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3351 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'doc')
-rw-r--r-- | doc/BUILD-Mac | 17 | ||||
-rw-r--r-- | doc/texi/Building.osx.texi | 2 | ||||
-rw-r--r-- | doc/texi/building/chapter.via.xcode.texi | 2 |
3 files changed, 18 insertions, 3 deletions
diff --git a/doc/BUILD-Mac b/doc/BUILD-Mac index 55a785eea..5416aae23 100644 --- a/doc/BUILD-Mac +++ b/doc/BUILD-Mac @@ -1,4 +1,4 @@ -Build Guide for HandBrake svn2591 on Mac OS X +Build Guide for HandBrake svn3349 on Mac OS X ********************************************* Table of Contents @@ -504,6 +504,13 @@ to build the default configuration: * 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 @@ -646,6 +653,10 @@ When troubleshooting build issues, the following files relative to the 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 ************************************* @@ -653,7 +664,7 @@ Appendix A Project Repository Details root: svn://svn.handbrake.fr/HandBrake branch: trunk uuid: b64f7644-9d1e-0410-96f1-a4d463321fa5 - rev: 2591 - date: 2009-06-21 13:15:04 -0400 + rev: 3349 + date: 2010-06-02 09:49:18 -0700 type: developer diff --git a/doc/texi/Building.osx.texi b/doc/texi/Building.osx.texi index ee3f82619..6afa9b543 100644 --- a/doc/texi/Building.osx.texi +++ b/doc/texi/Building.osx.texi @@ -68,4 +68,6 @@ UB.archs = i386 x86_64 @c %**------------------------------------------------------------------------- @include building/chapter.via.xcode.texi @include building/chapter.troubleshooting.texi + +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. @include building/appendix.repo.texi diff --git a/doc/texi/building/chapter.via.xcode.texi b/doc/texi/building/chapter.via.xcode.texi index 2b79a7bfc..0b0c2b435 100644 --- a/doc/texi/building/chapter.via.xcode.texi +++ b/doc/texi/building/chapter.via.xcode.texi @@ -23,6 +23,8 @@ Once the HandBrake Xcode project is open, perform the following steps to build t @item click @b{Build} or @b{Build and Go} @end itemize +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 @file{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 (essentially the @b{terminal} method) is triggered by Xcode and a substantial amount of log transcript ensues. Much of that transcript are warnings and errors that are part of the normal build process for 3rd-party contributed modules so in general you need not do anything. However, if Xcode itself reports the build failed, then you must take corrective action. Unfortunately, due to limitations of Xcode we do not have hooks in place to offer finer-grained control over per-module make actions for the (external) build system. Thus, you will have to use @b{terminal} to accomplish those tasks. Just @command{cd} into the build directory which is associated with your active configuration and perform any necessary @command{make} commands. @b{Be careful not to issue commands from the terminal simultaneously with Xcode tasks} as that will confuse both Xcode and make and likely corrupt your build directory. |