summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--waftools/checks/custom.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/waftools/checks/custom.py b/waftools/checks/custom.py
index 698742406f..3af9bdb921 100644
--- a/waftools/checks/custom.py
+++ b/waftools/checks/custom.py
@@ -92,6 +92,18 @@ def check_wl_protocols(ctx, dependency_identifier):
return ret
return fn(ctx, dependency_identifier)
+def _run(cmd):
+ from waflib import Utils
+ try:
+ cmd = Utils.subprocess.Popen(cmd,
+ stdout=Utils.subprocess.PIPE,
+ stderr=Utils.subprocess.PIPE,
+ shell=True)
+ output = cmd.stdout.read().strip()
+ return output
+ except Exception:
+ return ""
+
def check_cocoa(ctx, dependency_identifier):
fn = check_cc(
fragment = load_fragment('cocoa.m'),
@@ -100,7 +112,15 @@ def check_cocoa(ctx, dependency_identifier):
includes = ctx.srcnode.abspath(),
linkflags = '-fobjc-arc')
- return fn(ctx, dependency_identifier)
+ res = fn(ctx, dependency_identifier)
+ # on macOS we explicitly need to set the SDK path, otherwise it can lead to
+ # linking warnings or errors
+ if res:
+ ctx.env.append_value('LINKFLAGS', [
+ '-isysroot', '%s' % _run('xcrun --sdk macosx --show-sdk-path')
+ ])
+
+ return res
def check_openal(ctx, dependency_identifier):
checks = [