Allow packages to control handling of compiler flags (#4421)

* Initial work on flag trapping using functions called <flag>_handler and default_flag_handler

* Update packages so they do not obliterate flags

* Added append to EnvironmentModifications class

* changed EnvironmentModifications to have append_flags method

* changed flag_val to be a tuple

* Increased test coverage

* added documentation of flag handling
This commit is contained in:
becker33
2017-07-19 20:12:00 -07:00
committed by GitHub
parent acca75b368
commit f962aba6ce
16 changed files with 203 additions and 12 deletions

View File

@@ -38,7 +38,10 @@ class LlvmLld(Package):
depends_on('cmake', type='build')
def install(self, spec, prefix):
env['CXXFLAGS'] = self.compiler.cxx11_flag
if 'CXXFLAGS' in env and env['CXXFLAGS']:
env['CXXFLAGS'] += ' ' + self.compiler.cxx11_flag
else:
env['CXXFLAGS'] = self.compiler.cxx11_flag
with working_dir('spack-build', create=True):
cmake('..',