Fix Go tests to run in module mode

Stop using relative imports and add a go.mod file.

Tested against Go 1.6 through Go pre-1.13, and gccgo.
This commit is contained in:
Ian Lance Taylor 2019-04-24 21:43:38 -07:00
parent b04cc850ab
commit 8a1c09e280
173 changed files with 298 additions and 227 deletions

View File

@ -266,6 +266,13 @@ swig -go -help
ignored.</td>
</tr>
<tr>
<td>-import-prefix &lt;prefix&gt;</td>
<td>A prefix to add when turning a %import prefix in the SWIG
interface file into an import statement in the Go file. For
example, with <code>-import-prefix mymodule</code>, a SWIG
interface file <code>%import mypackage</code> will become a Go
import statement <code>import "mymodule/mypackage"</code>.</td>
</table>

View File

@ -1457,7 +1457,8 @@ GOPACK = `if $(GO1) ; then echo go tool pack; else echo gopack; fi`
GOPACKAGE = $(notdir $(INTERFACE:.i=.a))
GOPATHDIR = gopath/src/$(INTERFACE:.i=)
GOPATHPARENTDIR = gopath/$(GOMOD)/src
GOPATHDIR = $(GOPATHPARENTDIR)/$(INTERFACE:.i=)
GOOBJEXT = `if $(GO15); then echo o; else echo $(GOC:c=); fi`
GOGCOBJS = $(GOSRCS:.go=.$(GOOBJEXT))
@ -1467,6 +1468,16 @@ GOGCCOBJS = $(GOSRCS:.go=.@OBJEXT@)
# Build a Go module (C)
# ----------------------------------------------------------------
$(GOPATHPARENTDIR)/go.mod:
@mkdir gopath 2>/dev/null || true
@mkdir gopath/$(GOMOD) 2>/dev/null || true
@mkdir gopath/$(GOMOD)/src 2>/dev/null || true
@mkdir $(GOPATHDIR) 2>/dev/null || true
echo "module swigtests" > $(GOPATHDIR)/go.mod
echo "" >> $(GOPATHDIR)/go.mod
echo "go 1.12" >> $(GOPATHDIR)/go.mod
mv -f $(GOPATHDIR)/go.mod $(GOPATHPARENTDIR)/go.mod
go_nocgo: $(SRCDIR_SRCS)
$(SWIG) -go -no-cgo $(GOOPT) $(GOSWIGARG) $(SWIGOPT) -o $(ISRCS) $(INTERFACEPATH)
if $(GO12) || $(GO13) || $(GO15) || $(GOGCC); then \
@ -1503,11 +1514,12 @@ go_nocgo: $(SRCDIR_SRCS)
fi; \
fi
go: $(SRCDIR_SRCS)
$(SWIG) -go $(GOOPT) $(GOSWIGARG) $(SWIGOPT) -o $(ISRCS) $(INTERFACEPATH)
go: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod
$(SWIG) -go -import-prefix swigtests $(GOOPT) $(GOSWIGARG) $(SWIGOPT) -o $(ISRCS) $(INTERFACEPATH)
@mkdir gopath 2>/dev/null || true
@mkdir gopath/src 2>/dev/null || true
@mkdir gopath/src/$(INTERFACE:.i=) 2>/dev/null || true
@mkdir gopath/$(GOMOD) 2>/dev/null || true
@mkdir gopath/$(GOMOD)/src 2>/dev/null || true
@mkdir $(GOPATHDIR) 2>/dev/null || true
rm -f $(GOPATHDIR)/*
cp $(ISRCS) $(GOPATHDIR)/
if test -f $(IWRAP:.i=.h); then \
@ -1517,7 +1529,7 @@ go: $(SRCDIR_SRCS)
cp $(SRCDIR_SRCS) $(GOPATHDIR)/; \
fi
cp $(GOSRCS) $(GOPATHDIR)/
GOPATH=`pwd`/gopath; \
GOPATH=`pwd`/gopath/$(GOMOD); \
export GOPATH; \
CGO_CPPFLAGS="$(CPPFLAGS) $(INCLUDES) -I `cd $(SRCDIR) && pwd` -I `pwd`"; \
export CGO_CPPFLAGS; \
@ -1526,17 +1538,16 @@ go: $(SRCDIR_SRCS)
CGO_LDFLAGS="$(LDFLAGS) -lm"; \
export CGO_LDFLAGS; \
(cd $(GOPATHDIR)/ && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o $(GOPACKAGE))
cp $(GOPATHDIR)/$(GOPACKAGE) $(dir $(INTERFACE))/$(GOPACKAGE)
if $(GOGCC); then \
cp $(dir $(INTERFACE))/$(GOPACKAGE) $(dir $(INTERFACE))/$(GOPACKAGE:.a=.gox); \
cp $(GOPATHDIR)/$(GOPACKAGE) $(GOPATHDIR)/$(GOPACKAGE:.a=.gox); \
fi
if test -f $(SRCDIR)$(RUNME).go; then \
if $(GOGCC) ; then \
$(COMPILETOOL) $(GCCGO) -c -g $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GCCGO) -o $(RUNME) $(RUNME).@OBJEXT@ $(dir $(INTERFACE))/$(GOPACKAGE); \
$(COMPILETOOL) $(GCCGO) -c -g -I $(GOPATHDIR) $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GCCGO) -o $(RUNME) $(RUNME).@OBJEXT@ $(GOPATHDIR)/$(GOPACKAGE); \
elif $(GO12) || $(GO13) || $(GO15); then \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -o $(RUNME).$(GOOBJEXT) $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -linkmode external -extld "$(CC)" -extldflags "$(CFLAGS) $(LDFLAGS)" -o $(RUNME) $(RUNME).$(GOOBJEXT); \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I $(GOPATHDIR) -o $(RUNME).$(GOOBJEXT) $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -L $(GOPATHDIR) -linkmode external -extld "$(CC)" -extldflags "$(CFLAGS) $(LDFLAGS)" -o $(RUNME) $(RUNME).$(GOOBJEXT); \
else \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $(RUNME) $(RUNME).$(GOOBJEXT); \
@ -1595,11 +1606,12 @@ go_cpp_nocgo: $(SRCDIR_SRCS)
fi; \
fi
go_cpp: $(SRCDIR_SRCS)
$(SWIG) -go -c++ $(GOOPT) $(GOSWIGARG) $(SWIGOPT) -o $(ICXXSRCS) $(INTERFACEPATH)
go_cpp: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod
$(SWIG) -go -c++ -import-prefix swigtests $(GOOPT) $(GOSWIGARG) $(SWIGOPT) -o $(ICXXSRCS) $(INTERFACEPATH)
@mkdir gopath 2>/dev/null || true
@mkdir gopath/src 2>/dev/null || true
@mkdir gopath/src/$(INTERFACE:.i=) 2>/dev/null || true
@mkdir gopath/$(GOMOD) 2>/dev/null || true
@mkdir gopath/$(GOMOD)/src 2>/dev/null || true
@mkdir $(GOPATHDIR) 2>/dev/null || true
rm -f $(GOPATHDIR)/*
cp $(ICXXSRCS) $(GOPATHDIR)/
if test -f $(IWRAP:.i=.h); then \
@ -1612,7 +1624,7 @@ go_cpp: $(SRCDIR_SRCS)
cp $(SRCDIR_SRCS) $(GOPATHDIR)/; \
fi
cp $(GOSRCS) $(GOPATHDIR)/
GOPATH=`pwd`/gopath; \
GOPATH=`pwd`/gopath/$(GOMOD); \
export GOPATH; \
CGO_CPPFLAGS="$(CPPFLAGS) $(INCLUDES) -I `cd $(SRCDIR) && pwd` -I `pwd`"; \
export CGO_CPPFLAGS; \
@ -1623,17 +1635,16 @@ go_cpp: $(SRCDIR_SRCS)
CGO_LDFLAGS="$(LDFLAGS) -lm"; \
export CGO_LDFLAGS; \
(cd $(GOPATHDIR) && $(COMPILETOOL) $(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o $(GOPACKAGE))
cp $(GOPATHDIR)/$(GOPACKAGE) $(dir $(INTERFACE))/$(GOPACKAGE)
if $(GOGCC); then \
cp $(dir $(INTERFACE))/$(GOPACKAGE) $(dir $(INTERFACE))/$(GOPACKAGE:.a=.gox); \
cp $(GOPATHDIR)/$(GOPACKAGE) $(GOPATHDIR)/$(GOPACKAGE:.a=.gox); \
fi
if test -f $(SRCDIR)$(RUNME).go; then \
if $(GOGCC) ; then \
$(COMPILETOOL) $(GCCGO) -g -c $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GCCGO) -o $(RUNME) $(RUNME).@OBJEXT@ $(dir $(INTERFACE))/$(GOPACKAGE) -lstdc++; \
$(COMPILETOOL) $(GCCGO) -g -c -I $(GOPATHDIR) $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GCCGO) -o $(RUNME) $(RUNME).@OBJEXT@ $(GOPATHDIR)/$(GOPACKAGE) -lstdc++; \
elif $(GO12) || $(GO13) || $(GO15); then \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -o $(RUNME).$(GOOBJEXT) $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -linkmode external -extld "$(CXX)" -extldflags "$(CXXFLAGS) $(LDFLAGS)" -o $(RUNME) $(RUNME).$(GOOBJEXT); \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I $(GOPATHDIR) -o $(RUNME).$(GOOBJEXT) $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -L $(GOPATHDIR) -linkmode external -extld "$(CXX)" -extldflags "$(CXXFLAGS) $(LDFLAGS)" -o $(RUNME) $(RUNME).$(GOOBJEXT); \
else \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) $(SRCDIR)$(RUNME).go; \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $(RUNME) $(RUNME).$(GOOBJEXT); \

View File

@ -1,8 +1,9 @@
package main
import (
. "./example"
"fmt"
. "example"
)
func main() {

View File

@ -3,8 +3,9 @@
package main
import (
. "./example"
"fmt"
. "example"
)
func main() {

View File

@ -1,8 +1,9 @@
package main
import (
"./example"
"fmt"
"example"
)
func main() {

View File

@ -1,9 +1,10 @@
package main
import (
"./example"
"fmt"
"os"
"example"
)
func Compare(name string, got string, exp string) error {

View File

@ -1,8 +1,9 @@
package main
import (
. "./example"
"fmt"
. "example"
)
func main() {

View File

@ -3,8 +3,9 @@
package main
import (
. "./example"
"fmt"
. "example"
)
func main() {

View File

@ -1,8 +1,9 @@
package main
import (
. "./example"
"fmt"
. "example"
)
func main() {

View File

@ -1,8 +1,9 @@
package main
import (
. "./example"
"fmt"
. "example"
)
func main() {

View File

@ -1,8 +1,9 @@
package main
import (
. "./example"
"fmt"
. "example"
)
func main() {

View File

@ -3,8 +3,9 @@
package main
import (
. "./example"
"fmt"
. "example"
)
func main() {

View File

@ -1,8 +1,9 @@
package main
import (
"./example"
"fmt"
"example"
)
func main() {

View File

@ -3,8 +3,9 @@
package main
import (
. "./example"
"fmt"
. "example"
)
func main() {

View File

@ -3,8 +3,9 @@
package main
import (
"./example"
"fmt"
"example"
)
func main() {

View File

@ -73,7 +73,18 @@ INCLUDES = -I$(abs_top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)
%.multicpptest:
$(setup)
+$(swig_and_compile_multi_cpp)
mkdir -p gopath/$*/src 2>/dev/null || true
if ! test -d gopath/$*/src/swigtests; then \
(cd gopath/$*/src && ln -s . swigtests); \
fi
+for f in `cat $(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/$*.list` ; do \
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' CXXSRCS='$(CXXSRCS)' \
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
LIBS='$(LIBS)' INCLUDES='$(INCLUDES)' SWIGOPT='$(SWIGOPT)' NOLINK=true \
TARGET="$(TARGETPREFIX)$${f}$(TARGETSUFFIX)" INTERFACEDIR='$(INTERFACEDIR)' INTERFACE="$$f.i" \
GOMOD="$*" \
$(LANGUAGE)$(VARIANT)_cpp; \
done
$(run_multi_testcase)
li_windows.cpptest:
@ -82,50 +93,55 @@ li_windows.cpptest:
multi_import.multicpptest:
$(setup)
mkdir -p gopath/multi_import/src 2>/dev/null || true
if ! test -d gopath/multi_import/src/swigtests; then \
(cd gopath/multi_import/src && ln -s . swigtests); \
fi
for f in multi_import_b multi_import_a; do \
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' CXXSRCS='$(CXXSRCS)' \
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
LIBS='$(LIBS)' INCLUDES='$(INCLUDES)' SWIGOPT='$(SWIGOPT)' NOLINK=true \
TARGET="$(TARGETPREFIX)$${f}$(TARGETSUFFIX)" INTERFACEDIR='$(INTERFACEDIR)' INTERFACE="$$f.i" \
GOMOD="multi_import" \
$(LANGUAGE)$(VARIANT)_cpp; \
done
$(run_multi_testcase)
go_subdir_import.multicpptest:
$(setup)
mkdir -p testdir/go_subdir_import/
mkdir -p gopath/src/testdir/go_subdir_import/
mkdir -p gopath/go_subdir_import/src 2>/dev/null || true
if ! test -d gopath/go_subdir_import/src/swigtests; then \
(cd gopath/go_subdir_import/src && ln -s . swigtests); \
fi
mkdir -p testdir/go_subdir_import 2>/dev/null || true
mkdir -p gopath/go_subdir_import/src/testdir/go_subdir_import 2>/dev/null || true
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' CXXSRCS='$(CXXSRCS)' \
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
LIBS='$(LIBS)' INTERFACEPATH='$(SRCDIR)$(INTERFACEDIR)go_subdir_import_b.i' \
INCLUDES='$(INCLUDES)' SWIGOPT='$(SWIGOPT) -outdir .' NOLINK=true \
TARGET='$(TARGETPREFIX)go_subdir_import_b$(TARGETSUFFIX)' INTERFACEDIR='$(INTERFACEDIR)' \
INTERFACE='testdir/go_subdir_import/go_subdir_import_b.i' \
GOMOD="go_subdir_import" \
$(LANGUAGE)$(VARIANT)_cpp;
for f in testdir/go_subdir_import/go_subdir_import_c go_subdir_import_a ; do \
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' CXXSRCS='$(CXXSRCS)' \
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
LIBS='$(LIBS)' INCLUDES='$(INCLUDES)' SWIGOPT='$(SWIGOPT)' NOLINK=true \
TARGET="$(TARGETPREFIX)$${f}$(TARGETSUFFIX)" INTERFACEDIR='$(INTERFACEDIR)' INTERFACE="$$f.i" \
GOMOD="go_subdir_import" \
$(LANGUAGE)$(VARIANT)_cpp; \
done
if $(GOGCC); then \
cp gopath/src/testdir/go_subdir_import/go_subdir_import_b/go_subdir_import_b.a gopath/src/testdir/go_subdir_import/go_subdir_import_b.gox; \
cp gopath/src/testdir/go_subdir_import/go_subdir_import_b/go_subdir_import_b.a .; \
cp gopath/src/testdir/go_subdir_import/go_subdir_import_c/go_subdir_import_c.a gopath/src/testdir/go_subdir_import/go_subdir_import_c.gox; \
cp gopath/src/testdir/go_subdir_import/go_subdir_import_c/go_subdir_import_c.a testdir/go_subdir_import/; \
fi
$(run_multi_testcase)
# Runs the testcase.
run_testcase = \
if test -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); then \
if $(GOGCC) ; then \
$(COMPILETOOL) $(GCCGO) -c -g -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GCCGO) -o $*_runme $(SCRIPTPREFIX)$*_runme.@OBJEXT@ $*.a; \
$(COMPILETOOL) $(GCCGO) -c -g -I gopath/src/$* $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GCCGO) -o $*_runme $(SCRIPTPREFIX)$*_runme.@OBJEXT@ gopath/src/$*/$*.a; \
elif $(GO12) || $(GO13) || $(GO15); then \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -linkmode external -extld $(CC) -extldflags "$(CFLAGS) $(OSXOLDGOLINKFLAGS)" -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I gopath/src/$* $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -L gopath/src/$* -linkmode external -extld $(CC) -extldflags "$(CFLAGS) $(OSXOLDGOLINKFLAGS)" -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
else \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -L . -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
@ -136,11 +152,11 @@ run_testcase = \
run_testcase_cpp = \
if test -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); then \
if $(GOGCC) ; then \
$(COMPILETOOL) $(GCCGO) -c -g -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GCCGO) -o $*_runme $(SCRIPTPREFIX)$*_runme.@OBJEXT@ $*.a -lstdc++; \
$(COMPILETOOL) $(GCCGO) -c -g -I gopath/src/$* $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GCCGO) -o $*_runme $(SCRIPTPREFIX)$*_runme.@OBJEXT@ gopath/src/$*/$*.a -lstdc++; \
elif $(GO12) || $(GO13) || $(GO15); then \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -linkmode external -extld $(CXX) -extldflags "$(CXXFLAGS) $(OSXOLDGOLINKFLAGS)" -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I gopath/src/$* $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -L gopath/src/$* -linkmode external -extld $(CXX) -extldflags "$(CXXFLAGS) $(OSXOLDGOLINKFLAGS)" -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
else \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -L . -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
@ -150,18 +166,24 @@ run_testcase_cpp = \
run_multi_testcase = \
if test -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); then \
if $(GOGCC) ; then \
$(COMPILETOOL) $(GCCGO) -c -g -I . -I gopath/src $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
if $(GO15) || $(GOGCC); then \
files=`cat $(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/$*.list`; \
$(COMPILETOOL) $(GCCGO) -o $*_runme $(SCRIPTPREFIX)$*_runme.@OBJEXT@ `for f in $$files; do echo $$f.a; done` -lstdc++; \
elif $(GO12) || $(GO13) || $(GO15); then \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -L . -linkmode external -extld $(CXX) -extldflags "$(CXXFLAGS) $(OSXOLDGOLINKFLAGS)" -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
else \
$(COMPILETOOL) $(GO) $(GOCOMPILEARG) -I . $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) && \
$(COMPILETOOL) $(GOTOOL) $(GOLD) -L . -r $${GOROOT:-`go env GOROOT`}/pkg/$${GOOS:-`go env GOOS`}_$${GOARCH:-`go env GOARCH`}:. -o $*_runme $(SCRIPTPREFIX)$*_runme.$(GOOBJEXT); \
fi && \
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) ./$*_runme; \
mkdir gopath/$*/src/$* 2>/dev/null || true; \
cp $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) gopath/$*/src/$*; \
GOPATH="`pwd`/gopath/$*"; \
export GOPATH; \
CGO_CPPFLAGS="$(CPPFLAGS) $(INCLUDES) `for f in $$files; do echo -I ../$$f; done`"; \
export CGO_CPPFLAGS; \
CGO_CFLAGS="$(CFLAGS)"; \
export CGO_CFLAGS; \
CGO_CXXFLAGS="$(CXXFLAGS)"; \
export CGO_CXXFLAGS; \
CGO_LDFLAGS="$(LDFLAGS) -lm"; \
export CGO_LDFLAGS; \
(cd gopath/$*/src/$* && \
$(GO) build `if $(GOGCC); then echo -compiler=gccgo; fi` -o ../../../../$*_runme) && \
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) ./$*_runme; \
fi; \
fi
%.clean:

