Fix silex build (#15172)
* Mark silo+silex as requiring QT4 * Add missing readline dependency to silo * Fix silo QT4 usage and verify silex works on mac ``` -- darwin-mojave-x86_64 / clang@11.0.0-apple -------------------- 7gdcud4 silo@4.10.2+fortran~mpi patches=7b5a1dc2a0e358e667088d77e7caa780967fa8ea60be89c44986605df9990abe +pic+shared+silex pk3wbwd hdf5@1.10.6~cxx~debug~fortran+hl~mpi+pic+shared+szip~threadsafe slsy6ko libszip@2.1.1 xj36ejk zlib@1.2.11+optimize+pic+shared u4662xx libx11@1.6.4 3lpe6j3 qt@4.8.7~dbus~examples~framework freetype=none ~gtk~opengl patches=03f9893882c63a9a9617d9ecab9caf80661c96df13f596a9b24fc4579490144a,a4f37427b34d88df6a6adc16e1e6c805087d4f3a7c658e1797450b0912fcbf5d,f17e0b5fb1f43bccadf7298533eca57294f4acab11ed83b176c61c441f745c19 ~phonon+shared~sql~ssl~tools~webkit shdhdbh glib@2.56.3~libmount patches=c325997b72a205ad1638bb3e3ba0e5b73e3d32ce63b2d0d3282f3e3a2ff4663c tracing=none msyeqht gettext@0.20.1+bzip2+curses+git~libunistring+libxml2+tar+xz ysmjykg bzip2@1.0.8+shared w354vrb libxml2@2.9.9~python jg6ekuh libiconv@1.16 b7n722h xz@5.2.4 zbgxvxi ncurses@6.1~symlinks~termlib 2e6sifw tar@1.32 7yg7qah libffi@3.2.1 zg55iyu pcre@8.43~jit+multibyte+utf zqrlxlz perl@5.30.0+cpanm+shared+threads un7wzvl python@3.7.4+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations patches=210df3f28cde02a8135b58cc4168e70ab91dbf9097359d05938f1e2843875e57 +pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib l4gxq46 expat@2.2.9~libbsd 3t4dwsv gdbm@1.18.1 h2bjtz2 readline@8.0 ugvknwc openssl@1.1.1d+systemcerts hsmq6ou sqlite@3.30.1~column_metadata+fts~functions~rtree lpfob23 icu4c@65.1 cxxstd=11 lf66vbr inputproto@2.3.2 afovyhg libjpeg-turbo@2.0.3 5dgw556 libmng@2.0.3 build_type=RelWithDebInfo 3z4lw2w lcms@2.9 flleuyu libtiff@4.0.10 67tigfp libpng@1.6.37 ```
This commit is contained in:
parent
629c69d383
commit
b927e3799f
@ -31,14 +31,22 @@ class Silo(AutotoolsPackage):
|
||||
depends_on('hdf5~mpi', when='~mpi')
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('hdf5+mpi', when='+mpi')
|
||||
depends_on('qt', when='+silex')
|
||||
depends_on('qt~framework@4.8:4.9', when='+silex')
|
||||
depends_on('libx11', when='+silex')
|
||||
depends_on('readline')
|
||||
depends_on('zlib')
|
||||
|
||||
patch('remove-mpiposix.patch', when='@4.8:4.10.2')
|
||||
|
||||
def flag_handler(self, name, flags):
|
||||
if name == 'ldflags' and self.spec['hdf5'].satisfies('~shared'):
|
||||
flags.append('-ldl')
|
||||
spec = self.spec
|
||||
if name == 'ldflags':
|
||||
if spec['hdf5'].satisfies('~shared'):
|
||||
flags.append('-ldl')
|
||||
flags.append(spec['readline'].libs.search_flags)
|
||||
elif name in ('cflags', 'cxxflags', 'fcflags'):
|
||||
if '+pic' in spec:
|
||||
flags.append(self.compiler.pic_flag)
|
||||
return (flags, None, None)
|
||||
|
||||
@when('%clang@9:')
|
||||
@ -81,13 +89,13 @@ def configure_args(self):
|
||||
]
|
||||
|
||||
if '+silex' in spec:
|
||||
config_args.append('--with-Qt-dir=%s' % spec['qt'].prefix)
|
||||
|
||||
if '+pic' in spec:
|
||||
config_args += [
|
||||
'CFLAGS={0}'.format(self.compiler.pic_flag),
|
||||
'CXXFLAGS={0}'.format(self.compiler.pic_flag),
|
||||
'FCFLAGS={0}'.format(self.compiler.pic_flag)]
|
||||
x = spec['libx11']
|
||||
config_args.extend([
|
||||
'--with-Qt-dir=' + spec['qt'].prefix,
|
||||
'--with-Qt-lib=QtGui -lQtCore',
|
||||
'--x-includes=' + x.prefix.include,
|
||||
'--x-libraries=' + x.prefix.lib,
|
||||
])
|
||||
|
||||
if '+mpi' in spec:
|
||||
config_args.append('CC=%s' % spec['mpi'].mpicc)
|
||||
|
Loading…
Reference in New Issue
Block a user