This is an automated email from the ASF dual-hosted git repository.
yuchanns pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opendal-go-services.git
The following commit(s) were added to refs/heads/main by this push:
new 866c393 generate: support darwin (#12)
866c393 is described below
commit 866c39393692184d40c9e9ca2c90da13f6551db3
Author: Hanchin Hsieh <[email protected]>
AuthorDate: Tue Nov 19 13:27:51 2024 +0800
generate: support darwin (#12)
* generate: support darwin
* template: use dynamic lib
* template: use dynamic lib
---
internal/generate/generate.go | 13 +++++++++++--
internal/generate/templates/embed_{{.os}}_{{.arch}}.go.tpl | 2 +-
internal/generate/templates/service.go.tpl | 2 +-
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/internal/generate/generate.go b/internal/generate/generate.go
index ed3ad8a..2e6d537 100644
--- a/internal/generate/generate.go
+++ b/internal/generate/generate.go
@@ -47,9 +47,17 @@ func genGoFile(build Build, service string) error {
}
}
+ var so string
+ if build.GOOS == "darwin" {
+ so = "dylib"
+ } else if build.GOOS == "linux" {
+ so = "so"
+ } else {
+ so = "dll"
+ }
err = os.Rename(
- fmt.Sprintf("%s/libopendal_c_%s_%s_%s/libopendal_c.%s.so.zst",
workspace, version, service, build.Target, build.Target),
- fmt.Sprintf("%s/%s/libopendal_c.%s.%s.so.zst", workspace, pkg,
build.GOOS, build.GOARCH))
+ fmt.Sprintf("%s/libopendal_c_%s_%s_%s/libopendal_c.%s.%s.zst",
workspace, version, service, build.Target, build.Target, so),
+ fmt.Sprintf("%s/%s/libopendal_c.%s.%s.%s.zst", workspace, pkg,
build.GOOS, build.GOARCH, so))
if err != nil {
return err
}
@@ -77,6 +85,7 @@ func genGoFile(build Build, service string) error {
"pkg": pkg,
"os": build.GOOS,
"arch": build.GOARCH,
+ "so": so,
}); err != nil {
return fmt.Errorf("execute template: %s: %s", t.Name(),
err)
}
diff --git a/internal/generate/templates/embed_{{.os}}_{{.arch}}.go.tpl
b/internal/generate/templates/embed_{{.os}}_{{.arch}}.go.tpl
index 2f7cd51..9ff4c79 100644
--- a/internal/generate/templates/embed_{{.os}}_{{.arch}}.go.tpl
+++ b/internal/generate/templates/embed_{{.os}}_{{.arch}}.go.tpl
@@ -21,5 +21,5 @@ package {{.pkg}}
import _ "embed"
-//go:embed libopendal_c.{{.os}}.{{.arch}}.so.zst
+//go:embed libopendal_c.{{.os}}.{{.arch}}.{{.so}}.zst
var libopendalZst []byte
diff --git a/internal/generate/templates/service.go.tpl
b/internal/generate/templates/service.go.tpl
index 1ff1efb..b0b6b84 100644
--- a/internal/generate/templates/service.go.tpl
+++ b/internal/generate/templates/service.go.tpl
@@ -61,7 +61,7 @@ func load() error {
if err != nil {
return err
}
- path, err = writeTempExec("libopendal_c*.so", data)
+ path, err = writeTempExec("libopendal_c*.{{.so}}", data)
if err != nil {
return err
}