View File

@ -1,6 +1,6 @@
package main
import "./abstract_access"
import "abstract_access"
func main() {
d := abstract_access.NewD()

View File

@ -1,6 +1,6 @@
package main
import "./abstract_typedef2"
import "abstract_typedef2"
func main() {
abstract_typedef2.NewA_UF()

View File

@ -1,6 +1,6 @@
package main
import "./abstract_typedef"
import "abstract_typedef"
func main() {
e := abstract_typedef.NewEngine()

View File

@ -1,6 +1,6 @@
package main
import "./abstract_virtual"
import "abstract_virtual"
func main() {
abstract_virtual.NewD()

View File

@ -1,6 +1,6 @@
package main
import wrap "./argout"
import wrap "argout"
func main() {
ip := wrap.New_intp()

View File

@ -1,6 +1,6 @@
package main
import . "./array_member"
import . "array_member"
func main() {
f := NewFoo()

View File

@ -1,6 +1,6 @@
package main
import . "./arrays_global"
import . "arrays_global"
func main() {
SetArray_i(GetArray_const_i())

View File

@ -1,6 +1,6 @@
package main
import . "./char_binary"
import . "char_binary"
func main() {
t := NewTest()

View File

@ -1,6 +1,6 @@
package main
import "./class_ignore"
import "class_ignore"
func main() {
a := class_ignore.NewBar()

View File

@ -1,6 +1,6 @@
package main
import "./class_scope_weird"
import "class_scope_weird"
func main() {
f := class_scope_weird.NewFoo()

View File

@ -1,6 +1,6 @@
package main
import . "./compactdefaultargs"
import . "compactdefaultargs"
func main() {
defaults1 := NewDefaults1(1000)

View File

@ -1,9 +1,10 @@
package main
import (
"./constover"
"fmt"
"os"
"constover"
)
func main() {

View File

@ -1,6 +1,6 @@
package main
import . "./constructor_copy"
import . "constructor_copy"
func main() {
f1 := NewFoo1(3)

View File

@ -1,6 +1,6 @@
package main
import "./contract"
import "contract"
func main() {
contract.Test_preassert(1, 2)

View File

@ -1,7 +1,7 @@
package main
import "fmt"
import . "./cpp11_strongly_typed_enumerations"
import . "cpp11_strongly_typed_enumerations"
func enumCheck(actual int, expected int) int {
if actual != expected {

View File

@ -1,6 +1,6 @@
package main
import "./cpp_enum"
import "cpp_enum"
func main() {
f := cpp_enum.NewFoo()

View File

@ -1,7 +1,7 @@
// Note: This example assumes that namespaces are flattened
package main
import "./cpp_namespace"
import "cpp_namespace"
func main() {
n := cpp_namespace.Fact(4)

View File

@ -1,6 +1,6 @@
package main
import . "./cpp_static"
import . "cpp_static"
func main() {
StaticFunctionTestStatic_func()

View File

@ -1,6 +1,6 @@
package main
import "./default_args"
import "default_args"
func main() {
if default_args.StaticsStaticmethod() != 60 {

View File

@ -1,6 +1,6 @@
package main
import dc "./default_constructor"
import dc "default_constructor"
func main() {
a := dc.NewA()

View File

@ -1,6 +1,6 @@
package main
import . "./director_alternating"
import . "director_alternating"
func main() {
id := GetBar().Id()

View File

@ -1,6 +1,6 @@
package main
import "./director_basic"
import "director_basic"
type GoFoo struct{}

View File

@ -1,7 +1,7 @@
package main
import "fmt"
import . "./director_classic"
import . "director_classic"
type TargetLangPerson struct{} // From Person
func (p *TargetLangPerson) Id() string {

View File

@ -1,6 +1,6 @@
package main
import . "./director_default"
import . "director_default"
func main() {
NewFoo()

View File

@ -1,6 +1,6 @@
package main
import "./director_detect"
import "director_detect"
type MyBar struct {
val int

View File

@ -1,6 +1,6 @@
package main
import "./director_enum"
import "director_enum"
type MyFoo struct{} // From director_enum.Foo
func (p *MyFoo) Say_hi(val director_enum.EnumDirectorHello) director_enum.EnumDirectorHello {

View File

@ -1,6 +1,6 @@
package main
import . "./director_exception"
import . "director_exception"
type Exception struct {
msg string

View File

@ -5,7 +5,7 @@
package main
import . "./director_extend"
import . "director_extend"
func main() {
m := NewSpObject()

View File

@ -1,6 +1,6 @@
package main
import . "./director_finalizer"
import . "director_finalizer"
type MyFoo struct{} // From Foo
func DeleteMyFoo(p Foo) {

View File

@ -1,6 +1,6 @@
package main
import . "./director_frob"
import . "director_frob"
func main() {
foo := NewBravo()

View File

@ -1,6 +1,6 @@
package main
import . "./director_nested"
import . "director_nested"
type A struct{} // From FooBar_int
func (p *A) Do_step() string {

View File

@ -1,7 +1,7 @@
package main
import "fmt"
import "./director_profile"
import "director_profile"
type MyB struct{} // From director_profile.B
func (p *MyB) Vfi(a int) int {

View File

@ -1,6 +1,6 @@
package main
import . "./director_protected"
import . "director_protected"
type FooBar struct{} // From Bar
func (p *FooBar) Ping() string {

View File

@ -1,6 +1,6 @@
package main
import . "./director_string"
import . "director_string"
type B struct { // From A
abi A

View File

@ -1,6 +1,6 @@
package main
import "./director_unroll"
import "director_unroll"
type MyFoo struct{} // From director_unroll.Foo
func (p *MyFoo) Ping() string {

View File

@ -1,6 +1,6 @@
package main
import . "./disown"
import . "disown"
func main() {
a := NewA()

View File

@ -1,6 +1,6 @@
package main
import "./dynamic_cast"
import "dynamic_cast"
func main() {
f := dynamic_cast.NewFoo()

View File

@ -1,6 +1,6 @@
package main
import _ "./empty_c"
import _ "empty_c"
func main() {
}

View File

@ -1,6 +1,6 @@
package main
import _ "./empty"
import _ "empty"
func main() {
}

View File

@ -1,6 +1,6 @@
package main
import "./enum_template"
import "enum_template"
func main() {
if enum_template.MakeETest() != 1 {

View File

@ -1,6 +1,6 @@
package main
import "./enums"
import "enums"
func main() {
enums.Bar2(1)

View File

@ -1,7 +1,7 @@
package main
import "strings"
import . "./exception_order"
import . "exception_order"
func main() {
a := NewA()

View File

@ -1,6 +1,6 @@
package main
import "./extend_placement"
import "extend_placement"
func main() {
foo := extend_placement.NewFoo()

View File

@ -1,6 +1,6 @@
package main
import . "./extend_template_ns"
import . "extend_template_ns"
func main() {
f := NewFoo_One()

View File

@ -1,6 +1,6 @@
package main
import "./extend_template"
import "extend_template"
func main() {
f := extend_template.NewFoo_0()

View File

@ -1,6 +1,6 @@
package main
import . "./extend_variable"
import . "extend_variable"
func main() {
if FooBar != 42 {

View File

@ -1,6 +1,6 @@
package main
import "./extern_c"
import "extern_c"
func main() {
extern_c.RealFunction(2)

View File

@ -1,6 +1,6 @@
package main
import "./friends"
import "friends"
func main() {
a := friends.NewA(2)

View File

@ -1,6 +1,6 @@
package main
import . "./fvirtual"
import . "fvirtual"
func main() {
sw := NewNodeSwitch()

View File

@ -1,6 +1,6 @@
package main
import . "./global_ns_arg"
import . "global_ns_arg"
func main() {
Foo(1)

View File

@ -1,7 +1,7 @@
package main
import (
wrap "./go_director_inout"
wrap "go_director_inout"
)
type GoMyClass struct {}

View File

@ -5,7 +5,7 @@ import (
"fmt"
"reflect"
"./go_inout"
"go_inout"
)
type S struct {

View File

@ -1,9 +1,9 @@
package main
import (
"go_subdir_import_a"
"testdir/go_subdir_import/go_subdir_import_b"
"testdir/go_subdir_import/go_subdir_import_c"
"swigtests/go_subdir_import_a"
"swigtests/testdir/go_subdir_import/go_subdir_import_b"
"swigtests/testdir/go_subdir_import/go_subdir_import_c"
)
func main() {

View File

@ -1,6 +1,6 @@
package main
import "./grouping"
import "grouping"
func main() {
x := grouping.Test1(42)

View File

@ -1,6 +1,6 @@
package main
import . "./import_nomodule"
import . "import_nomodule"
func main() {
f := Create_Foo()

View File

@ -2,8 +2,8 @@
package main
import "imports_b"
import "imports_a"
import "swigtests/imports_b"
import "swigtests/imports_a"
func main() {
x := imports_b.NewB()

View File

@ -1,6 +1,6 @@
package main
import "./inctest"
import "inctest"
func main() {
inctest.NewA()

View File

@ -1,6 +1,6 @@
package main
import wrap "./inherit_member"
import wrap "inherit_member"
func main() {
s := wrap.NewChild()

View File

@ -1,6 +1,6 @@
package main
import "./inherit_missing"
import "inherit_missing"
func main() {
a := inherit_missing.New_Foo()

View File

@ -1,6 +1,6 @@
package main
import . "./input"
import . "input"
func main() {
f := NewFoo()

View File

@ -1,6 +1,6 @@
package main
import "./keyword_rename_c"
import "keyword_rename_c"
func main() {
keyword_rename_c.Xgo(1)

View File

@ -1,6 +1,6 @@
package main
import "./keyword_rename"
import "keyword_rename"
func main() {
keyword_rename.Xgo(1)

View File

@ -1,6 +1,6 @@
package main
import "./li_attribute"
import "li_attribute"
func main() {
aa := li_attribute.NewA(1, 2, 3)

View File

@ -1,6 +1,6 @@
package main
import . "./li_carrays_cpp"
import . "li_carrays_cpp"
func main() {
d := NewDoubleArray(10)

View File

@ -1,6 +1,6 @@
package main
import . "./li_carrays"
import . "li_carrays"
func main() {
d := NewDoubleArray(10)

View File

@ -1,6 +1,6 @@
package main
import . "./li_cdata_cpp"
import . "li_cdata_cpp"
func main() {
s := "ABC abc"

View File

@ -1,6 +1,6 @@
package main
import . "./li_cdata"
import . "li_cdata"
func main() {
s := "ABC abc"

View File

@ -1,6 +1,6 @@
package main
import . "./li_cmalloc"
import . "li_cmalloc"
func main() {
p := Malloc_int()

View File

@ -1,6 +1,6 @@
package main
import . "./li_cpointer_cpp"
import . "li_cpointer_cpp"
func main() {
p := New_intp()

View File

@ -1,6 +1,6 @@
package main
import . "./li_cpointer"
import . "li_cpointer"
func main() {
p := New_intp()

View File

@ -1,6 +1,6 @@
package main
import "./li_std_map"
import "li_std_map"
func main() {
a1 := li_std_map.NewA(3)

View File

@ -1,6 +1,6 @@
package main
import . "./li_std_vector_ptr"
import . "li_std_vector_ptr"
import "fmt"
func check(val1 int, val2 int) {

View File

@ -3,7 +3,7 @@
package main
import "fmt"
import . "./member_pointer"
import . "member_pointer"
func check(what string, expected float64, actual float64) {
if expected != actual {

View File

@ -1,6 +1,6 @@
package main
import "./memberin_extend_c"
import "memberin_extend_c"
func main() {
t := memberin_extend_c.NewPerson()

View File

@ -1,7 +1,7 @@
package main
import "fmt"
import "./minherit"
import "minherit"
func main() {
a := minherit.NewFoo()

View File

@ -1,7 +1,7 @@
package main
import "mod_a"
import "mod_b"
import "swigtests/mod_a"
import "swigtests/mod_b"
func main() {
c := mod_b.NewC()

View File

@ -1,7 +1,7 @@
package main
import "multi_import_a"
import "multi_import_b"
import "swigtests/multi_import_a"
import "swigtests/multi_import_b"
func main() {
x := multi_import_b.NewXXX()

View File

@ -1,6 +1,6 @@
package main
import . "./namespace_class"
import . "namespace_class"
func main() {
EulerT3DToFrame(1, 1, 1)

View File

@ -1,6 +1,6 @@
package main
import . "./namespace_typemap"
import . "namespace_typemap"
func main() {
if Stest1("hello") != "hello" {

View File

@ -1,6 +1,6 @@
package main
import "./namespace_virtual_method"
import "namespace_virtual_method"
func main() {
_ = namespace_virtual_method.NewSpam()

View File

@ -1,6 +1,6 @@
package main
import . "./naturalvar"
import . "naturalvar"
func main() {
f := NewFoo()

View File

@ -1,6 +1,6 @@
package main
import . "./nested_workaround"
import . "nested_workaround"
func main() {
inner := NewInner(5)

View File

@ -1,6 +1,6 @@
package main
import . "./overload_complicated"
import . "overload_complicated"
func main() {
var pInt *int

View File

@ -1,6 +1,6 @@
package main
import . "./overload_copy"
import . "overload_copy"
func main() {
f := NewFoo()

Some files were not shown because too many files have changed in this diff Show More