]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_auto_install
cmake: Pass CPPFLAGS in CFLAGS. Closes: #668813 Thanks, Simon Ruderich for the patch...
[debhelper.git] / dh_auto_install
index 446470270a19bdd55415e3e9219aa597e678a175..d513f2e223095ac99e4f1ccf5caf54e13f34752c 100755 (executable)
@@ -9,6 +9,7 @@ dh_auto_install - automatically runs make install or similar
 use strict;
 use Debian::Debhelper::Dh_Lib;
 use Debian::Debhelper::Dh_Buildsystems;
 use strict;
 use Debian::Debhelper::Dh_Lib;
 use Debian::Debhelper::Dh_Buildsystems;
+use File::Spec;
 use Cwd;
 
 =head1 SYNOPSIS
 use Cwd;
 
 =head1 SYNOPSIS
@@ -17,54 +18,67 @@ B<dh_auto_install> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<-
 
 =head1 DESCRIPTION
 
 
 =head1 DESCRIPTION
 
-dh_auto_install is a debhelper program that tries to automatically install
+B<dh_auto_install> is a debhelper program that tries to automatically install
 built files. It does so by running the appropriate command for the build
 built files. It does so by running the appropriate command for the build
-system it detects the package uses. For example, if there's a Makefile and
-it contains a "install" target, then this is done by running make (or MAKE,
-if the environment variable is set). If there is a setup.py or Build.PL,
-it is used.
-
-The files are installed into debian/<package>/ if there is only one binary
-package. In the multiple binary package case, the files are instead
-installed into debian/tmp/, and should be moved from there to the
-appropriate package build directory using L<dh_install(1)> or
-L<dh_movefiles(1)>.
-
-DESTDIR is used to tell make where to install the files. 
-If the Makefile was generated by MakeMaker from a Makefile.PL, it will
-automatically set PREFIX=/usr too, since such Makefiles need that.
+system it detects the package uses. For example, if there's a F<Makefile> and
+it contains a B<install> target, then this is done by running B<make> (or B<MAKE>,
+if the environment variable is set). If there is a F<setup.py> or F<Build.PL>,
+it is used. Note that the Ant build system does not support installation,
+so B<dh_auto_install> will not install files built using Ant.
+
+Unless B<--destdir> option is specified, the files are installed into
+debian/I<package>/ if there is only one binary package. In the multiple binary
+package case, the files are instead installed into F<debian/tmp/>, and should be
+moved from there to the appropriate package build directory using
+L<dh_install(1)>.
+
+B<DESTDIR> is used to tell make where to install the files. 
+If the Makefile was generated by MakeMaker from a F<Makefile.PL>, it will
+automatically set B<PREFIX=/usr> too, since such Makefiles need that.
 
 This is intended to work for about 90% of packages. If it doesn't work, or
 tries to use the wrong install target, you're encouraged to skip using
 
 This is intended to work for about 90% of packages. If it doesn't work, or
 tries to use the wrong install target, you're encouraged to skip using
-dh_auto_install at all, and just run make install manually.
+B<dh_auto_install> at all, and just run make install manually.
 
 =head1 OPTIONS
 
 
 =head1 OPTIONS
 
+See L<debhelper(7)/B<BUILD SYSTEM OPTIONS>> for a list of common build
+system selection and control options.
+
 =over 4
 
 =over 4
 
-See L<debhelper(7)/BUILD SYSTEM OPTIONS> for a list of common build
-system selection and control options.
+=item B<--destdir=>I<directory>
+
+Install files into the specified I<directory>. If this option is not specified,
+destination directory is determined automatically as described in the
+L</B<DESCRIPTION>> section.
 
 =item B<--> I<params>
 
 
 =item B<--> I<params>
 
-Pass "params" to the program that is run. These can be used to supplement
-or override the any standard parameters that dh_auto_install passes.
+Pass I<params> to the program that is run, after the parameters that
+B<dh_auto_install> usually passes.
 
 =back
 
 =cut
 
 
 =back
 
 =cut
 
-buildsystems_init();
-
 my $destdir;
 my $destdir;
-my @allpackages=getpackages();
-if (@allpackages > 1) {
-       $destdir="debian/tmp";
-}
-else {
-       $destdir=tmpdir($dh{MAINPACKAGE});
+
+buildsystems_init(options => {
+       "destdir=s" => \$destdir,
+});
+
+# If destdir is not specified, determine it automatically
+if (!$destdir) {
+       my @allpackages=getpackages();
+       if (@allpackages > 1) {
+               $destdir="debian/tmp";
+       }
+       else {
+               $destdir=tmpdir($dh{MAINPACKAGE});
+       }
 }
 }
-$destdir=cwd()."/".$destdir;
+$destdir = File::Spec->rel2abs($destdir, cwd());
 
 buildsystems_do("install", $destdir);
 
 
 buildsystems_do("install", $destdir);