diff options
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/environment.py | 2 | ||||
-rw-r--r-- | mesonbuild/mesonlib.py | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py index b3885b6..e67e744 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py @@ -745,7 +745,7 @@ class Environment: else: i = 'GNU ld.bfd' linker = GnuDynamicLinker(compiler, for_machine, i, prefix, version=v) - elif 'Solaris' in e: + elif 'Solaris' in e or 'Solaris' in o: linker = SolarisDynamicLinker( compiler, for_machine, 'solaris', prefix, version=search_version(e)) diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py index d5646ed..03fbf02 100644 --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py @@ -708,6 +708,14 @@ def get_library_dirs() -> typing.List[str]: else: plat = '' + # Solaris puts 32-bit libraries in the main /lib & /usr/lib directories + # and 64-bit libraries in platform specific subdirectories. + if is_sunos(): + if machine == 'i86pc': + plat = 'amd64' + elif machine.startswith('sun4'): + plat = 'sparcv9' + usr_platdir = Path('/usr/lib/') / plat if usr_platdir.is_dir(): unixdirs += [str(x) for x in (usr_platdir).iterdir() if x.is_dir()] |