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
|
set_target_properties(zig_cpp PROPERTIES
|
||||||
COMPILE_FLAGS ${EXE_CFLAGS}
|
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})
|
add_library(opt_c_util STATIC ${OPTIMIZED_C_SOURCES})
|
||||||
set_target_properties(opt_c_util PROPERTIES
|
set_target_properties(opt_c_util PROPERTIES
|
||||||
|
@ -379,9 +384,6 @@ target_link_libraries(compiler LINK_PUBLIC
|
||||||
zig_cpp
|
zig_cpp
|
||||||
opt_c_util
|
opt_c_util
|
||||||
${SOFTFLOAT_LIBRARIES}
|
${SOFTFLOAT_LIBRARIES}
|
||||||
${CLANG_LIBRARIES}
|
|
||||||
${LLD_LIBRARIES}
|
|
||||||
${LLVM_LIBRARIES}
|
|
||||||
${CMAKE_THREAD_LIBS_INIT}
|
${CMAKE_THREAD_LIBS_INIT}
|
||||||
)
|
)
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
|
|
|
@ -47,6 +47,7 @@ pub fn build(b: *Builder) !void {
|
||||||
.llvm_config_exe = nextValue(&index, build_info),
|
.llvm_config_exe = nextValue(&index, build_info),
|
||||||
.lld_include_dir = nextValue(&index, build_info),
|
.lld_include_dir = nextValue(&index, build_info),
|
||||||
.lld_libraries = nextValue(&index, build_info),
|
.lld_libraries = nextValue(&index, build_info),
|
||||||
|
.clang_libraries = nextValue(&index, build_info),
|
||||||
.dia_guids_lib = nextValue(&index, build_info),
|
.dia_guids_lib = nextValue(&index, build_info),
|
||||||
.llvm = undefined,
|
.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_coff");
|
||||||
addCppLib(b, exe, ctx.cmake_binary_dir, "embedded_lld_lib");
|
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);
|
dependOnLib(b, exe, ctx.llvm);
|
||||||
|
|
||||||
if (exe.target.getOs() == .linux) {
|
if (exe.target.getOs() == .linux) {
|
||||||
|
@ -364,6 +371,7 @@ const Context = struct {
|
||||||
llvm_config_exe: []const u8,
|
llvm_config_exe: []const u8,
|
||||||
lld_include_dir: []const u8,
|
lld_include_dir: []const u8,
|
||||||
lld_libraries: []const u8,
|
lld_libraries: []const u8,
|
||||||
|
clang_libraries: []const u8,
|
||||||
dia_guids_lib: []const u8,
|
dia_guids_lib: []const u8,
|
||||||
llvm: LibraryDep,
|
llvm: LibraryDep,
|
||||||
};
|
};
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#define ZIG_CXX_COMPILER "@CMAKE_CXX_COMPILER@"
|
#define ZIG_CXX_COMPILER "@CMAKE_CXX_COMPILER@"
|
||||||
#define ZIG_LLD_INCLUDE_PATH "@LLD_INCLUDE_DIRS@"
|
#define ZIG_LLD_INCLUDE_PATH "@LLD_INCLUDE_DIRS@"
|
||||||
#define ZIG_LLD_LIBRARIES "@LLD_LIBRARIES@"
|
#define ZIG_LLD_LIBRARIES "@LLD_LIBRARIES@"
|
||||||
|
#define ZIG_CLANG_LIBRARIES "@CLANG_LIBRARIES@"
|
||||||
#define ZIG_LLVM_CONFIG_EXE "@LLVM_CONFIG_EXE@"
|
#define ZIG_LLVM_CONFIG_EXE "@LLVM_CONFIG_EXE@"
|
||||||
#define ZIG_DIA_GUIDS_LIB "@ZIG_DIA_GUIDS_LIB_ESCAPED@"
|
#define ZIG_DIA_GUIDS_LIB "@ZIG_DIA_GUIDS_LIB_ESCAPED@"
|
||||||
|
|
||||||
|
|
|
@ -261,12 +261,13 @@ int main(int argc, char **argv) {
|
||||||
Error err;
|
Error err;
|
||||||
|
|
||||||
if (argc == 2 && strcmp(argv[1], "BUILD_INFO") == 0) {
|
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_CMAKE_BINARY_DIR,
|
||||||
ZIG_CXX_COMPILER,
|
ZIG_CXX_COMPILER,
|
||||||
ZIG_LLVM_CONFIG_EXE,
|
ZIG_LLVM_CONFIG_EXE,
|
||||||
ZIG_LLD_INCLUDE_PATH,
|
ZIG_LLD_INCLUDE_PATH,
|
||||||
ZIG_LLD_LIBRARIES,
|
ZIG_LLD_LIBRARIES,
|
||||||
|
ZIG_CLANG_LIBRARIES,
|
||||||
ZIG_DIA_GUIDS_LIB);
|
ZIG_DIA_GUIDS_LIB);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue