Commit dc57ed8c authored by Francisco Souza's avatar Francisco Souza Committed by Russ Cox

misc/cgo: re-enable testso

The test.bash file generates .so file using gcc, builds the executable
using the go tool and then run it with the $LD_LIBRARY_PATH variable
pointing to the directory where the .so file lives.

Fixes #2982.

R=rsc, remyoudompheng
CC=golang-dev
https://golang.org/cl/5788043
parent 9b73238d
......@@ -27,6 +27,7 @@ doc/tmpltohtml
doc/articles/wiki/*.bin
misc/cgo/life/run.out
misc/cgo/stdio/run.out
misc/cgo/testso/testso
misc/dashboard/builder/builder
misc/goplay/goplay
misc/osx/*.pkg
......
# Copyright 2011 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
include ../../../src/Make.inc
TARG=cgosotest
CGO_DEPS+=libcgoso.so
CGO_LDFLAGS+=-lcgoso -L.
CLEANFILES+=out libcgoso.so
CGOFILES=\
cgoso.go\
include ../../../src/Make.pkg
libcgoso.so: cgoso_c.c
gcc cgoso_c.c -fPIC -o $@ $(_CGO_CFLAGS_$(GOARCH)) $(_CGO_LDFLAGS_$(GOOS))
out: install main.go
$(GC) $(GCFLAGS) $(GCIMPORTS) main.go
$(LD) -o $@ main.$O
......@@ -4,7 +4,10 @@
package cgosotest
//void sofunc(void);
/*
#cgo LDFLAGS: -L. -lcgosotest
void sofunc(void);
*/
import "C"
func Test() {
......
......@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build ignore
void sofunc(void)
{
extern void goCallback(void);
......
......@@ -2,9 +2,11 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build ignore
package main
import "cgosotest"
import "."
func main() {
cgosotest.Test()
......
......@@ -4,6 +4,7 @@
# license that can be found in the LICENSE file.
set -e
gomake out
LD_LIBRARY_PATH=. ./out
gomake clean
gcc -fPIC -g -shared -o libcgosotest.so cgoso_c.c
go build main.go
LD_LIBRARY_PATH=. ./main
rm -f libcgosotest.so main
......@@ -55,12 +55,10 @@ xcd() {
go test
) || exit $?
$BROKEN ||
[ "$CGO_ENABLED" != 1 ] ||
[ "$GOHOSTOS" == windows ] ||
[ "$GOHOSTOS" == darwin ] ||
(xcd ../misc/cgo/testso
"$GOMAKE" clean
./test.bash
) || exit $?
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment