aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-03-06 13:22:36 -0500
committerAndrew Kelley <andrew@ziglang.org>2019-03-06 13:22:36 -0500
commitccdef8c0fb0a80d38ce4f4ac0c57aa2b66bfcfc2 (patch)
tree1efb54cff3019d9b7221991b77031a5a0c625cba /src/main.cpp
parent697b1233f0c458b8ad8c374f6f7cce451142ca71 (diff)
downloadzig-ccdef8c0fb0a80d38ce4f4ac0c57aa2b66bfcfc2.tar.gz
zig-ccdef8c0fb0a80d38ce4f4ac0c57aa2b66bfcfc2.zip
cross compile glibc startup files
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 7d2c5cf029..fd67c71ea3 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -409,7 +409,6 @@ int main(int argc, char **argv) {
const char *dynamic_linker = nullptr;
const char *libc_txt = nullptr;
ZigList<const char *> clang_argv = {0};
- ZigList<const char *> llvm_argv = {0};
ZigList<const char *> lib_dirs = {0};
ZigList<const char *> link_libs = {0};
ZigList<const char *> forbidden_link_libs = {0};
@@ -443,6 +442,9 @@ int main(int argc, char **argv) {
Buf *main_pkg_path = nullptr;
ValgrindSupport valgrind_support = ValgrindSupportAuto;
+ ZigList<const char *> llvm_argv = {0};
+ llvm_argv.append("zig (LLVM option parsing)");
+
if (argc >= 2 && strcmp(argv[1], "build") == 0) {
Buf zig_exe_path_buf = BUF_INIT;
if ((err = os_self_exe_path(&zig_exe_path_buf))) {
@@ -1027,7 +1029,13 @@ int main(int argc, char **argv) {
codegen_set_each_lib_rpath(g, each_lib_rpath);
codegen_set_clang_argv(g, clang_argv.items, clang_argv.length);
- codegen_set_llvm_argv(g, llvm_argv.items, llvm_argv.length);
+
+ if (llvm_argv.length > 1) {
+ llvm_argv.append(nullptr);
+ ZigLLVMParseCommandLineOptions(llvm_argv.length, llvm_argv.items);
+ }
+
+ codegen_set_llvm_argv(g, llvm_argv.items + 1, llvm_argv.length - 2);
codegen_set_strip(g, strip);
codegen_set_is_static(g, is_static);
if (dynamic_linker != nullptr)