diff --git a/build.zig b/build.zig index f37fa9b268..b452885827 100644 --- a/build.zig +++ b/build.zig @@ -537,7 +537,11 @@ fn addCmakeCfgOptionsToExe( exe.addObjectFile(fs.path.join(b.allocator, &[_][]const u8{ cfg.cmake_binary_dir, "zigcpp", - b.fmt("{s}{s}{s}", .{ exe.target.libPrefix(), "zigcpp", exe.target.staticLibSuffix() }), + b.fmt("{s}{s}{s}", .{ + cfg.cmake_static_library_prefix, + "zigcpp", + cfg.cmake_static_library_suffix, + }), }) catch unreachable); assert(cfg.lld_include_dir.len != 0); exe.addIncludePath(cfg.lld_include_dir); @@ -669,6 +673,8 @@ const CMakeConfig = struct { llvm_linkage: std.build.LibExeObjStep.Linkage, cmake_binary_dir: []const u8, cmake_prefix_path: []const u8, + cmake_static_library_prefix: []const u8, + cmake_static_library_suffix: []const u8, cxx_compiler: []const u8, lld_include_dir: []const u8, lld_libraries: []const u8, @@ -732,6 +738,8 @@ fn parseConfigH(b: *Builder, config_h_text: []const u8) ?CMakeConfig { .llvm_linkage = undefined, .cmake_binary_dir = undefined, .cmake_prefix_path = undefined, + .cmake_static_library_prefix = undefined, + .cmake_static_library_suffix = undefined, .cxx_compiler = undefined, .lld_include_dir = undefined, .lld_libraries = undefined, @@ -751,6 +759,14 @@ fn parseConfigH(b: *Builder, config_h_text: []const u8) ?CMakeConfig { .prefix = "#define ZIG_CMAKE_PREFIX_PATH ", .field = "cmake_prefix_path", }, + .{ + .prefix = "#define ZIG_CMAKE_STATIC_LIBRARY_PREFIX ", + .field = "cmake_static_library_prefix", + }, + .{ + .prefix = "#define ZIG_CMAKE_STATIC_LIBRARY_SUFFIX ", + .field = "cmake_static_library_suffix", + }, .{ .prefix = "#define ZIG_CXX_COMPILER ", .field = "cxx_compiler", diff --git a/stage1/config.h.in b/stage1/config.h.in index 2d4fff6df2..0f1d902ef9 100644 --- a/stage1/config.h.in +++ b/stage1/config.h.in @@ -15,16 +15,18 @@ #define ZIG_VERSION_STRING "@ZIG_VERSION@" // Used by build.zig for communicating build information to self hosted build. +#define ZIG_CLANG_LIBRARIES "@CLANG_LIBRARIES@" #define ZIG_CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@" -#define ZIG_LLVM_LINK_MODE "@LLVM_LINK_MODE@" #define ZIG_CMAKE_PREFIX_PATH "@ZIG_CMAKE_PREFIX_PATH@" +#define ZIG_CMAKE_STATIC_LIBRARY_PREFIX "@CMAKE_STATIC_LIBRARY_PREFIX@" +#define ZIG_CMAKE_STATIC_LIBRARY_SUFFIX "@CMAKE_STATIC_LIBRARY_SUFFIX@" #define ZIG_CXX_COMPILER "@CMAKE_CXX_COMPILER@" +#define ZIG_DIA_GUIDS_LIB "@ZIG_DIA_GUIDS_LIB_ESCAPED@" #define ZIG_LLD_INCLUDE_PATH "@LLD_INCLUDE_DIRS@" #define ZIG_LLD_LIBRARIES "@LLD_LIBRARIES@" -#define ZIG_CLANG_LIBRARIES "@CLANG_LIBRARIES@" #define ZIG_LLVM_INCLUDE_PATH "@LLVM_INCLUDE_DIRS@" -#define ZIG_LLVM_LIB_PATH "@LLVM_LIBDIRS@" #define ZIG_LLVM_LIBRARIES "@LLVM_LIBRARIES@" -#define ZIG_DIA_GUIDS_LIB "@ZIG_DIA_GUIDS_LIB_ESCAPED@" +#define ZIG_LLVM_LIB_PATH "@LLVM_LIBDIRS@" +#define ZIG_LLVM_LINK_MODE "@LLVM_LINK_MODE@" #endif