{"push_id":1070991950,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8cb9243d5a5e549343cec6bd89119b277024bfcf","before":"373feb67001252371054c3388291661352c4eb90","commits":[{"sha":"8cb9243d5a5e549343cec6bd89119b277024bfcf","author":{"email":"c87a55b192ca2ace35ed81f7cd86e19000cd0c86@yugui.jp","name":"Yuki Yugui Sonoda"},"message":"cgo support (#10)\n\n* Support CGO\r\n\r\nAdds a new macro cgo_library, which wraps build steps with cgo.\r\nSee the following thread in bazel-dev for the overall design.\r\n\r\n* https://groups.google.com/d/msg/bazel-dev/xFcxQyaxQec/YqIYjqA2CAAJ\r\n\r\nSupported:\r\n* Both Linux and Darwin\r\n* Import types and functions from C/C++ to Go sources\r\n* Export Go funtions to C/C++ sources within a package\r\n* Add dependency to cc_library rules\r\n* Build a package which contains both cgo-enabled sources and pure-Go\r\n  sources.\r\n\r\nUnsupported:\r\n* Export Go packages to C binaries, a.k.a -buildmode=c-archive or\r\n  -buildmode=c-shared.\r\n* Directly or indirectly depend on prebuilt dynamic libraries on Darwin.\r\n  i.e. cgo_library cannot depend on cc_library rules which contain *.so\r\n  files in their srcs.\r\n* Something like cc_binary.linkstatic=0, which is most similar to the\r\n  default behavior of \"go build\".\r\n  Instead, go rules always try to mostly statically link dependencies\r\n  unless the dependency has only *.so.\r\n\r\n* Respect linker flags configured in CROSSTOOL\r\n\r\nAvoid hard-coded path to ld(1) and some other flags.\r\nhttps://groups.google.com/d/msg/bazel-discuss/lPQc4nc-PBc/Ib0MfuOwAgAJ\r\n\r\n* Small style/message changes\r\n\r\n* Avoid depending on the working directory in the test\r\n\r\n* fix typo\r\n\r\n* Remove extra Close()\r\n\r\n* Synchronize README.md with cgo_library skydoc\r\n\r\nDescribed cgo_library in README.md too for now","distinct":true,"url":"https://api.github.com/repos/bazelbuild/rules_go/commits/8cb9243d5a5e549343cec6bd89119b277024bfcf"}]}