Commit 9741b2aab4

Andrew Kelley <andrew@ziglang.org>
2019-03-12 23:09:40
avoid a string that is too long for msvc
1 parent 5570bc9
src/config.h.in
@@ -23,5 +23,7 @@
 #define ZIG_LLD_LIBRARIES "@LLD_LIBRARIES@"
 #define ZIG_LLVM_CONFIG_EXE "@LLVM_CONFIG_EXE@"
 #define ZIG_DIA_GUIDS_LIB "@ZIG_DIA_GUIDS_LIB_ESCAPED@"
+#define ZIG_STD_FILES "@ZIG_STD_FILES@"
+#define ZIG_C_HEADER_FILES "@ZIG_C_HEADER_FILES@"
 
 #endif
src/install_files.h.in
@@ -1,15 +0,0 @@
-/*
- * Copyright (c) 2019 Andrew Kelley
- *
- * This file is part of zig, which is MIT licensed.
- * See http://opensource.org/licenses/MIT
- */
-
-#ifndef ZIG_INSTALL_FILES_H
-#define ZIG_INSTALL_FILES_H
-
-#define ZIG_MUSL_SRC_FILES "@ZIG_MUSL_SRC_FILES@"
-#define ZIG_STD_FILES "@ZIG_STD_FILES@"
-#define ZIG_C_HEADER_FILES "@ZIG_C_HEADER_FILES@"
-
-#endif
src/link.cpp
@@ -501,15 +501,13 @@ static const char *build_musl(CodeGen *parent) {
         MuslSrcO3,
     };
 
+    const char *target_musl_arch_name = musl_arch_name(parent->zig_target);
+
     HashMap<Buf *, MuslSrc, buf_hash, buf_eql_buf> source_table = {};
     source_table.init(1800);
 
-    SplitIterator install_h_it = memSplit(str(ZIG_MUSL_SRC_FILES), str(";"));
-    const char *target_musl_arch_name = musl_arch_name(parent->zig_target);
-    for (;;) {
-        Optional<Slice<uint8_t>> opt_item = SplitIterator_next(&install_h_it);
-        if (!opt_item.is_some) break;
-        Buf *src_file = buf_create_from_slice(opt_item.value);
+    for (size_t i = 0; i < array_length(ZIG_MUSL_SRC_FILES); i += 1) {
+        Buf *src_file = buf_create_from_str(ZIG_MUSL_SRC_FILES[i]);
 
         MuslSrc src_kind;
         if (buf_ends_with_str(src_file, ".c")) {
src/main.cpp
@@ -10,7 +10,6 @@
 #include "codegen.hpp"
 #include "compiler.hpp"
 #include "config.h"
-#include "install_files.h"
 #include "error.hpp"
 #include "os.hpp"
 #include "target.hpp"
CMakeLists.txt
@@ -6639,10 +6639,17 @@ configure_file (
     "${CMAKE_SOURCE_DIR}/src/config.h.in"
     "${CMAKE_BINARY_DIR}/config.h"
 )
-configure_file (
-    "${CMAKE_SOURCE_DIR}/src/install_files.h.in"
-    "${CMAKE_BINARY_DIR}/install_files.h"
-)
+set(INSTALL_FILES_H "${CMAKE_BINARY_DIR}/install_files.h")
+file(REMOVE "${INSTALL_FILES_H}")
+file(APPEND "${INSTALL_FILES_H}" "#ifndef ZIG_INSTALL_FILES_H\n")
+file(APPEND "${INSTALL_FILES_H}" "#define ZIG_INSTALL_FILES_H\n")
+file(APPEND "${INSTALL_FILES_H}" "static const char *ZIG_MUSL_SRC_FILES[] = {\n")
+foreach(filename ${ZIG_MUSL_SRC_FILES})
+    file(APPEND "${INSTALL_FILES_H}" "\"${filename}\",\n")
+endforeach(filename)
+file(APPEND "${INSTALL_FILES_H}" "};\n")
+file(APPEND "${INSTALL_FILES_H}" "#endif\n")
+
 
 include_directories(
     ${CMAKE_SOURCE_DIR}