Skip to content

Commit 5f94047

Browse files
xizheyinfacebook-github-bot
authored andcommitted
Add further support for riscv in prelude and etc (#1009)
Summary: Pull Request resolved: #1009 Reviewed By: scottcao, dtolnay Differential Revision: D77126594 Pulled By: Nero5023 fbshipit-source-id: c4edf990f8c7a9fc2fe11d1899795ae8a08d55db
1 parent 1706f3e commit 5f94047

File tree

12 files changed

+30
-2
lines changed

12 files changed

+30
-2
lines changed

buck2.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ def get_extra_build_params(args: argparse.Namespace) -> List[str]:
4545
params.extend(["-m", "x86_64"])
4646
elif arch_platform == "arm64":
4747
params.extend(["-m", "arm64"])
48+
elif arch_platform == "riscv64":
49+
params.extend(["-m", "riscv64"])
4850

4951
return params
5052

examples/bootstrap/bootstrap/platform/platforms.bzl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ def _host_cpu_configuration() -> str:
4949
return "prelude//cpu:arm32"
5050
elif arch.is_i386:
5151
return "prelude//cpu:x86_32"
52+
elif arch.is_riscv64:
53+
return "prelude//cpu:riscv64"
5254
else:
5355
return "prelude//cpu:x86_64"
5456

examples/bootstrap/toolchains/rust_toolchain.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ load("@prelude//rust:rust_toolchain.bzl", "PanicRuntime", "RustToolchainInfo")
1414
_DEFAULT_TRIPLE = select({
1515
"config//os:linux": select({
1616
"config//cpu:arm64": "aarch64-unknown-linux-gnu",
17+
"config//cpu:riscv64": "riscv64gc-unknown-linux-gnu",
1718
"config//cpu:x86_64": "x86_64-unknown-linux-gnu",
1819
}),
1920
"config//os:macos": select({

examples/persistent_worker/platforms/BUCK

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ load(":local.bzl", "local")
33

44
oncall("build_infra")
55

6-
host_cpu = "prelude//cpu:" + ("arm64" if host_info().arch.is_aarch64 else "x86_64")
6+
host_cpu = "prelude//cpu:" + (
7+
"arm64" if host_info().arch.is_aarch64 else "riscv64" if host_info().arch.is_riscv64 else "x86_64"
8+
)
79

810
host_os = "prelude//os:" + ("macos" if host_info().os.is_macos else "linux")
911

prelude/cpu/BUCK

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,11 @@ config_setting(
4343
],
4444
visibility = ["PUBLIC"],
4545
)
46+
47+
config_setting(
48+
name = "riscv64",
49+
constraint_values = [
50+
"prelude//cpu/constraints:riscv64",
51+
],
52+
visibility = ["PUBLIC"],
53+
)

prelude/cpu/constraints/BUCK

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,10 @@ constraint_value(
4848
constraint_setting = ":cpu",
4949
visibility = ["PUBLIC"],
5050
)
51+
52+
# RISC-V 64-bit support
53+
constraint_value(
54+
name = "riscv64",
55+
constraint_setting = ":cpu",
56+
visibility = ["PUBLIC"],
57+
)

prelude/decls/core_rules.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ PlatformExePlatform = ["linux", "macos", "windows"]
2121

2222
RemoteFileType = ["data", "executable", "exploded_zip"]
2323

24-
TargetCpuType = ["arm", "armv7", "arm64", "x86", "x86_64", "mips"]
24+
TargetCpuType = ["arm", "armv7", "arm64", "x86", "x86_64", "mips", "riscv64"]
2525

2626
alias = prelude_rule(
2727
name = "alias",

prelude/os_lookup/targets/BUCK

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ os_lookup(
1010
cpu = select({
1111
"DEFAULT": None,
1212
"config//cpu:arm64": "arm64",
13+
"config//cpu:riscv64": "riscv64",
1314
"config//cpu:x86_64": "x86_64",
1415
}),
1516
os = select({

prelude/platforms/defs.bzl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ def _host_cpu_configuration() -> str:
4747
return "prelude//cpu:arm32"
4848
elif arch.is_i386:
4949
return "prelude//cpu:x86_32"
50+
elif arch.is_riscv64:
51+
return "prelude//cpu:riscv64"
5052
else:
5153
return "prelude//cpu:x86_64"
5254

prelude/rust/cargo_package.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ DEFAULT_PLATFORM_TEMPLATES = select({
1818
"config//os:linux": select({
1919
"DEFAULT": None,
2020
"config//cpu:arm64": "linux-arm64",
21+
"config//cpu:riscv64": "linux-riscv64",
2122
"config//cpu:x86_64": "linux-x86_64",
2223
}),
2324
"config//os:macos": select({

0 commit comments

Comments
 (0)