| ... | @@ -7918,6 +7918,14 @@ Buf *codegen_generate_builtin_source(CodeGen *g) { | ... | @@ -7918,6 +7918,14 @@ Buf *codegen_generate_builtin_source(CodeGen *g) { |
| 7918 | //assert(EndianBig == 0); | 7918 | //assert(EndianBig == 0); |
| 7919 | //assert(EndianLittle == 1); | 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 | buf_appendf(contents, | 7930 | buf_appendf(contents, |
| 7923 | "pub const SubSystem = enum {\n" | 7931 | "pub const SubSystem = enum {\n" |
| ... | @@ -7949,6 +7957,15 @@ Buf *codegen_generate_builtin_source(CodeGen *g) { | ... | @@ -7949,6 +7957,15 @@ Buf *codegen_generate_builtin_source(CodeGen *g) { |
| 7949 | buf_appendf(contents, "pub const os = Os.%s;\n", cur_os); | 7957 | buf_appendf(contents, "pub const os = Os.%s;\n", cur_os); |
| 7950 | buf_appendf(contents, "pub const arch = %s;\n", cur_arch); | 7958 | buf_appendf(contents, "pub const arch = %s;\n", cur_arch); |
| 7951 | buf_appendf(contents, "pub const abi = Abi.%s;\n", cur_abi); | 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 | buf_appendf(contents, "pub const object_format = ObjectFormat.%s;\n", cur_obj_fmt); | 7969 | buf_appendf(contents, "pub const object_format = ObjectFormat.%s;\n", cur_obj_fmt); |
| 7953 | buf_appendf(contents, "pub const mode = %s;\n", build_mode_to_str(g->build_mode)); | 7970 | buf_appendf(contents, "pub const mode = %s;\n", build_mode_to_str(g->build_mode)); |
| 7954 | buf_appendf(contents, "pub const link_libc = %s;\n", bool_to_str(g->libc_link_lib != nullptr)); | 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,6 +8022,11 @@ static Error define_builtin_compile_vars(CodeGen *g) { |
| 8005 | cache_int(&cache_hash, g->zig_target->vendor); | 8022 | cache_int(&cache_hash, g->zig_target->vendor); |
| 8006 | cache_int(&cache_hash, g->zig_target->os); | 8023 | cache_int(&cache_hash, g->zig_target->os); |
| 8007 | cache_int(&cache_hash, g->zig_target->abi); | 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 | cache_bool(&cache_hash, g->have_err_ret_tracing); | 8030 | cache_bool(&cache_hash, g->have_err_ret_tracing); |
| 8009 | cache_bool(&cache_hash, g->libc_link_lib != nullptr); | 8031 | cache_bool(&cache_hash, g->libc_link_lib != nullptr); |
| 8010 | cache_bool(&cache_hash, g->valgrind_support); | 8032 | cache_bool(&cache_hash, g->valgrind_support); |
| ... | @@ -9465,6 +9487,11 @@ static Error check_cache(CodeGen *g, Buf *manifest_dir, Buf *digest) { | ... | @@ -9465,6 +9487,11 @@ static Error check_cache(CodeGen *g, Buf *manifest_dir, Buf *digest) { |
| 9465 | cache_int(ch, g->zig_target->vendor); | 9487 | cache_int(ch, g->zig_target->vendor); |
| 9466 | cache_int(ch, g->zig_target->os); | 9488 | cache_int(ch, g->zig_target->os); |
| 9467 | cache_int(ch, g->zig_target->abi); | 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 | cache_int(ch, detect_subsystem(g)); | 9495 | cache_int(ch, detect_subsystem(g)); |
| 9469 | cache_bool(ch, g->strip_debug_symbols); | 9496 | cache_bool(ch, g->strip_debug_symbols); |
| 9470 | cache_bool(ch, g->is_test_build); | 9497 | cache_bool(ch, g->is_test_build); |