Skip to content

Commit d061342

Browse files
committed
Init
Signed-off-by: richerfu <[email protected]>
0 parents  commit d061342

File tree

5 files changed

+53
-0
lines changed

5 files changed

+53
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.DS_Store

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "zig-bootstrap"]
2+
path = zig-bootstrap
3+
url = https://github.com/ziglang/zig-bootstrap.git

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Zig patch for OpenHarmony
2+
3+
This project allow us to build zig that can build dynamic or use `zig cc` for OpenHarmony.
4+
5+
For now, we use the default logic of `musl` to link libc or other logic. It may has some issues, but we need more examples or projects to test it.
6+
7+
If you find some codes or logic need to adapt, you can submit a new issue or PR.

patch/zig-patch.patch

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
diff --git a/zig/lib/std/c.zig b/zig/lib/std/c.zig
2+
index f8492bc19..bcedb1e4e 100644
3+
--- a/zig/lib/std/c.zig
4+
+++ b/zig/lib/std/c.zig
5+
@@ -8163,7 +8163,7 @@ pub const pthread_mutex_t = switch (native_os) {
6+
data: [data_len]u8 align(@alignOf(usize)) = [_]u8{0} ** data_len,
7+
8+
const data_len = switch (native_abi) {
9+
- .musl, .musleabi, .musleabihf => if (@sizeOf(usize) == 8) 40 else 24,
10+
+ .musl, .musleabi, .musleabihf, .ohos, .ohoseabi => if (@sizeOf(usize) == 8) 40 else 24,
11+
.gnu, .gnuabin32, .gnuabi64, .gnueabi, .gnueabihf, .gnux32 => switch (native_arch) {
12+
.aarch64 => 48,
13+
.x86_64 => if (native_abi == .gnux32) 32 else 40,
14+
diff --git a/zig/lib/std/zig/target.zig b/zig/lib/std/zig/target.zig
15+
index 651adfcfe..7a3d3a889 100644
16+
--- a/zig/lib/std/zig/target.zig
17+
+++ b/zig/lib/std/zig/target.zig
18+
@@ -18,6 +18,7 @@ pub const available_libcs = [_]ArchOsAbi{
19+
.{ .arch = .arm, .os = .linux, .abi = .gnueabihf, .os_ver = .{ .major = 2, .minor = 1, .patch = 0 } },
20+
.{ .arch = .arm, .os = .linux, .abi = .musleabi, .os_ver = .{ .major = 2, .minor = 1, .patch = 0 } },
21+
.{ .arch = .arm, .os = .linux, .abi = .musleabihf, .os_ver = .{ .major = 2, .minor = 1, .patch = 0 } },
22+
+ .{ .arch = .arm, .os = .linux, .abi = .ohoseabi },
23+
.{ .arch = .arm, .os = .netbsd, .abi = .eabi, .os_ver = .{ .major = 1, .minor = 2, .patch = 0 } },
24+
.{ .arch = .arm, .os = .netbsd, .abi = .eabihf, .os_ver = .{ .major = 1, .minor = 2, .patch = 0 } },
25+
.{ .arch = .armeb, .os = .linux, .abi = .gnueabi, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 } },
26+
@@ -34,6 +35,7 @@ pub const available_libcs = [_]ArchOsAbi{
27+
.{ .arch = .aarch64, .os = .freebsd, .abi = .none, .os_ver = .{ .major = 11, .minor = 0, .patch = 0 } },
28+
.{ .arch = .aarch64, .os = .linux, .abi = .gnu, .os_ver = .{ .major = 3, .minor = 7, .patch = 0 }, .glibc_min = .{ .major = 2, .minor = 17, .patch = 0 } },
29+
.{ .arch = .aarch64, .os = .linux, .abi = .musl, .os_ver = .{ .major = 3, .minor = 7, .patch = 0 } },
30+
+ .{ .arch = .aarch64, .os = .linux, .abi = .ohos },
31+
.{ .arch = .aarch64, .os = .macos, .abi = .none, .os_ver = .{ .major = 11, .minor = 0, .patch = 0 } },
32+
.{ .arch = .aarch64, .os = .netbsd, .abi = .none, .os_ver = .{ .major = 9, .minor = 0, .patch = 0 } },
33+
.{ .arch = .aarch64, .os = .windows, .abi = .gnu },
34+
@@ -104,6 +106,7 @@ pub const available_libcs = [_]ArchOsAbi{
35+
.{ .arch = .x86_64, .os = .linux, .abi = .gnu, .os_ver = .{ .major = 2, .minor = 6, .patch = 4 } },
36+
.{ .arch = .x86_64, .os = .linux, .abi = .gnux32, .os_ver = .{ .major = 3, .minor = 4, .patch = 0 }, .glibc_triple = "x86_64-linux-gnu-x32" },
37+
.{ .arch = .x86_64, .os = .linux, .abi = .musl, .os_ver = .{ .major = 2, .minor = 6, .patch = 4 } },
38+
+ .{ .arch = .x86_64, .os = .linux, .abi = .ohos },
39+
.{ .arch = .x86_64, .os = .linux, .abi = .muslx32, .os_ver = .{ .major = 3, .minor = 4, .patch = 0 } },
40+
.{ .arch = .x86_64, .os = .macos, .abi = .none, .os_ver = .{ .major = 10, .minor = 7, .patch = 0 } },
41+
.{ .arch = .x86_64, .os = .netbsd, .abi = .none, .os_ver = .{ .major = 2, .minor = 0, .patch = 0 } },

zig-bootstrap

Submodule zig-bootstrap added at 527953e

0 commit comments

Comments
 (0)