Merge pull request #68105 from jtojnar/meson-darwin-fix

meson: fix darwin patch
This commit is contained in:
Jan Tojnar 2019-09-04 16:59:33 +02:00 committed by GitHub
commit e7cccdbb13
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 14 deletions

View file

@ -60,6 +60,7 @@ python3Packages.buildPythonApplication rec {
# pass it `-Wl,-O1` flag but optimizations are not recognized by
# Mac linker.
# https://github.com/mesonbuild/meson/issues/4784
# Should be fixed in 0.52
./fix-objc-linking.patch
];

View file

@ -1,20 +1,22 @@
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index dc8f099b..d8581fcf 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -795,7 +795,7 @@
@@ -944,7 +944,7 @@
compiler_type = self.get_gnu_compiler_type(defines)
version = self.get_gnu_version_from_defines(defines)
return GnuObjCCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
- if out.startswith('Apple LLVM'):
+ if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
if out.startswith('clang'):
return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)
@@ -822,7 +822,7 @@
return GnuObjCCompiler(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, defines)
- if out.startswith('Apple LLVM') or out.startswith('Apple clang'):
+ if out.startswith('Apple LLVM') or out.startswith('Apple clang') or self.machines.build.is_darwin():
return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, for_machine, is_cross, exe_wrap)
if 'windows' in out:
return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_MINGW, for_machine, is_cross, exe_wrap)
@@ -974,7 +974,7 @@
compiler_type = self.get_gnu_compiler_type(defines)
version = self.get_gnu_version_from_defines(defines)
return GnuObjCPPCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
- if out.startswith('Apple LLVM'):
+ if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
if out.startswith('clang'):
return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)
return GnuObjCPPCompiler(ccache + compiler, version, compiler_type, for_machine, is_cross, exe_wrap, defines)
- if out.startswith('Apple LLVM') or out.startswith('Apple clang'):
+ if out.startswith('Apple LLVM') or out.startswith('Apple clang') or self.machines.build.is_darwin():
return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, for_machine, is_cross, exe_wrap)
if 'windows' in out:
return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_MINGW, for_machine, is_cross, exe_wrap)