]> git.donarmstrong.com Git - debhelper.git/commitdiff
Rename enforce_out_of_source_building() to prefer_
authorModestas Vainius <modestas@vainius.eu>
Mon, 29 Jun 2009 16:11:42 +0000 (19:11 +0300)
committerModestas Vainius <modestas@vainius.eu>
Mon, 29 Jun 2009 21:53:06 +0000 (00:53 +0300)
Also add enforce_out_of_source_building() for clarity which does not
take any parameters. Now both have a clear name and no confusing
parameter combinations.

Signed-off-by: Modestas Vainius <modestas@vainius.eu>
Debian/Debhelper/Buildsystem.pm
Debian/Debhelper/Buildsystem/cmake.pm
Debian/Debhelper/Buildsystem/python_distutils.pm
t/buildsystems/buildsystem_tests

index c63f8153b5358457f7d59c7dfea7965e3933d39e..e2037b5fe11322d36d6fb1ea7600cbe489baaf20 100644 (file)
@@ -89,6 +89,7 @@ sub _set_builddir {
                        $this->{builddir} = undef;
                }
        }
+       return $this->{builddir};
 }
 
 # This instance method is called to check if the build system is able
@@ -117,17 +118,17 @@ sub enforce_in_source_building {
        }
 }
 
-# Derived class can call this method in its constructor to enforce
-# out of source building even if the user didn't request it. However,
-# if 'builddir' named parameter is passed, accept its value as the
-# build directory even if it matches the source directory (meaning out
-# of source is only prefered to in source, not enforced).
-sub enforce_out_of_source_building {
+# Derived class can call this method in its constructor to *prefer*
+# out of source building. Unless build directory has already been
+# specified building will proceed in the DEFAULT_BUILD_DIRECTORY or
+# the one specified in the 'builddir' named parameter (which may
+# match the source directory). Typically you should pass @_ from
+# the constructor to this call.
+sub prefer_out_of_source_building {
        my $this=shift;
        my %args=@_;
        if (!defined $this->get_builddir()) {
-               $this->_set_builddir($args{builddir});
-               if (!defined $this->get_builddir() && !$args{builddir}) {
+               if (!$this->_set_builddir($args{builddir}) && !$args{builddir}) {
                        # If we are here, DEFAULT_BUILD_DIRECTORY matches
                        # the source directory, building might fail.
                        error("default build directory is the same as the source directory." .
@@ -136,6 +137,15 @@ sub enforce_out_of_source_building {
        }
 }
 
+# Derived class can call this method in its constructor to *enforce*
+# out of source building even if the user didn't request it.
+# Build directory is set to DEFAULT_BUILD_DIRECTORY or building
+# fails if it is not possible to set it
+sub enforce_out_of_source_building {
+       my $this=shift;
+       $this->prefer_out_of_source_building();
+}
+
 # Enhanced version of File::Spec::canonpath. It collapses ..
 # too so it may return invalid path if symlinks are involved.
 # On the other hand, it does not need for the path to exist.
index fe97f77267040f71ec6ebe7d85d657fec3b1efb9..16796512dd06f44f11160e77079e901847d9ec46 100644 (file)
@@ -24,8 +24,7 @@ sub check_auto_buildable {
 sub new {
        my $class=shift;
        my $this=$class->SUPER::new(@_);
-       # Prefer out of source tree building.
-       $this->enforce_out_of_source_building(@_);
+       $this->prefer_out_of_source_building(@_);
        return $this;
 }
 
index fce45135771a702cec995fc4aa8462e1b3b79dd1..73ac2e300f6a86db98b7677851fbbbcc714812d9 100644 (file)
@@ -25,7 +25,7 @@ sub new {
        my $class=shift;
        my $this=$class->SUPER::new(@_);
        # Out of source tree building is prefered.
-       $this->enforce_out_of_source_building(@_);
+       $this->prefer_out_of_source_building(@_);
        return $this;
 }
 
index 82d8c1005daf7271c0002a72a99a31522fdbd5a9..e92e46f123eca827cff0ea0f4afa70e82a1a091d 100755 (executable)
@@ -162,7 +162,7 @@ test_buildsystem_paths_api($bs, "no builddir, sourcedir=autoconf", \%tmp);
 
 # Prefer out of source tree building when
 # sourcedir=builddir=autoconf hence builddir should be dropped.
-$bs->enforce_out_of_source_building(builddir => "autoconf");
+$bs->prefer_out_of_source_building(builddir => "autoconf");
 test_buildsystem_paths_api($bs, "out of source prefered, sourcedir=builddir", \%tmp);
 
 # builddir=bld/dir, sourcedir=autoconf. Should be the same as sourcedir=autoconf.