From ec13fa3f4ae49dec7045a61dc380ab3bd9f0a635 Mon Sep 17 00:00:00 2001 From: Gustav Olsson Date: Sun, 8 Sep 2019 14:46:25 +0200 Subject: [PATCH 1/2] forward framework dirs to embedded clang in addition to linker on osx --- src/main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 9e8f2b7d4f..2f1fb4f5e1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -784,7 +784,9 @@ int main(int argc, char **argv) { } else if (strcmp(arg, "--library-path") == 0 || strcmp(arg, "-L") == 0) { lib_dirs.append(argv[i]); } else if (strcmp(arg, "-F") == 0) { - framework_dirs.append(argv[i]); + framework_dirs.append(argv[i]); // embedded linker + clang_argv.append("-iframework"); // embedded clang + clang_argv.append(argv[i]); } else if (strcmp(arg, "--library") == 0 || strcmp(arg, "-l") == 0) { if (strcmp(argv[i], "c") == 0) have_libc = true; From 5dde3cd3bdaf5cca0c8aca94483b7227ecc551be Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 8 Sep 2019 15:09:05 -0400 Subject: [PATCH 2/2] move logic for propagating framework dirs to zig cc --- src/codegen.cpp | 5 +++++ src/main.cpp | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/codegen.cpp b/src/codegen.cpp index 134569374e..3066d8b1c5 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -8774,6 +8774,11 @@ void add_cc_args(CodeGen *g, ZigList &args, const char *out_dep_pa } } + for (size_t i = 0; i < g->framework_dirs.length; i += 1) { + args.append("-iframework"); + args.append(g->framework_dirs.at(i)); + } + //note(dimenus): appending libc headers before c_headers breaks intrinsics //and other compiler specific items // According to Rich Felker libc headers are supposed to go before C language headers. diff --git a/src/main.cpp b/src/main.cpp index 2f1fb4f5e1..9e8f2b7d4f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -784,9 +784,7 @@ int main(int argc, char **argv) { } else if (strcmp(arg, "--library-path") == 0 || strcmp(arg, "-L") == 0) { lib_dirs.append(argv[i]); } else if (strcmp(arg, "-F") == 0) { - framework_dirs.append(argv[i]); // embedded linker - clang_argv.append("-iframework"); // embedded clang - clang_argv.append(argv[i]); + framework_dirs.append(argv[i]); } else if (strcmp(arg, "--library") == 0 || strcmp(arg, "-l") == 0) { if (strcmp(argv[i], "c") == 0) have_libc = true;