diff --git a/CMakeLists.txt b/CMakeLists.txt index 218f3080d3b9881ed6e16aa3a5010a9edae89042..358d139f5b68d486e9deb304faba0d8c2c8e0cf4 100644 --- a/CMakeLists.txt +++ b/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} diff --git a/src/config.h.in b/src/config.h.in index a99aab0d7235cf238d10aedfa6b3d0dfb7068216..93e31ad9b74d5dd810f41d6697e527dae930f7fd 100644 --- a/src/config.h.in +++ b/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 diff --git a/src/install_files.h.in b/src/install_files.h.in deleted file mode 100644 index 2c31c6d13c15495a4fe9b6de55edb4ce7c9974a8..0000000000000000000000000000000000000000 --- a/src/install_files.h.in +++ /dev/null @@ -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 diff --git a/src/link.cpp b/src/link.cpp index 854100897f498d47a74c18ffb7385cb53d7d3052..b3aa94f0ee900c26e05561cafbc5fd3f0abb88ce 100644 --- a/src/link.cpp +++ b/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 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> 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")) { diff --git a/src/main.cpp b/src/main.cpp index af3b878b094af293cbe11bf2fceceb58ed854ee4..28da1cbbe718cf4a033ad98011f52c3e41e4947d 100644 --- a/src/main.cpp +++ b/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"