diff options
-rw-r--r-- | mesonbuild/compilers/detect.py | 3 | ||||
-rw-r--r-- | mesonbuild/linkers/__init__.py | 2 | ||||
-rw-r--r-- | mesonbuild/linkers/linkers.py | 7 |
3 files changed, 11 insertions, 1 deletions
diff --git a/mesonbuild/compilers/detect.py b/mesonbuild/compilers/detect.py index 5306e87..063439f 100644 --- a/mesonbuild/compilers/detect.py +++ b/mesonbuild/compilers/detect.py @@ -24,6 +24,7 @@ from ..linkers import ( guess_win_linker, guess_nix_linker, AIXArLinker, + AppleArLinker, ArLinker, ArmarLinker, ArmClangDynamicLinker, @@ -343,7 +344,7 @@ def detect_static_linker(env: 'Environment', compiler: Compiler) -> StaticLinker if p.returncode == 0: return ArLinker(compiler.for_machine, linker) if p.returncode == 1 and err.startswith('usage'): # OSX - return ArLinker(compiler.for_machine, linker) + return AppleArLinker(compiler.for_machine, linker) if p.returncode == 1 and err.startswith('Usage'): # AIX return AIXArLinker(linker) if p.returncode == 1 and err.startswith('ar: bad option: --'): # Solaris diff --git a/mesonbuild/linkers/__init__.py b/mesonbuild/linkers/__init__.py index 3cc3fc4..23fc82b 100644 --- a/mesonbuild/linkers/__init__.py +++ b/mesonbuild/linkers/__init__.py @@ -24,6 +24,7 @@ from .linkers import ( VisualStudioLikeLinker, VisualStudioLinker, IntelVisualStudioLinker, + AppleArLinker, ArLinker, ArmarLinker, DLinker, @@ -93,6 +94,7 @@ __all__ = [ 'C2000Linker', 'TILinker', 'AIXArLinker', + 'AppleArLinker', 'PGIStaticLinker', 'NvidiaHPC_StaticLinker', diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py index 589e816..e262eca 100644 --- a/mesonbuild/linkers/linkers.py +++ b/mesonbuild/linkers/linkers.py @@ -215,6 +215,13 @@ class ArLinker(ArLikeLinker): return self.std_args +class AppleArLinker(ArLinker): + + # mostly this is used to determine that we need to call ranlib + + id = 'applear' + + class ArmarLinker(ArLikeLinker): id = 'armar' |