Allow examples and test-suite to be built out of source tree

- Examples/Makefile.in rules use SRCDIR as the relative source directory

- ./config.status replicates Examples/ source directory tree in build
  directory, and copies each Makefile to build directory, prefixed with
  a header which sets SRCDIR to source directory

- Examples/test-suite/.../Makefile.in set SRCDIR from Autoconf-set srcdir

- Examples/test-suite/errors/Makefile.in needs to filter out source
  directory from SWIG error messages

- Lua: embedded interpreters are passed location of run-time test

- Python: copy run-time scripts to build directory because of 2to3
  conversion; import_packages example copies __init__.py from source
  directory; test-suite sets SCRIPTDIR to location of run-time tests

- Javascript: binding.gyp renamed to binding.gyp.in so that $srcdir
  can be substituted with SRCDIR; removed './' from require() statements
  so that NODE_PATH can be used to point Node.js to build directory
This commit is contained in:
Karl Wette 2014-05-11 23:21:10 +02:00
commit f574a34155
420 changed files with 1772 additions and 1510 deletions

View file

@ -1,3 +1,3 @@
SRCS = example.cxx
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example.cxx", "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "$srcdir/example.cxx", "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
// ----- Object creation -----

View file

@ -1,3 +1,3 @@
SRCS =
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
console.log("ICONST = " + example.ICONST + " (should be 42)");
console.log("FCONST = " + example.FCONST + " (should be 2.1828)");

View file

@ -1,3 +1,3 @@
SRCS = example.cxx
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example.cxx", "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "$srcdir/example.cxx", "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
// ----- Object creation -----

View file

@ -15,13 +15,13 @@ INTERFACE = example.i
SWIGOPT=-$(JSENGINE)
check: build
$(MAKE) -f $(EXAMPLES_TOP)/Makefile JSENGINE='$(JSENGINE)' TARGET='$(TARGET)' javascript_run
$(MAKE) -f $(EXAMPLES_TOP)/Makefile SRCDIR='$(SRCDIR)' JSENGINE='$(JSENGINE)' TARGET='$(TARGET)' javascript_run
build:
$(MAKE) -f $(EXAMPLES_TOP)/Makefile CXXSRCS='$(SRCS)' SWIG='$(SWIG)' \
$(MAKE) -f $(EXAMPLES_TOP)/Makefile SRCDIR='$(SRCDIR)' CXXSRCS='$(SRCS)' SWIG='$(SWIG)' \
SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' javascript_wrapper_cpp
$(MAKE) -f $(EXAMPLES_TOP)/Makefile CXXSRCS='$(SRCS)' SWIG='$(SWIG)' \
$(MAKE) -f $(EXAMPLES_TOP)/Makefile SRCDIR='$(SRCDIR)' CXXSRCS='$(SRCS)' SWIG='$(SWIG)' \
SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' JSENGINE='$(JSENGINE)' javascript_build_cpp
clean:
$(MAKE) -f $(EXAMPLES_TOP)/Makefile javascript_clean
$(MAKE) -f $(EXAMPLES_TOP)/Makefile SRCDIR='$(SRCDIR)' javascript_clean

View file

@ -1,3 +1,3 @@
SRCS = example.cxx
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -2,7 +2,8 @@
"targets": [
{
"target_name": "example",
"sources": [ "example.cxx", "example_wrap.cxx" ],
"sources": [ "$srcdir/example.cxx", "example_wrap.cxx" ],
"include_dirs": ["$srcdir"],
'defines': [
'BUILDING_NODE_EXTENSION=1',
],

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
console.log("Trying to catch some exceptions.");
t = new example.Test();

View file

@ -1,3 +1,3 @@
SRCS = example.cxx
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example.cxx", "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "$srcdir/example.cxx", "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
a = new example.intSum(0);
b = new example.doubleSum(100.0);

View file

@ -1,3 +1,3 @@
SRCS =
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -3,7 +3,7 @@
// This file illustrates class C++ interface generated
// by SWIG.
var example = require("./example");
var example = require("example");
// Calling a module function ( aka global function )
if (example.module_function() !== 7) {

View file

@ -1,3 +1,3 @@
SRCS =
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
a = new example.Complex(2,3);
b = new example.Complex(-5,10);

View file

@ -1,3 +1,3 @@
SRCS =
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
example.f();
example.f(1);

View file

@ -1,3 +1,3 @@
SRCS = example.cxx
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example.cxx", "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "$srcdir/example.cxx", "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
// First create some objects using the pointer library.
console.log("Testing the pointer library");

View file

@ -1,3 +1,3 @@
SRCS = example.cxx
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example.cxx", "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "$srcdir/example.cxx", "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,5 +1,5 @@
// This file illustrates the manipulation of C++ references in Javascript.
var example = require("./example");
var example = require("example");
// ----- Object creation -----

View file

@ -1,3 +1,3 @@
SRCS = example.cxx
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example.cxx", "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "$srcdir/example.cxx", "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
/* Call our gcd() function */

View file

@ -1,3 +1,3 @@
SRCS =
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
//Call some templated functions
console.log(example.maxint(3,7));

View file

@ -1,3 +1,3 @@
SRCS = example.cxx
include ../example.mk
include $(SRCDIR)../example.mk

View file

@ -1,8 +0,0 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "example.cxx", "example_wrap.cxx" ]
}
]
}

View file

@ -0,0 +1,9 @@
{
"targets": [
{
"target_name": "example",
"sources": [ "$srcdir/example.cxx", "example_wrap.cxx" ],
"include_dirs": ["$srcdir"]
}
]
}

View file

@ -1 +1 @@
module.exports = require("./build/Release/example");
module.exports = require("build/Release/example");

View file

@ -1,4 +1,4 @@
var example = require("./example");
var example = require("example");
// Try to set the values of some global variables
example.ivar = 42;