| ... | ... | @@ -7918,6 +7918,14 @@ Buf *codegen_generate_builtin_source(CodeGen *g) { |
| 7918 | 7918 | //assert(EndianBig == 0); |
| 7919 | 7919 | //assert(EndianLittle == 1); |
| 7920 | 7920 | } |
| 7921 | { |
| 7922 | buf_appendf(contents, |
| 7923 | "pub const Version = struct {\n" |
| 7924 | " major: u32,\n" |
| 7925 | " minor: u32,\n" |
| 7926 | " patch: u32,\n" |
| 7927 | "};\n\n"); |
| 7928 | } |
| 7921 | 7929 | { |
| 7922 | 7930 | buf_appendf(contents, |
| 7923 | 7931 | "pub const SubSystem = enum {\n" |
| ... | ... | @@ -7949,6 +7957,15 @@ Buf *codegen_generate_builtin_source(CodeGen *g) { |
| 7949 | 7957 | buf_appendf(contents, "pub const os = Os.%s;\n", cur_os); |
| 7950 | 7958 | buf_appendf(contents, "pub const arch = %s;\n", cur_arch); |
| 7951 | 7959 | buf_appendf(contents, "pub const abi = Abi.%s;\n", cur_abi); |
| 7960 | if (g->libc_link_lib != nullptr && g->zig_target->glibc_version != nullptr) { |
| 7961 | buf_appendf(contents, |
| 7962 | "pub const glibc_version: ?Version = Version{.major = %d, .minor = %d, .patch = %d};\n", |
| 7963 | g->zig_target->glibc_version->major, |
| 7964 | g->zig_target->glibc_version->minor, |
| 7965 | g->zig_target->glibc_version->patch); |
| 7966 | } else { |
| 7967 | buf_appendf(contents, "pub const glibc_version: ?Version = null;\n"); |
| 7968 | } |
| 7952 | 7969 | buf_appendf(contents, "pub const object_format = ObjectFormat.%s;\n", cur_obj_fmt); |
| 7953 | 7970 | buf_appendf(contents, "pub const mode = %s;\n", build_mode_to_str(g->build_mode)); |
| 7954 | 7971 | buf_appendf(contents, "pub const link_libc = %s;\n", bool_to_str(g->libc_link_lib != nullptr)); |
| ... | ... | @@ -8005,6 +8022,11 @@ static Error define_builtin_compile_vars(CodeGen *g) { |
| 8005 | 8022 | cache_int(&cache_hash, g->zig_target->vendor); |
| 8006 | 8023 | cache_int(&cache_hash, g->zig_target->os); |
| 8007 | 8024 | cache_int(&cache_hash, g->zig_target->abi); |
| 8025 | if (g->zig_target->glibc_version != nullptr) { |
| 8026 | cache_int(&cache_hash, g->zig_target->glibc_version->major); |
| 8027 | cache_int(&cache_hash, g->zig_target->glibc_version->minor); |
| 8028 | cache_int(&cache_hash, g->zig_target->glibc_version->patch); |
| 8029 | } |
| 8008 | 8030 | cache_bool(&cache_hash, g->have_err_ret_tracing); |
| 8009 | 8031 | cache_bool(&cache_hash, g->libc_link_lib != nullptr); |
| 8010 | 8032 | cache_bool(&cache_hash, g->valgrind_support); |
| ... | ... | @@ -9465,6 +9487,11 @@ static Error check_cache(CodeGen *g, Buf *manifest_dir, Buf *digest) { |
| 9465 | 9487 | cache_int(ch, g->zig_target->vendor); |
| 9466 | 9488 | cache_int(ch, g->zig_target->os); |
| 9467 | 9489 | cache_int(ch, g->zig_target->abi); |
| 9490 | if (g->zig_target->glibc_version != nullptr) { |
| 9491 | cache_int(ch, g->zig_target->glibc_version->major); |
| 9492 | cache_int(ch, g->zig_target->glibc_version->minor); |
| 9493 | cache_int(ch, g->zig_target->glibc_version->patch); |
| 9494 | } |
| 9468 | 9495 | cache_int(ch, detect_subsystem(g)); |
| 9469 | 9496 | cache_bool(ch, g->strip_debug_symbols); |
| 9470 | 9497 | cache_bool(ch, g->is_test_build); |