]> git.donarmstrong.com Git - debhelper.git/blobdiff - debhelper.pod
Fix build system auto-selection breakage.
[debhelper.git] / debhelper.pod
index 8c232d2859bac1e3caac44cfed1beefb7a63cf21..98aa422cffd48922d1aa31e7586a43ef5a96927f 100644 (file)
@@ -28,7 +28,7 @@ package contains a tutorial about making your first package using debhelper.
 
 =head1 DEBHELPER COMMANDS
 
-Here is the complete list of available debhelper commands. See their man
+Here is the list of debhelper commands you can use. See their man
 pages for additional documentation.
 
 =over 4
@@ -37,8 +37,20 @@ pages for additional documentation.
 
 =back
 
+=head2 Deprecated Commands
+
+A few debhelper commands are deprecated and should not be used.
+
+=over 4
+
+#LIST_DEPRECATED#
+
+=back
+
+=head2 Other Commands
+
 If a program's name starts with "dh_", and the program is not on the above
-list, then it is not part of the debhelper package, but it should still
+lists, then it is not part of the debhelper package, but it should still
 work like the other programs described on this page.
 
 =head1 DEBHELPER CONFIG FILES
@@ -93,7 +105,8 @@ will output what it would have done.
 
 =item B<-a>, B<--arch>
 
-Act on all architecture dependent packages.
+Act on architecture dependent packages that should be built for the
+build architecture.
 
 =item B<-i>, B<--indep>
 
@@ -106,13 +119,8 @@ times to make debhelper operate on a given set of packages.
 
 =item B<-s>, B<--same-arch>
 
-This is a smarter version of the -a flag, that is used in some rare
-circumstances. It understands that if the control file lists "Architecture: i386"
-for the package, the package should not be acted on on other architectures. So
-this flag makes the command act on all "Architecture: any" packages, as well
-as on any packages that have the current architecture explicitly specified.
-Contrast to the -a flag, which makes the command work on all packages that
-are not architecture independent.
+This used to be a smarter version of the -a flag, but the -a flag is now
+equally smart.
 
 =item B<-N>I<package>, B<--no-package=>I<package>
 
@@ -174,6 +182,61 @@ in ALL packages acted on, not just the first.
 
 =back
 
+=head1 BUILD SYSTEM OPTIONS
+
+The following command line options are supported by all of the dh_auto_*
+debhelper programs. These programs support a variety of build systems,
+and normally heuristically determine which to use, and how to use them.
+You can use these command line options to override the default behavior.
+
+=over 4
+
+=item B<-S>I<buildsystem>, B<--buildsystem=>I<buildsystem>
+
+Force use of the specified I<buildsystem>, instead of trying to auto-select
+one which might be applicable for the package.
+
+=item B<-D>I<directory>, B<--sourcedirectory=>I<directory>
+
+Assume that the original package source tree is at the specified
+I<directory> rather than the top level directory of the Debian
+source package tree.
+
+=item B<-B>[I<directory>], B<--builddirectory>=[I<directory>]
+
+Enable out of source building and use the specified I<directory> as the build
+directory. If I<directory> parameter is omitted, a default build directory
+will chosen.
+
+If this option is not specified, building will be done in source by default
+unless the build system requires or prefers out of source tree building.
+In such a case, the default build directory will be used even if
+L<--builddirectory> is not specified.
+
+If the build system prefers out of source tree building but still
+allows in source building, the latter can be re-enabled by passing a build
+directory path that is the same as the source directory path.
+
+=item B<--max-parallel>I<=maximum>
+
+By default, the DEB_BUILD_OPTIONS environment variable can be used to
+enable parallel building, when supported by the build system.
+
+This option allows controlling how many parallel jobs can be used in a
+build. If set to 1, concurrent builds are disabled -- do this if
+the package build is known not to work in parallel. If the package build
+is known to only work with certian levels of concurrency, you can set this
+to the maximum level that is known to work, or that you wish to support.
+
+=item B<--list>, B<-l>
+
+List all build systems supported by debhelper on this system. The list
+includes both default and third party build systems (marked as such). Also
+shows which build system would be automatically selected, or which one
+is manually specified with the I<--buildsystem> option.
+
+=back
+
 =head1 NOTES
 
 =head2 Multiple binary package support
@@ -431,17 +494,6 @@ none is specified.
 
 =back
 
-=head2 Doc directory symlinks
-
-Sometimes it is useful to make a package not contain a /usr/share/doc/package
-directory at all, instead placing just a dangling symlink in the binary
-package, that points to some other doc directory. Policy says this is ok if
-your package depends on the package whose doc directory it uses. To
-accomplish this, just don't tell debhelper to install any documentation
-files into the package, and use dh_link to set up the symlink (or do it by
-hand), and debhelper should do the right thing: notice it is a dangling
-symlink and not try to install a copyright file or changelog.
-
 =head2 udebs
 
 Debhelper includes support for udebs. To create a udeb with debhelper,
@@ -491,14 +543,8 @@ Anything in this variable will be prepended to the command line arguments
 of all debhelper commands. Command-specific options will be ignored by 
 commands that do not support them. 
 
-Arguments are separated by whitespaces unless a whitespace is escaped
-with a backslash character (\). Then the whitespace is treated literally.
-Likewise, the backslash character is treated literally unless it is followed
-by a single whitespace. If a backslash is followed by two or more spaces,
-it will be considered as the last symbol of the argument.
-
-DH_OPTIONS is useful in some situations, for example, if you need to pass -p
-to all debhelper commands that will be run. One good way to set DH_OPTIONS is
+This is useful in some situations, for example, if you need to pass -p to
+all debhelper commands that will be run. One good way to set DH_OPTIONS is
 by using "Target-specific Variable Values" in your debian/rules file. See
 the make documentation for details on doing this.