aboutsummaryrefslogtreecommitdiff
path: root/tests/legacy/examples/cgo/import_example.go
diff options
context:
space:
mode:
Diffstat (limited to 'tests/legacy/examples/cgo/import_example.go')
-rw-r--r--tests/legacy/examples/cgo/import_example.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/legacy/examples/cgo/import_example.go b/tests/legacy/examples/cgo/import_example.go
new file mode 100644
index 00000000..a25a6971
--- /dev/null
+++ b/tests/legacy/examples/cgo/import_example.go
@@ -0,0 +1,29 @@
+package cgo
+
+import (
+ //#cgo LDFLAGS: -lm -lversion -lc_version -L${SRCDIR}/cc_dependency
+ //#cgo CPPFLAGS: -I${SRCDIR}/../..
+ //#include <math.h>
+ //#include "use_exported.h"
+ //#include "cc_dependency/version.h"
+ "C"
+
+ "github.com/bazelbuild/rules_go/examples/cgo/sub"
+)
+
+// Nsqrt returns the square root of n.
+func Nsqrt(n int) int {
+ return int(sub.Floor(float64(C.sqrt(C.double(n)))))
+}
+
+func PrintGoVersion() {
+ C.PrintGoVersion()
+}
+
+func printCXXVersion() {
+ C.PrintCXXVersion()
+}
+
+func ReturnDefined() int {
+ return int(C.DEFINED_IN_COPTS)
+}