cgo_oligami

Crates.iocgo_oligami
lib.rscgo_oligami
version0.3.6
sourcesrc
created_at2023-09-17 12:12:05.438048
updated_at2023-11-09 06:22:10.269696
descriptionA library for build scripts to compile custom Go code
homepage
repositoryhttps://github.com/oligami-0424/cgo-rs
max_upload_size
id975058
size20,766
oligami (oligamiq)

documentation

https://docs.rs/cgo_oligami

README

cgo-rs

A library for build scripts to compile custom Go code, inspired by the excellent cc crate.

It is intended that you use this library from within your build.rs file by adding the cgo crate to your build-dependencies:

[build-dependencies]
cgo_oligami = "*"

Examples

The following example will statically compile the Go package and instruct cargo to link the resulting library (libexample).

fn main() {
    cgo::Build::new()
        .package("pkg/example/main.go")
        .build("example");
}

windows cannot support

Golang is not support llvm on windows so Rust cannot link Golang staticlib on windows https://github.com/golang/go/issues/17014 If you use, dynamiclib https://doc.rust-lang.org/reference/items/external-blocks.html#the-link-attribute

support

mac and linux without alpine

memo

https://zenn.dev/koya_iwamura/articles/bb9b590b57d825 https://tip.golang.org/doc/go1.21#go-command

Minimum Version

  • rust 1.64
  • go 1.21.1
Commit count: 43

cargo fmt