Added customization for make targets in 'build' and 'install' phases for AutotoolsPackage (#2464)

* Customization for make targets in build and test phases for AutotoolsPackage

* Updated Blitz++ to use customized make build and test targets

* Removed flake8 error

* Removed make test customization, added make install customization, need to figure out issues with multiple make targets

* Changed build_targets and install_targets to normal attributes
This commit is contained in:
Alfredo Adolfo Gimenez 2016-12-18 16:27:47 -08:00 committed by Todd Gamblin
parent 0de7b5504e
commit 68e9a2ed8d
2 changed files with 16 additions and 4 deletions

View File

@ -45,6 +45,9 @@ class AutotoolsPackage(PackageBase):
They all have sensible defaults and for many packages the only thing
necessary will be to override `configure_args`
Additionally, you may specify make targets for build and install
phases by overriding `build_targets` and `install_targets`
"""
phases = ['autoreconf', 'configure', 'build', 'install']
# To be used in UI queries that require to know which
@ -52,6 +55,9 @@ class AutotoolsPackage(PackageBase):
build_system_class = 'AutotoolsPackage'
patch_config_guess = True
build_targets = []
install_targets = ['install']
def do_patch_config_guess(self):
"""Some packages ship with an older config.guess and need to have
this updated when installed on a newer architecture."""
@ -152,12 +158,12 @@ def configure(self, spec, prefix):
inspect.getmodule(self).configure(*options)
def build(self, spec, prefix):
"""The usual `make` after configure"""
inspect.getmodule(self).make()
"""Make the build targets"""
inspect.getmodule(self).make(*self.build_targets)
def install(self, spec, prefix):
"""...and the final `make install` after configure"""
inspect.getmodule(self).make('install')
"""Make the install targets"""
inspect.getmodule(self).make(*self.install_targets)
@PackageBase.sanity_check('build')
@PackageBase.on_package_attributes(run_tests=True)

View File

@ -31,3 +31,9 @@ class Blitz(AutotoolsPackage):
url = "https://github.com/blitzpp/blitz/tarball/1.0.0"
version('1.0.0', '9f040b9827fe22228a892603671a77af')
build_targets = ['lib']
def check(self):
make('check-testsuite')
make('check-examples')