Tests/Examples for the use case of splitting the wrapper.
Half of the wrapper in a package and 1/2 is global.
This commit is contained in:
parent
260501c45f
commit
3a459b3f27
24 changed files with 208 additions and 0 deletions
25
Examples/python/import_packages/split_wrapper/Makefile
Normal file
25
Examples/python/import_packages/split_wrapper/Makefile
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
TOP = ../../..
|
||||||
|
LIBS =
|
||||||
|
|
||||||
|
subdirs = builtin vanilla builtin_split vanilla_split
|
||||||
|
|
||||||
|
check: build
|
||||||
|
for s in $(subdirs); do \
|
||||||
|
(cd $$s && $(MAKE) check); \
|
||||||
|
done
|
||||||
|
|
||||||
|
build:
|
||||||
|
for s in $(subdirs); do \
|
||||||
|
(cd $$s && $(MAKE) SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' build); \
|
||||||
|
done
|
||||||
|
|
||||||
|
static:
|
||||||
|
for s in $(subdirs); do \
|
||||||
|
(cd $$s && $(MAKE) SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' static); \
|
||||||
|
done
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_clean
|
||||||
|
for s in $(subdirs); do \
|
||||||
|
(cd $$s && $(MAKE) clean); \
|
||||||
|
done
|
||||||
14
Examples/python/import_packages/split_wrapper/README
Normal file
14
Examples/python/import_packages/split_wrapper/README
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
These examples/tests are for when the swig generated wrapper module is split
|
||||||
|
between two packages. Specifically the pure python part is part of a package
|
||||||
|
and the C/C++ part is not in any package at all. Historically swig has
|
||||||
|
supported this sort of thing.
|
||||||
|
|
||||||
|
|
||||||
|
The -builtin option is tested as well because additional import code
|
||||||
|
is generated by swig when it is used. The builtin tests are for this
|
||||||
|
additional code in the python wrappers.
|
||||||
|
|
||||||
|
vanilla # "plane Jane" module both halves in pkg1
|
||||||
|
vanilla_split # python 1/2 in pkg1 C 1/2 in global namespace
|
||||||
|
builtin # both halves in pkg1 (-builtin passed to swig)
|
||||||
|
builtin # python 1/2 in pkg1 C 1/2 in global namespace (with -builtin)
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
TOP = ../../../..
|
||||||
|
SWIGEXE = $(TOP)/../swig
|
||||||
|
SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib
|
||||||
|
SWIGOPT =
|
||||||
|
LIBS =
|
||||||
|
|
||||||
|
check: build
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_run
|
||||||
|
|
||||||
|
build:
|
||||||
|
cd pkg1 && $(MAKE) build
|
||||||
|
|
||||||
|
static:
|
||||||
|
cd pkg1 && $(MAKE) static
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
cd pkg1 && $(MAKE) -f $(TOP)/../Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
TOP = ../../../../..
|
||||||
|
SWIGEXE = $(TOP)/../swig
|
||||||
|
SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib
|
||||||
|
SWIGOPT = -builtin
|
||||||
|
LIBS =
|
||||||
|
|
||||||
|
build:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
||||||
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
||||||
|
SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp
|
||||||
|
|
||||||
|
static:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
||||||
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
||||||
|
SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp_static
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
%module(package="pkg1") foo
|
||||||
|
%{
|
||||||
|
static unsigned count(void)
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
|
||||||
|
unsigned count(void);
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
import pkg1.foo
|
||||||
|
|
||||||
|
assert(pkg1.foo.count() == 3)
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
TOP = ../../../..
|
||||||
|
SWIGEXE = $(TOP)/../swig
|
||||||
|
SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib
|
||||||
|
SWIGOPT = -builtin -outdir pkg1
|
||||||
|
LIBS =
|
||||||
|
|
||||||
|
check: build
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_run
|
||||||
|
|
||||||
|
build:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
||||||
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
||||||
|
SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp
|
||||||
|
|
||||||
|
static:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
||||||
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
||||||
|
SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp_static
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
cd pkg1 && $(MAKE) -f $(TOP)/../Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
%module(package="pkg1") foo
|
||||||
|
%{
|
||||||
|
static unsigned count(void)
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
|
||||||
|
unsigned count(void);
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
import pkg1.foo
|
||||||
|
|
||||||
|
assert(pkg1.foo.count() == 3)
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
TOP = ../../../..
|
||||||
|
SWIGEXE = $(TOP)/../swig
|
||||||
|
SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib
|
||||||
|
SWIGOPT =
|
||||||
|
LIBS =
|
||||||
|
|
||||||
|
check: build
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_run
|
||||||
|
|
||||||
|
build:
|
||||||
|
cd pkg1 && $(MAKE) build
|
||||||
|
|
||||||
|
static:
|
||||||
|
cd pkg1 && $(MAKE) static
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
cd pkg1 && $(MAKE) -f $(TOP)/../Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
TOP = ../../../../..
|
||||||
|
SWIGEXE = $(TOP)/../swig
|
||||||
|
SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib
|
||||||
|
SWIGOPT =
|
||||||
|
LIBS =
|
||||||
|
|
||||||
|
build:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
||||||
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
||||||
|
SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp
|
||||||
|
|
||||||
|
static:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
||||||
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
||||||
|
SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp_static
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
%module(package="pkg1") foo
|
||||||
|
%{
|
||||||
|
static unsigned count(void)
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
|
||||||
|
unsigned count(void);
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
import pkg1.foo
|
||||||
|
|
||||||
|
assert(pkg1.foo.count() == 3)
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
TOP = ../../../..
|
||||||
|
SWIGEXE = $(TOP)/../swig
|
||||||
|
SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib
|
||||||
|
SWIGOPT = -outdir pkg1
|
||||||
|
LIBS =
|
||||||
|
|
||||||
|
check: build
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' python_run
|
||||||
|
|
||||||
|
build:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
||||||
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
||||||
|
SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp
|
||||||
|
|
||||||
|
static:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' \
|
||||||
|
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
||||||
|
SWIGOPT='$(SWIGOPT)' LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp_static
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
cd pkg1 && $(MAKE) -f $(TOP)/../Makefile SRCDIR='$(SRCDIR)' TARGET='foo' python_clean
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
%module(package="pkg1") foo
|
||||||
|
%{
|
||||||
|
static unsigned count(void)
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
|
||||||
|
unsigned count(void);
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
import pkg1.foo
|
||||||
|
|
||||||
|
assert(pkg1.foo.count() == 3)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue