Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wa-lang
wa
提交
6e08243d
wa
项目概览
wa-lang
/
wa
大约 1 年 前同步成功
通知
68
Star
655
Fork
45
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
wa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6e08243d
编写于
3月 30, 2023
作者:
chai2010
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
规范 后端/OS/ARCH 常量定义
上级
9cc2fd9d
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
51 addition
and
18 deletion
+51
-18
internal/app/app.wa.go
internal/app/app.wa.go
+1
-1
internal/app/apputil/wabt_wat2wasm.go
internal/app/apputil/wabt_wat2wasm.go
+3
-3
internal/app/waruntime/arduino.go
internal/app/waruntime/arduino.go
+1
-1
internal/app/waruntime/chrome.go
internal/app/waruntime/chrome.go
+1
-1
internal/config/config.go
internal/config/config.go
+1
-1
internal/config/waos.go
internal/config/waos.go
+38
-5
main.go
main.go
+6
-6
未找到文件。
internal/app/app.wa.go
浏览文件 @
6e08243d
...
...
@@ -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
...
...
internal/app/apputil/wabt_wat2wasm.go
浏览文件 @
6e08243d
...
...
@@ -74,15 +74,15 @@ func RunWasm(cfg *config.Config, filename string, wasmArgs ...string) (stdoutStd
}
switch
cfg
.
WaOS
{
case
config
.
WaOS_
A
rduino
:
case
config
.
WaOS_
a
rduino
:
if
_
,
err
=
waruntime
.
ArduinoInstantiate
(
ctx
,
r
);
err
!=
nil
{
return
outputBuffer
.
Bytes
(),
err
}
case
config
.
WaOS_
C
hrome
:
case
config
.
WaOS_
c
hrome
:
if
_
,
err
=
waruntime
.
ChromeInstantiate
(
ctx
,
r
);
err
!=
nil
{
return
outputBuffer
.
Bytes
(),
err
}
case
config
.
WaOS_
W
asi
:
case
config
.
WaOS_
w
asi
:
if
_
,
err
=
waruntime
.
WasiInstantiate
(
ctx
,
r
);
err
!=
nil
{
return
outputBuffer
.
Bytes
(),
err
}
...
...
internal/app/waruntime/arduino.go
浏览文件 @
6e08243d
...
...
@@ -14,7 +14,7 @@ import (
func
ArduinoInstantiate
(
ctx
context
.
Context
,
rt
wazero
.
Runtime
)
(
api
.
Closer
,
error
)
{
startTime
:=
time
.
Now
()
return
rt
.
NewHostModuleBuilder
(
config
.
WaOS_
A
rduino
)
.
return
rt
.
NewHostModuleBuilder
(
config
.
WaOS_
a
rduino
)
.
NewFunctionBuilder
()
.
WithFunc
(
func
(
ctx
context
.
Context
,
m
api
.
Module
)
int32
{
t
:=
time
.
Now
()
.
Sub
(
startTime
)
.
Milliseconds
()
...
...
internal/app/waruntime/chrome.go
浏览文件 @
6e08243d
...
...
@@ -11,5 +11,5 @@ import (
)
func
ChromeInstantiate
(
ctx
context
.
Context
,
rt
wazero
.
Runtime
)
(
api
.
Closer
,
error
)
{
return
rt
.
NewHostModuleBuilder
(
config
.
WaOS_
C
hrome
)
.
Instantiate
(
ctx
,
rt
)
return
rt
.
NewHostModuleBuilder
(
config
.
WaOS_
c
hrome
)
.
Instantiate
(
ctx
,
rt
)
}
internal/config/config.go
浏览文件 @
6e08243d
...
...
@@ -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
==
""
{
...
...
internal/config/waos.go
浏览文件 @
6e08243d
...
...
@@ -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_
W
asi
// 默认
WaOS_Default
=
WaOS_
w
asi
// 默认
WaOS_
A
rduino
=
"arduino"
// Arduino 平台
WaOS_
C
hrome
=
"chrome"
// Chrome 浏览器
WaOS_
W
asi
=
"wasi"
// WASI 接口
WaOS_
a
rduino
=
"arduino"
// Arduino 平台
WaOS_
c
hrome
=
"chrome"
// Chrome 浏览器
WaOS_
w
asi
=
"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 平台
)
main.go
浏览文件 @
6e08243d
...
...
@@ -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_
W
asi
:
opt
.
TargetOS
=
config
.
WaOS_
W
asi
case
config
.
WaOS_
A
rduino
:
opt
.
TargetOS
=
config
.
WaOS_
A
rduino
case
config
.
WaOS_
C
hrome
:
opt
.
TargetOS
=
config
.
WaOS_
C
hrome
case
config
.
WaOS_
w
asi
:
opt
.
TargetOS
=
config
.
WaOS_
w
asi
case
config
.
WaOS_
a
rduino
:
opt
.
TargetOS
=
config
.
WaOS_
a
rduino
case
config
.
WaOS_
c
hrome
:
opt
.
TargetOS
=
config
.
WaOS_
c
hrome
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录