提交 6e08243d 编写于 作者: chai2010's avatar chai2010

规范 后端/OS/ARCH 常量定义

上级 9cc2fd9d
......@@ -49,7 +49,7 @@ func NewApp(opt *Option) *App {
p.opt.TargetOS = config.WaOS_Default
}
if p.opt.TargetArch == "" {
p.opt.TargetArch = config.WaArch_Wasm
p.opt.TargetArch = config.WaArch_Default
}
return p
......
......@@ -74,15 +74,15 @@ func RunWasm(cfg *config.Config, filename string, wasmArgs ...string) (stdoutStd
}
switch cfg.WaOS {
case config.WaOS_Arduino:
case config.WaOS_arduino:
if _, err = waruntime.ArduinoInstantiate(ctx, r); err != nil {
return outputBuffer.Bytes(), err
}
case config.WaOS_Chrome:
case config.WaOS_chrome:
if _, err = waruntime.ChromeInstantiate(ctx, r); err != nil {
return outputBuffer.Bytes(), err
}
case config.WaOS_Wasi:
case config.WaOS_wasi:
if _, err = waruntime.WasiInstantiate(ctx, r); err != nil {
return outputBuffer.Bytes(), err
}
......
......@@ -14,7 +14,7 @@ import (
func ArduinoInstantiate(ctx context.Context, rt wazero.Runtime) (api.Closer, error) {
startTime := time.Now()
return rt.NewHostModuleBuilder(config.WaOS_Arduino).
return rt.NewHostModuleBuilder(config.WaOS_arduino).
NewFunctionBuilder().
WithFunc(func(ctx context.Context, m api.Module) int32 {
t := time.Now().Sub(startTime).Milliseconds()
......
......@@ -11,5 +11,5 @@ import (
)
func ChromeInstantiate(ctx context.Context, rt wazero.Runtime) (api.Closer, error) {
return rt.NewHostModuleBuilder(config.WaOS_Chrome).Instantiate(ctx, rt)
return rt.NewHostModuleBuilder(config.WaOS_chrome).Instantiate(ctx, rt)
}
......@@ -51,7 +51,7 @@ func DefaultConfig() *Config {
if s := os.Getenv("WAARCH"); s != "" {
p.WaArch = s
} else {
p.WaArch = WaArch_Wasm
p.WaArch = WaArch_Default
}
}
if p.WaOS == "" {
......
......@@ -2,16 +2,49 @@
package config
// wa 代码:
// xxx.wa
// xxx_$OS.wa
// xxx_$ARCH.wa
// xxx_$OS_$ARCH.wa
// wz 中文代码:
// xxx.wz
// xxx_$OS.wz
// xxx_$ARCH.wz
// xxx_$OS_$ARCH.wz
// ws 汇编代码:
// xxx.$BACKEND.ws
// xxx_$OS.$BACKEND.ws
// xxx_$ARCH.$BACKEND.ws
// xxx_$OS_$ARCH.$BACKEND.ws
// 编译器后端类型
const (
WaBackend_Default = WaBackend_wat // 默认
WaBackend_clang = "clang" // 输出 c
WaBackend_llvm = "llvm" // 输出 llir
WaBackend_wat = "wat" // 输出 wat
)
// 目标平台类型, 可管理后缀名
const (
WaOS_Default = WaOS_Wasi // 默认
WaOS_Default = WaOS_wasi // 默认
WaOS_Arduino = "arduino" // Arduino 平台
WaOS_Chrome = "chrome" // Chrome 浏览器
WaOS_Wasi = "wasi" // WASI 接口
WaOS_arduino = "arduino" // Arduino 平台
WaOS_chrome = "chrome" // Chrome 浏览器
WaOS_wasi = "wasi" // WASI 接口
)
// 体系结构类型
const (
WaArch_Wasm = "wasm" // wasm 平台
WaArch_Default = WaArch_wasm // 默认
WaArch_386 = "386" // 386 平台
WaArch_amd64 = "amd64" // amd64 平台
WaArch_arm64 = "arm64" // arm64 平台
WaArch_riscv64 = "riscv64" // riscv64 平台
WaArch_wasm = "wasm" // wasm 平台
)
......@@ -494,12 +494,12 @@ func build_Options(c *cli.Context, isLLVMBackend ...bool) *app.Option {
switch c.String("target") {
case "", "wa", "walang":
opt.TargetOS = config.WaOS_Default
case config.WaOS_Wasi:
opt.TargetOS = config.WaOS_Wasi
case config.WaOS_Arduino:
opt.TargetOS = config.WaOS_Arduino
case config.WaOS_Chrome:
opt.TargetOS = config.WaOS_Chrome
case config.WaOS_wasi:
opt.TargetOS = config.WaOS_wasi
case config.WaOS_arduino:
opt.TargetOS = config.WaOS_arduino
case config.WaOS_chrome:
opt.TargetOS = config.WaOS_chrome
default:
fmt.Printf("unknown target: %s\n", c.String("target"))
os.Exit(1)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册