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
        }

Reply via email to