misc/wasm: move wasm runtime files to lib/wasm

This commit is contained in:
Zxilly 2024-08-12 14:01:21 +08:00
parent 0d5605832c
commit 27e94a809f
No known key found for this signature in database
GPG Key ID: 47AB1DEC841BC6A2
56 changed files with 73 additions and 7 deletions

View File

@ -1,2 +1,5 @@
## Ports {#ports}
### WebAssembly {#wasm}
The support files for WebAssembly have been moved to `lib/wasm` from `misc/wasm`.

View File

@ -73,6 +73,11 @@ var modRules = []testRule{
{name: "golang.org/toolchain@*/src/cmd/go/main.go"},
{name: "golang.org/toolchain@*/src/bytes/bytes.go"},
{name: "golang.org/toolchain@*/lib/wasm/go_js_wasm_exec"},
{name: "golang.org/toolchain@*/lib/wasm/go_wasip1_wasm_exec"},
{name: "golang.org/toolchain@*/lib/wasm/wasm_exec.js"},
{name: "golang.org/toolchain@*/lib/wasm/wasm_exec_node.js"},
{name: "**/.DS_Store", exclude: true},
{name: "golang.org/toolchain@*/.git", exclude: true},
{name: "golang.org/toolchain@*/.gitattributes", exclude: true},

View File

@ -353,13 +353,20 @@ func Exec(gotoolchain string) {
base.Fatalf("download %s: %v", gotoolchain, err)
}
if info.Mode()&0111 == 0 {
// allowExec sets the exec permission bits on all files found in dir.
allowExec := func(dir string) {
// allowExec sets the exec permission bits on all files found in dir if pattern is the empty string,
// or only those files that match the pattern if it's non-empty.
allowExec := func(dir, pattern string) {
err := filepath.WalkDir(dir, func(path string, d fs.DirEntry, err error) error {
if err != nil {
return err
}
if !d.IsDir() {
if pattern != "" {
if matched, _ := filepath.Match(pattern, d.Name()); !matched {
// Skip file.
return nil
}
}
info, err := os.Stat(path)
if err != nil {
return err
@ -380,12 +387,13 @@ func Exec(gotoolchain string) {
// then the check of bin/go above might succeed, the other go command
// would skip its own mode-setting, and then the go command might
// try to run a tool before we get to setting the bits on pkg/tool.
// Setting pkg/tool before bin/go avoids that ordering problem.
// Setting pkg/tool and lib before bin/go avoids that ordering problem.
// The only other tool the go command invokes is gofmt,
// so we set that one explicitly before handling bin (which will include bin/go).
allowExec(filepath.Join(dir, "pkg/tool"))
allowExec(filepath.Join(dir, "bin/gofmt"))
allowExec(filepath.Join(dir, "bin"))
allowExec(filepath.Join(dir, "pkg/tool"), "")
allowExec(filepath.Join(dir, "lib"), "go_*_*_exec")
allowExec(filepath.Join(dir, "bin/gofmt"), "")
allowExec(filepath.Join(dir, "bin"), "")
}
}

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -12,3 +12,4 @@ echo go1.999testmod here!
-- bin/gofmt --
echo i am unused
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -8,3 +8,5 @@ module golang.org/toolchain
module golang.org/toolchain
-- bin/go.bat --
@echo go1.999testmod here!
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -8,3 +8,5 @@ module golang.org/toolchain
module golang.org/toolchain
-- bin/go.bat --
@echo go1.999testmod here!
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -8,3 +8,5 @@ module golang.org/toolchain
module golang.org/toolchain
-- bin/go.bat --
@echo go1.999testmod here!
-- pkg/tool/fake --
-- lib/wasm/go_js_wasm_exec --

View File

@ -8,3 +8,4 @@ module golang.org/toolchain
module golang.org/toolchain
-- bin/go.bat --
@echo go1.999testmod here!
-- lib/wasm/go_js_wasm_exec --

View File

@ -7,7 +7,7 @@
// To run these tests:
//
// - Install Node
// - Add /path/to/go/misc/wasm to your $PATH (so that "go test" can find
// - Add /path/to/go/lib/wasm to your $PATH (so that "go test" can find
// "go_js_wasm_exec").
// - GOOS=js GOARCH=wasm go test
//