-Guide to Building HandBrake svn2252 (2009031001) on Cygwin
+Guide to Building HandBrake svn2322 (2009041301) on Cygwin
**********************************************************
Table of Contents
Configure will automatically create a scratch build directory `build'
unless you use GNU-style build procedures and first `cd' to a directory
-other than top-level source. Additionally you may specify use `--build'
-to specify the directory. The name of the directory is arbitrary but it
-is recommended to use something which indicates transient files which
-are not checked into the repository.
+other than top-level source. Additionally you may use `--build' to
+specify the directory. The name of the directory is arbitrary but it is
+recommended to use something which indicates transient files which are
+not checked into the repository.
The `configure' utility accepts many options. It is recommended that
you specify `--help' for the complete list of options. The following
`--launch'
All-in-one option which launches the build and logs output
- automatically. Useful for novices and quickstart procedures.
+ automatically. Useful for novices and quick-start procedures.
`--disable-xcode'
- Disable shunting the build through Xcode. If this option is
- applied, `HandBrakeCLI' will be produced in a similare fashion as
- it is on other platforms; sans Xcode. Mac OS X only.
+ Disable shunting the build through `xcodebuild'. If this option is
+ applied, `HandBrakeCLI' will be produced in a similar fashion as
+ it is on other platforms; sans Xcode and the Cocoa application
+ will not be produced. Mac OS X only.
`--disable-gtk'
Disable building the GTK GUI on applicable platforms such as
* build corruption is suspected
There are generally two methods for scrapping a build. The `build'
-directory can be recusrively removed which has the effect of loosing
+directory can be recursively removed which has the effect of loosing
your existing configuration but does guarantee no residuals are left
behind. The other method is to ask the build system to perform an `make
xclean'. This is known to work well but will leave empty directories
The build system supports passing many kinds of targets some of which
become very useful in normal development cycles. The targets by
convention are lower-case words passed to `make'. Global targets are
-one-word targets. Scoped targets are usually two-words seperated by a
+one-word targets. Scoped targets are usually two-words separated by a
period.
5.4.1 Global
`make MODULE.fetch'
Download source tarball from the Internet and save to
- `TOP/downloads' directory. No checksumming is performed.
+ `TOP/downloads' directory. No check-summing is performed.
`make MODULE.extract'
Extract source tarball into `build' tree.
(essentially gnu-make variables) the recommended method is to create
optional include files which are automatically included if present and
follow this naming convention; Do not check these files into the
-respository:
+repository:
`_SRC_/custom.defs'
Custom makevar definitions outside `build'. Suitable for settings
## bump to gcc-4.2 in current path
GCC.gcc = gcc-4.2
- ## replace optimize for 'speed' with more agressive settings
+ ## replace optimize for 'speed' with more aggressive settings
GCC.args.O.speed = -O3 -fomit-frame-pointer -msse4.2
See also `make report.help' which displays a set of reports used to
root: svn://svn.handbrake.fr/HandBrake
branch: trunk
uuid: b64f7644-9d1e-0410-96f1-a4d463321fa5
- rev: 2252
- date: 2009-03-10 18:43:11 -0400
+ rev: 2322
+ date: 2009-04-13 13:28:21 -0400
type: developer
-Guide to Building HandBrake svn2252 (2009031001) on Linux
+Guide to Building HandBrake svn2322 (2009041301) on Linux
*********************************************************
Table of Contents
* libgtkhtml3.14-dev (gui)
+ * libnotify-dev (gui)
+
* libgstreamer0.10-dev (gui)
* libgstreamer-plugins-base0.10-dev (gui)
sudo apt-get install subversion yasm build-essential \
autoconf intltool libtool zlib1g-dev libbz2-dev libglib2.0-dev \
libdbus-glib-1-dev libgtk2.0-dev libhal-dev libhal-storage-dev \
- libgtkhtml3.14-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
+ libgtkhtml3.14-dev libnotify-dev libgstreamer0.10-dev \
+ libgstreamer-plugins-base0.10-dev
Fedora 10 package groups:
* Development Tools
* gtkhtml3-devel (gui)
+ * libnotify-devel (gui)
+
* gstreamer-devel (gui)
* gstreamer-plugins-base-devel (gui)
To install these packages:
sudo yum install yasm zlib-devel bzip2-devel \
- dbus-glib-devel hal-devel gtkhtml3-devel \
+ dbus-glib-devel hal-devel gtkhtml3-devel libnotify-devel\
gstreamer-devel gstreamer-plugins-base-devel
3 QuickStart
Configure will automatically create a scratch build directory `build'
unless you use GNU-style build procedures and first `cd' to a directory
-other than top-level source. Additionally you may specify use `--build'
-to specify the directory. The name of the directory is arbitrary but it
-is recommended to use something which indicates transient files which
-are not checked into the repository.
+other than top-level source. Additionally you may use `--build' to
+specify the directory. The name of the directory is arbitrary but it is
+recommended to use something which indicates transient files which are
+not checked into the repository.
The `configure' utility accepts many options. It is recommended that
you specify `--help' for the complete list of options. The following
`--launch'
All-in-one option which launches the build and logs output
- automatically. Useful for novices and quickstart procedures.
+ automatically. Useful for novices and quick-start procedures.
`--disable-xcode'
- Disable shunting the build through Xcode. If this option is
- applied, `HandBrakeCLI' will be produced in a similare fashion as
- it is on other platforms; sans Xcode. Mac OS X only.
+ Disable shunting the build through `xcodebuild'. If this option is
+ applied, `HandBrakeCLI' will be produced in a similar fashion as
+ it is on other platforms; sans Xcode and the Cocoa application
+ will not be produced. Mac OS X only.
`--disable-gtk'
Disable building the GTK GUI on applicable platforms such as
* build corruption is suspected
There are generally two methods for scrapping a build. The `build'
-directory can be recusrively removed which has the effect of loosing
+directory can be recursively removed which has the effect of loosing
your existing configuration but does guarantee no residuals are left
behind. The other method is to ask the build system to perform an `make
xclean'. This is known to work well but will leave empty directories
The build system supports passing many kinds of targets some of which
become very useful in normal development cycles. The targets by
convention are lower-case words passed to `make'. Global targets are
-one-word targets. Scoped targets are usually two-words seperated by a
+one-word targets. Scoped targets are usually two-words separated by a
period.
5.4.1 Global
`make MODULE.fetch'
Download source tarball from the Internet and save to
- `TOP/downloads' directory. No checksumming is performed.
+ `TOP/downloads' directory. No check-summing is performed.
`make MODULE.extract'
Extract source tarball into `build' tree.
(essentially gnu-make variables) the recommended method is to create
optional include files which are automatically included if present and
follow this naming convention; Do not check these files into the
-respository:
+repository:
`_SRC_/custom.defs'
Custom makevar definitions outside `build'. Suitable for settings
## bump to gcc-4.2 in current path
GCC.gcc = gcc-4.2
- ## replace optimize for 'speed' with more agressive settings
+ ## replace optimize for 'speed' with more aggressive settings
GCC.args.O.speed = -O3 -fomit-frame-pointer -msse4.2
See also `make report.help' which displays a set of reports used to
root: svn://svn.handbrake.fr/HandBrake
branch: trunk
uuid: b64f7644-9d1e-0410-96f1-a4d463321fa5
- rev: 2252
- date: 2009-03-10 18:43:11 -0400
+ rev: 2322
+ date: 2009-04-13 13:28:21 -0400
type: developer
-Build Guide for HandBrake svn2252 on Mac OS X
+Build Guide for HandBrake svn2322 on Mac OS X
*********************************************
Table of Contents
5.4.5 Contrib Aggregates
5.5 Customizing Make
5.6 Universal Binaries
-6 Building via Xcode
+6 Building via Xcode.app
6.1 Checkout Sources
6.2 Build
6.3 External Targets
4 Overview
**********
-The two general methods to build on Mac OS X are building from terminal
-or Xcode. The preferred method for automated and repeatable builds is
+The two general methods to build on Mac OS X are from terminal or
+Xcode.app. 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 `xcodebuild' to
-build the very same targets contained in the Xcode project.
+individual. To be extra clear, building from the terminal by default
+actually invokes `xcodebuild' to build the very same targets contained
+in the Xcode project. Think of it as building with Xcode but without
+the GUI.
5 Building via Terminal
***********************
Configure will automatically create a scratch build directory `build'
unless you use GNU-style build procedures and first `cd' to a directory
-other than top-level source. Additionally you may specify use `--build'
-to specify the directory. The name of the directory is arbitrary but it
-is recommended to use something which indicates transient files which
-are not checked into the repository.
+other than top-level source. Additionally you may use `--build' to
+specify the directory. The name of the directory is arbitrary but it is
+recommended to use something which indicates transient files which are
+not checked into the repository.
The `configure' utility accepts many options. It is recommended that
you specify `--help' for the complete list of options. The following
`--launch'
All-in-one option which launches the build and logs output
- automatically. Useful for novices and quickstart procedures.
+ automatically. Useful for novices and quick-start procedures.
`--disable-xcode'
- Disable shunting the build through Xcode. If this option is
- applied, `HandBrakeCLI' will be produced in a similare fashion as
- it is on other platforms; sans Xcode. Mac OS X only.
+ Disable shunting the build through `xcodebuild'. If this option is
+ applied, `HandBrakeCLI' will be produced in a similar fashion as
+ it is on other platforms; sans Xcode and the Cocoa application
+ will not be produced. Mac OS X only.
`--disable-gtk'
Disable building the GTK GUI on applicable platforms such as
* build corruption is suspected
There are generally two methods for scrapping a build. The `build'
-directory can be recusrively removed which has the effect of loosing
+directory can be recursively removed which has the effect of loosing
your existing configuration but does guarantee no residuals are left
behind. The other method is to ask the build system to perform an `make
xclean'. This is known to work well but will leave empty directories
The build system supports passing many kinds of targets some of which
become very useful in normal development cycles. The targets by
convention are lower-case words passed to `make'. Global targets are
-one-word targets. Scoped targets are usually two-words seperated by a
+one-word targets. Scoped targets are usually two-words separated by a
period.
5.4.1 Global
`make MODULE.fetch'
Download source tarball from the Internet and save to
- `TOP/downloads' directory. No checksumming is performed.
+ `TOP/downloads' directory. No check-summing is performed.
`make MODULE.extract'
Extract source tarball into `build' tree.
(essentially gnu-make variables) the recommended method is to create
optional include files which are automatically included if present and
follow this naming convention; Do not check these files into the
-respository:
+repository:
`_SRC_/custom.defs'
Custom makevar definitions outside `build'. Suitable for settings
## bump to gcc-4.2 in current path
GCC.gcc = gcc-4.2
- ## replace optimize for 'speed' with more agressive settings
+ ## replace optimize for 'speed' with more aggressive settings
GCC.args.O.speed = -O3 -fomit-frame-pointer -msse4.2
See also `make report.help' which displays a set of reports used to
## prefer i386 (order is important)
UB.archs = i386 x86_64
-6 Building via Xcode
-********************
+6 Building via Xcode.app
+************************
6.1 Checkout Sources
====================
6.2 Build
=========
-In Xcode perform the following steps to build the default configuration:
+Open Xcode.app from a terminal by using the `open' command which passes
+your shell environment and its `PATH' setting to Xcode. Do not attempt
+to launch Xcode.app from Finder or by using Finder to open
+`HandBrake.xcodeproj' - doing so will defeat any custom path settings
+which contain required tools.
- * open `macosx/HandBrake.xcodeproj'
+ open `macosx/HandBrake.xcodeproj'
+
+Once the HandBrake Xcode project is open, perform the following steps
+to build the default configuration:
* select active configuration standard
root: svn://svn.handbrake.fr/HandBrake
branch: trunk
uuid: b64f7644-9d1e-0410-96f1-a4d463321fa5
- rev: 2252
- date: 2009-03-10 18:43:11 -0400
+ rev: 2322
+ date: 2009-04-13 13:28:21 -0400
type: developer
@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.
+The two general methods to build on @value{OS.osx} are from @b{terminal} or @b{Xcode.app}. The preferred method for automated and repeatable builds is to use the terminal. Otherwise the choice is generally up to the individual. To be extra clear, building from the terminal by default actually invokes @command{xcodebuild} to build the very same targets contained in the Xcode project. Think of it as building with Xcode but without the GUI.
@c %**-------------------------------------------------------------------------
@include building/chapter.via.terminal.texi
@item --launch
All-in-one option which launches the build and logs output automatically.
-Useful for novices and quickstart procedures.
+Useful for novices and quick-start procedures.
@item --disable-xcode
-Disable shunting the build through Xcode. If this option is applied, @command{HandBrakeCLI} will be produced in a similare fashion as it is on other platforms; sans Xcode. @value{OS.osx} only.
+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}.
@item build corruption is suspected
@end itemize
-There are generally two methods for scrapping a build. The @file{build} directory can be recusrively removed which has the effect of loosing your existing configuration but does guarantee no residuals are left behind. The other method is to ask the build system to perform an @command{make xclean}. This is known to work well but will leave empty directories behind. However, the configuration is left intact.
+There are generally two methods for scrapping a build. The @file{build} directory can be recursively removed which has the effect of loosing your existing configuration but does guarantee no residuals are left behind. The other method is to ask the build system to perform an @command{make xclean}. This is known to work well but will leave empty directories behind. However, the configuration is left intact.
@c %**-------------------------------------------------------------------------
@anchor{terminal.build}
@anchor{terminal.targets}
@section Make Targets
-The build system supports passing many kinds of targets some of which become very useful in normal development cycles. The targets by convention are lower-case words passed to @command{make}. Global targets are one-word targets. Scoped targets are usually two-words seperated by a period.
+The build system supports passing many kinds of targets some of which become very useful in normal development cycles. The targets by convention are lower-case words passed to @command{make}. Global targets are one-word targets. Scoped targets are usually two-words separated by a period.
@anchor{terminal.targets.global}
@subsection Global
@table @samp
@item make @i{MODULE}.fetch
-Download source tarball from the Internet and save to @file{TOP/downloads} directory. No checksumming is performed.
+Download source tarball from the Internet and save to @file{TOP/downloads} directory. No check-summing is performed.
@item make @i{MODULE}.extract
Extract source tarball into @file{build} tree.
@c %**-------------------------------------------------------------------------
@anchor{terminal.customizing}
@section Customizing Make
-If the need arises to override settings in the build system (essentially gnu-make variables) the recommended method is to create optional include files which are automatically included if present and follow this naming convention; @b{Do not check these files into the respository}:
+If the need arises to override settings in the build system (essentially gnu-make variables) the recommended method is to create optional include files which are automatically included if present and follow this naming convention; @b{Do not check these files into the repository}:
@table @file
@item _SRC_/custom.defs
## bump to gcc-4.2 in current path
GCC.gcc = gcc-4.2
-## replace optimize for 'speed' with more agressive settings
+## replace optimize for 'speed' with more aggressive settings
GCC.args.O.speed = -O3 -fomit-frame-pointer -msse4.2
@end example
@anchor{xcode}
-@chapter Building via Xcode
+@chapter Building via Xcode.app
@c %**-------------------------------------------------------------------------
@anchor{xcode.checkout}
@c %**-------------------------------------------------------------------------
@anchor{xcode.build}
@section Build
-In Xcode perform the following steps to build the default configuration:
+Open Xcode.app from a terminal by using the @command{open} command which passes your shell environment and its @samp{PATH} setting to Xcode. Do not attempt to launch Xcode.app from Finder or by using Finder to open @file{HandBrake.xcodeproj} -- doing so will defeat any custom path settings which contain required tools.
+
+@example
+open @file{macosx/HandBrake.xcodeproj}
+@end example
+
+Once the HandBrake Xcode project is open, perform the following steps to build the default configuration:
@itemize
-@item open @file{macosx/HandBrake.xcodeproj}
@item select active configuration @b{standard}
@item select active target @b{HandBrake}
@item click @b{Build} or @b{Build and Go}