Commit a9df637fb1
Changed files (4)
src/config.h.in
@@ -18,6 +18,7 @@
#define ZIG_CXX_COMPILER "@CMAKE_CXX_COMPILER@"
#define ZIG_LLD_INCLUDE_PATH "@LLD_INCLUDE_DIRS@"
#define ZIG_LLD_LIBRARIES "@LLD_LIBRARIES@"
+#define ZIG_CLANG_LIBRARIES "@CLANG_LIBRARIES@"
#define ZIG_LLVM_CONFIG_EXE "@LLVM_CONFIG_EXE@"
#define ZIG_DIA_GUIDS_LIB "@ZIG_DIA_GUIDS_LIB_ESCAPED@"
src/main.cpp
@@ -261,12 +261,13 @@ int main(int argc, char **argv) {
Error err;
if (argc == 2 && strcmp(argv[1], "BUILD_INFO") == 0) {
- printf("%s\n%s\n%s\n%s\n%s\n%s\n",
+ printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
ZIG_CMAKE_BINARY_DIR,
ZIG_CXX_COMPILER,
ZIG_LLVM_CONFIG_EXE,
ZIG_LLD_INCLUDE_PATH,
ZIG_LLD_LIBRARIES,
+ ZIG_CLANG_LIBRARIES,
ZIG_DIA_GUIDS_LIB);
return 0;
}
build.zig
@@ -47,6 +47,7 @@ pub fn build(b: *Builder) !void {
.llvm_config_exe = nextValue(&index, build_info),
.lld_include_dir = nextValue(&index, build_info),
.lld_libraries = nextValue(&index, build_info),
+ .clang_libraries = nextValue(&index, build_info),
.dia_guids_lib = nextValue(&index, build_info),
.llvm = undefined,
};
@@ -299,6 +300,12 @@ fn configureStage2(b: *Builder, exe: var, ctx: Context) !void {
addCppLib(b, exe, ctx.cmake_binary_dir, "embedded_lld_coff");
addCppLib(b, exe, ctx.cmake_binary_dir, "embedded_lld_lib");
}
+ {
+ var it = mem.tokenize(ctx.clang_libraries, ";");
+ while (it.next()) |lib| {
+ exe.addObjectFile(lib);
+ }
+ }
dependOnLib(b, exe, ctx.llvm);
if (exe.target.getOs() == .linux) {
@@ -364,6 +371,7 @@ const Context = struct {
llvm_config_exe: []const u8,
lld_include_dir: []const u8,
lld_libraries: []const u8,
+ clang_libraries: []const u8,
dia_guids_lib: []const u8,
llvm: LibraryDep,
};
CMakeLists.txt
@@ -364,6 +364,11 @@ add_library(zig_cpp STATIC ${ZIG_CPP_SOURCES})
set_target_properties(zig_cpp PROPERTIES
COMPILE_FLAGS ${EXE_CFLAGS}
)
+target_link_libraries(zig_cpp LINK_PUBLIC
+ ${CLANG_LIBRARIES}
+ ${LLD_LIBRARIES}
+ ${LLVM_LIBRARIES}
+)
add_library(opt_c_util STATIC ${OPTIMIZED_C_SOURCES})
set_target_properties(opt_c_util PROPERTIES
@@ -379,9 +384,6 @@ target_link_libraries(compiler LINK_PUBLIC
zig_cpp
opt_c_util
${SOFTFLOAT_LIBRARIES}
- ${CLANG_LIBRARIES}
- ${LLD_LIBRARIES}
- ${LLVM_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
)
if(NOT MSVC)