path: root/Debian/Debhelper/Buildsystem/
diff options
authorModestas Vainius <>2009-11-18 14:16:41 -0500
committerJoey Hess <>2009-11-18 14:16:41 -0500
commit758ce0bb1fbb505aa05f2dd3ac85d7d084b94312 (patch)
tree58aa6852c13e83aecdaaa000a0e3f4f17d99dcf1 /Debian/Debhelper/Buildsystem/
parent93cab1844819ee8f761606f6ccc511ebf07d2213 (diff)
Improve build system auto-selection process
This patch alters semantics of check_auto_buildable() a bit. Now it can also indicate if the source has already been partitially built with the build system and if so, such build system may be auto-selected over a less specific its parent (in the inheritance tree) even if the latter is earlier in the @BUILDSYSTEMS array. However, this still leaves a requirement that a derivative build system must not do anything that may break packages of the parent build system. Otherwise, introduction of a new derivative build system might break packages which already had that build system implemented via overrides... Signed-off-by: Modestas Vainius <>
Diffstat (limited to 'Debian/Debhelper/Buildsystem/')
1 files changed, 5 insertions, 5 deletions
diff --git a/Debian/Debhelper/Buildsystem/ b/Debian/Debhelper/Buildsystem/
index 03e6ade..3eddc74 100644
--- a/Debian/Debhelper/Buildsystem/
+++ b/Debian/Debhelper/Buildsystem/
@@ -16,12 +16,12 @@ sub DESCRIPTION {
sub check_auto_buildable {
my $this=shift;
my ($step)=@_;
- my $ret = -e $this->get_sourcepath("CMakeLists.txt");
- if ($step ne "configure") {
- $ret &&= -e $this->get_buildpath("CMakeCache.txt") &&
- $this->SUPER::check_auto_buildable(@_);
+ if (-e $this->get_sourcepath("CMakeLists.txt")) {
+ my $ret = $this->SUPER::check_auto_buildable(@_);
+ $ret++ if ($ret && -e $this->get_buildpath("CMakeCache.txt"));
+ return $ret > 0 ? $ret : 1;
- return $ret;
+ return 0;
sub new {