diff options
author | Modestas Vainius <modestas@vainius.eu> | 2009-11-18 14:16:41 -0500 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-11-18 14:16:41 -0500 |
commit | 758ce0bb1fbb505aa05f2dd3ac85d7d084b94312 (patch) | |
tree | 58aa6852c13e83aecdaaa000a0e3f4f17d99dcf1 /Debian/Debhelper/Buildsystem/makefile.pm | |
parent | 93cab1844819ee8f761606f6ccc511ebf07d2213 (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 <modestas@vainius.eu>
Diffstat (limited to 'Debian/Debhelper/Buildsystem/makefile.pm')
-rw-r--r-- | Debian/Debhelper/Buildsystem/makefile.pm | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/Debian/Debhelper/Buildsystem/makefile.pm b/Debian/Debhelper/Buildsystem/makefile.pm index 704f9c95..083abc42 100644 --- a/Debian/Debhelper/Buildsystem/makefile.pm +++ b/Debian/Debhelper/Buildsystem/makefile.pm @@ -71,15 +71,11 @@ sub check_auto_buildable { my $this=shift; my ($step) = @_; - # Handles build, test, install, clean; configure - next class - if (grep /^\Q$step\E$/, qw{build test install clean}) { - # This is always called in the source directory, but generally - # Makefiles are created (or live) in the the build directory. - return -e $this->get_buildpath("Makefile") || - -e $this->get_buildpath("makefile") || - -e $this->get_buildpath("GNUmakefile"); - } - return 0; + # This is always called in the source directory, but generally + # Makefiles are created (or live) in the the build directory. + return (-e $this->get_buildpath("Makefile") || + -e $this->get_buildpath("makefile") || + -e $this->get_buildpath("GNUmakefile")) ? 1 : 0; } sub build { |