Add patch to build qt 4 with GCC 6

This commit is contained in:
Adam J. Stewart
2016-08-09 16:13:57 -05:00
parent ddf1879bed
commit 59ce0c7514
2 changed files with 28 additions and 15 deletions

View File

@@ -114,22 +114,34 @@ def setup_environment(self, spack_env, env):
def setup_dependent_environment(self, spack_env, run_env, dspec):
spack_env.set('QTDIR', self.prefix)
@when('@4')
def patch(self):
if self.spec.satisfies('@4'):
qmake_conf = 'mkspecs/common/g++-base.conf'
qmake_unix_conf = 'mkspecs/common/g++-unix.conf'
elif self.spec.satisfies('@5'):
qmake_conf = 'qtbase/mkspecs/common/g++-base.conf'
qmake_unix_conf = 'qtbase/mkspecs/common/g++-unix.conf'
else:
return
# Fix qmake compilers in the default mkspec
filter_file('^QMAKE_COMPILER.*', 'QMAKE_COMPILER = cc', qmake_conf)
filter_file('^QMAKE_CC.*', 'QMAKE_CC = cc', qmake_conf)
filter_file('^QMAKE_CXX.*', 'QMAKE_CXX = c++', qmake_conf)
filter_file('^QMAKE_LFLAGS_NOUNDEF.*',
'QMAKE_LFLAGS_NOUNDEF =', qmake_unix_conf)
filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc',
'mkspecs/common/g++-base.conf')
filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++',
'mkspecs/common/g++-base.conf')
# Necessary to build with GCC 6 and other modern compilers
# http://stackoverflow.com/questions/10354371/
filter_file('(^QMAKE_CXXFLAGS .*)', r'\1 -std=gnu++98',
'mkspecs/common/gcc-base.conf')
filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ',
'mkspecs/common/g++-unix.conf')
@when('@5:')
def patch(self):
# Fix qmake compilers in the default mkspec
filter_file('^QMAKE_COMPILER .*', 'QMAKE_COMPILER = cc',
'qtbase/mkspecs/common/g++-base.conf')
filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc',
'qtbase/mkspecs/common/g++-base.conf')
filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++',
'qtbase/mkspecs/common/g++-base.conf')
filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ',
'qtbase/mkspecs/common/g++-unix.conf')
@property
def common_config_args(self):