fix undef clang library symbols when linking self-hosted
parent
d0b12d7726
commit
a9df637fb1
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
|
|
@ -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@"
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue