aboutsummaryrefslogtreecommitdiff
path: root/src/target.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2018-12-26 15:26:53 -0500
committerAndrew Kelley <andrew@ziglang.org>2018-12-26 15:26:53 -0500
commit2b7e29f791146e901e0479d2af20f1a91ec7165b (patch)
treead8ad8079a40065a9121c397e7d4b41d431dbf70 /src/target.cpp
parent280187031a68c577e84c72add037271153d27c62 (diff)
parenta918ce26b81b8e51c061d85631aa432a025c1ee2 (diff)
downloadzig-2b7e29f791146e901e0479d2af20f1a91ec7165b.tar.gz
zig-2b7e29f791146e901e0479d2af20f1a91ec7165b.zip
Merge branch 'nebulaeonline-nebulaeonline'
Zig gains the UEFI OS target
Diffstat (limited to 'src/target.cpp')
-rw-r--r--src/target.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/target.cpp b/src/target.cpp
index 5a4b5252f1..6fea79518c 100644
--- a/src/target.cpp
+++ b/src/target.cpp
@@ -174,6 +174,7 @@ static const Os os_list[] = {
OsContiki,
OsAMDPAL,
OsZen,
+ OsUefi,
};
// Coordinate with zig_llvm.h
@@ -282,6 +283,7 @@ ZigLLVM_OSType get_llvm_os_type(Os os_type) {
case OsSolaris:
return ZigLLVM_Solaris;
case OsWindows:
+ case OsUefi:
return ZigLLVM_Win32;
case OsHaiku:
return ZigLLVM_Haiku;
@@ -394,6 +396,8 @@ const char *get_target_os_name(Os os_type) {
return "freestanding";
case OsZen:
return "zen";
+ case OsUefi:
+ return "uefi";
case OsAnanas:
case OsCloudABI:
case OsDragonFly:
@@ -756,6 +760,7 @@ uint32_t target_c_type_size_in_bits(const ZigTarget *target, CIntType id) {
case CIntTypeCount:
zig_unreachable();
}
+ case OsUefi:
case OsWindows:
switch (id) {
case CIntTypeShort:
@@ -803,7 +808,7 @@ uint32_t target_c_type_size_in_bits(const ZigTarget *target, CIntType id) {
}
const char *target_o_file_ext(ZigTarget *target) {
- if (target->env_type == ZigLLVM_MSVC || target->os == OsWindows) {
+ if (target->env_type == ZigLLVM_MSVC || target->os == OsWindows || target->os == OsUefi) {
return ".obj";
} else {
return ".o";
@@ -821,13 +826,15 @@ const char *target_llvm_ir_file_ext(ZigTarget *target) {
const char *target_exe_file_ext(ZigTarget *target) {
if (target->os == OsWindows) {
return ".exe";
+ } else if (target->os == OsUefi) {
+ return ".efi";
} else {
return "";
}
}
const char *target_lib_file_ext(ZigTarget *target, bool is_static, size_t version_major, size_t version_minor, size_t version_patch) {
- if (target->os == OsWindows) {
+ if (target->os == OsWindows || target->os == OsUefi) {
if (is_static) {
return ".lib";
} else {