SWIG uses SWIG_V8_VERSION made of
0x0${V8_VERSION_MAJOR}${V8_VERSION_MINOR}${V8_VERSION_PATCH}. Because newer v8
versions don't seem to have a patch version that is padded the version string
ends up too small ending with using the node.js 0.10.x paths. This fix pads the
version string to 8chars which (we assume) is always correct. Fixes#358
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
API changes in V8 API mean that node.js 4 needs some changes both in mraajs.i
but also require a C++11 compiler
Signed-off-by: Eugene Bolshakov <pub@relvarsoft.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This means that the correct libraries are added when mraa_LIBS is appended,
fixes ft4222 handling with SWIG APIs
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
NPM builds don't support cross compiling and will always compile for the host.
Binding.gyp now uses mraa_NPM_SRCS instead of mraa_LIB_SRCS_NOAUTO which
contains all platforms. Cmake now uses mraa_LIB_PLAT_SRCS_NOAUTO to provide all
the sources. NPM builds will build objects for all platforms reguardless of
space which does meann slightly bigger binaries.
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
These files are required when building docs for python but are never used for
the node.js module
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This introduces FindNodes.cmake which finds the v8 version and the nodejs
interp version and passes the information to SWIG via SWIG_V8_VERSION
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit adds isr support to node.js mraa module, it also forces
SWIGJAVASCRIPT to be set at compile time by cmake (SWIG uses SWIGJAVASCRIPT and
not SWIGNODE in it's preprocessor). This uses libuv uv_queue_work to call v8isr
and is all done at a C++ level unlike the python isr, so this reuses the
mraa_gpio_isr call. This closes#110
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit adds all the infrastructure necessary for doing node-gyp builds of
mraa. Note this will only build the mraa js bindings and will dirty your git
tree whilst doing it. It also assumes the user does not have SWIG installed on
their machines and so the swig wrapper is static. The target to use this
feature is 'npmpkg'.
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
* Removed all C++ code and renamed all .cxx extensions to .c
* All functions are renamed to maa_ and modules are for example called maa_pwm
* Cmake can now 'make doc' using a Doxyfile.in to create documentation
* examples/ have been updated but swig generated API is untested
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
* API headers moved to api/
* smbus file added from libi2c and kernel i2c header cleaned up
* fix compilation of swig and use i2c.h header
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>