Private
Public Access
2
0
Commit Graph

81 Commits

Author SHA1 Message Date
Nicolas Oliver
e9d1b1ef28 docs: add additional validation for doc tools version
Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2017-10-04 13:18:39 +02:00
Nicolas Oliver
c6d49f6255 src/javascript/CMakeLists.txt: codestyle update for yuidoc task
Signed-off-by: Nicolas Oliver dario.n.oliver@intel.com
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2017-10-04 13:18:39 +02:00
Nicolas Oliver
3f3f657887 docs: require specific version of doc tools
Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2017-10-04 13:18:39 +02:00
Brendan Le Foll
e2f964a280 swig: use swig_add_modules if cmake > 3.7
swig_add_module has been deprecated

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2017-09-06 11:11:10 +02:00
Nicolas Oliver
e0a1862ce3 Travis CI and Documentation Generation improvements
* Use docker images from docker hub instead of building them on Travis
* Fix doxygen warnings for C/C++ Documentation
* Fix examples inclusion in documentation
* Modify Travis build matrix to include stages and additional jobs
* Update doxygen2jsdoc submodule
* Add doxyport submodule
* Generate documentation for each language in Travis
* Add sonar.java.binaries to sonar-scan.sh

Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com>
2017-08-10 10:47:11 -03:00
Nicolas Oliver
79da382832 travis: migrate travis plans to run in a Docker container
Add Dockerfile to create build environment for mraa
Add docker-compose.yaml file to easily execute build tasks
Add .dockerignore file
Modify .travis.yaml file to use docker and docker-compose for building
Modify package.json.cmake to run a simple load test for node.js

Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2017-05-31 17:17:39 +02:00
Brendan Le Foll
68e9399c4c cmake: use TARGETS instead of FILES for js module install
This strips the local RPATH when doing a `make install` rather than running
from the build/ dir

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-11-23 17:59:04 +00:00
Brendan Le Foll
ae127b19a5 binding.gyp.cmake: Use node or nodejs depending on what the binary is called
This should fix npm builds on some recent ubuntu and debian images

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-11-03 15:24:47 +00:00
Brendan Le Foll
49ee1ebef5 Revert "binding.gyp.cmake: Fix npm builds by stopping dependency on json-c"
This reverts commit 50213f97bc. This sets
JSONPLAT during compilation and doesn't disable it during cmake's configure
process which is done by jenkins. This means that mraa_init_platform_json never
gets define since it's under an #ifndef
2016-08-10 09:17:48 +01:00
Brendan Le Foll
50213f97bc binding.gyp.cmake: Fix npm builds by stopping dependency on json-c
This disables JSONPLAT but means we can build on stuff without json-c

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-08-03 16:49:30 +01:00
Robert Chiras
cdfdd2b9e3 Add support for android build
Using NPM, this module can be cross-compiled for Android using NDK.
But, when compiling for Android, we need to add glob.c to source files
(as in Android.mk).
Also, re-arranged the layout in binding.gyp for better readability.

Signed-off-by: Robert Chiras <robert.chiras@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-04-25 11:48:38 +01:00
Brendan Le Foll
4a52ad6c4f uart_ow: Make onewire functionality optional but on by default
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-04-14 13:52:09 +01:00
Fathi Boudra
e1c500414b docs: fix spelling errors
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-04-11 15:13:06 +01:00
Thomas Ingleby
faa8d4d3d4 npm: remove imraa option from Node module
Signed-off-by: Thomas Ingleby <thomas.ingleby@intel.com>
2016-03-28 17:06:18 +02:00
Noel Eck
14de175425 mraajs: Allow user to override node module install path.
Currently, node modules install under the current environment's
node install path.  This happens even if cmake is passed a
CMAKE_INSTALL_PREFIX.

This change checks if a CMAKE_INSTALL_PREFIX has been provided,
in which case it prepens the install path to the NODE_MODULE_INSTALL_PATH.
If a CMAKE_INSTALL_PREFIX has NOT been provided, the the mraa node
modules get install according to the NODE_ROOT_DIR.

This fixes a problem with an install case where the caller does not
have write access to the NODE_ROOT_DIR.

Signed-off-by: Noel Eck <noel.eck@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-03-24 09:04:54 +00:00
Brendan Le Foll
63a29e92ea npm: add firmata & imraa support to npm
mraa_LIB_PLAT_SRCS_NOAUTO no longer used for firmata unlike USBPLAT but
mraa_LIB_SRCS_NOAUTO and this is now loaded before the standard src files for
mraa. The package still needs to be generated with IMRAA & FIRMATA enabled for
this to work.

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-03-23 17:00:44 +00:00
Brendan Le Foll
a17079c460 firmata: install node_modules to where cmake guessed node was
This does now mean that modules won't go to /usr/local with the default prefix
but may instead try to install in /usr/lib. However if using nvm they should go
to the right place as long as NODE_ROOT_DIR is set correctly. This commit
changes NODE_ROOT_DIR to actually refer to the root directory of node rather
than the include dir which is what FindNodejs gets

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-03-22 18:12:30 +00:00
Brendan Le Foll
5789f5001d javascript/CMakeLists.txt: change SEND_ERROR for workaround to WARNING
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-03-22 18:12:30 +00:00
Brendan Le Foll
edd554b606 cmake: Fix message handling
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-03-22 18:12:29 +00:00
Brendan Le Foll
168764481a cmake: Use correct message modes
INFO is not a valid cmake message mode, this commit cleans up a few messages to
use the correct cmake modes

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-03-22 18:12:29 +00:00
Henry Bruce
65dc2e7ea3 javascript: Print message on stderr if mraa_init() fails
We should throw exception but SWIG_Error causes a seg fault.
We should use syslog instead of stderr but syslog.h is not swigable

Signed-off-by: Henry Bruce <henry.bruce@intel.com>
2016-03-22 18:04:57 +00:00
Henry Bruce
0633cd4145 javascript: Updated cmake so that mraa.node dynamically links to libmraa
mraa.node was statically linking to mraa object files causing duplicate
mraa platform instances if a upm node.js module was also loaded.

Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-03-22 18:04:57 +00:00
Henry Bruce
3924070171 nodejs: Updated FindNodejs.cmake so exported variables match package name
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-01-28 14:21:20 +00:00
Henry Bruce
ff31d6763c nodejs: cmake updates to more thoroughly check Node.js configuration
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-01-28 14:21:05 +00:00
Eugene Bolshakov
2e5e3eaea2 mraajs: Check for CMAKE version > 3.1 or use workaround
Older cmake versions don't support the CXX_STANDARD property. Remove doubled
CMAKE_CXX_FLAGS in mraajs COMPILE_FLAGS

Closes #411

Signed-off-by: Eugene Bolshakov <pub@relvarsoft.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-01-24 16:56:41 +00:00
Brendan Le Foll
c2681dc78c binding.gyp.cmake: Fix npm builds for node 0.12.x
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-01-11 17:54:27 +00:00
Eugene Bolshakov
ff6b304fd2 mraajs.i: fixes and remove useless code
Uses ::Copy instead of ::New which creates an internal buffer with malloc. This
commit also removes some useless code done after exception is raised (so won't
ever be executed)

Signed-off-by: Eugene Bolshakov <pub@relvarsoft.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-01-04 15:08:10 +00:00
Brendan Le Foll
80024ff184 javascript: Fix build for nodejs v5 which has smaller version string
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>
2015-11-11 13:47:43 +00:00
xbolshe
63ff901674 JavaScript SPI.write output correction #2
Closes #330.

Signed-off-by: Eugene Bolshakov <pub@relvarsoft.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-10-26 15:36:20 +00:00
xbolshe
f9af006c97 JavaScript SPI.write output correction
Signed-off-by: Eugene Bolshakov <pub@relvarsoft.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-10-26 15:35:31 +00:00
xbolshe
3059c06fa0 javascript: Add nodejs 4.1.1 support
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>
2015-10-03 17:36:54 +01:00
Brendan Le Foll
eb5a3ac5d2 cmake: add ${mraa_LIBS} to linker for swig libraries
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>
2015-09-08 14:42:04 +01:00
Brendan Le Foll
dc6a585991 binding.gyp.cmake: Fix npm builds for ia32 node.js 0.10.x
Node.js 0.10.x seems to struggle with the 'or' directive. Fixes #272

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-09-07 10:54:17 +01:00
Brendan Le Foll
9c0753cb18 npm: Fix npm builds for ARM hosts
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>
2015-07-24 14:04:48 +01:00
Brendan Le Foll
4698d18fa1 mraajs.i: Fix memory leak on javascript Spi::write
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-02 19:06:59 +01:00
Brendan Le Foll
2cb32f791c binding.gyp.cmake: fix compilation when not setting target_arch
NPM package now only builds x86 builds, but for npm those are the only ones
that have ever worked due to a rework of the cmake code generating the
binding.gyp file is required

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-06-03 14:51:13 +01:00
Brendan Le Foll
21355d4bb5 mraajs.i: Use 0x032870 as SWIG_V8_VERSION to distinguish node.js 0.12.x
This fixes compilation with node.js 0.12.4

Closes #211

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-06-01 17:37:35 +01:00
Brendan Le Foll
d4968b6b81 doxygen2jsdoc: add custom typemap file
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-06-01 15:24:23 +01:00
Brendan Le Foll
d6b33a9cbf cmake: add yuidoc documentation generation
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-06-01 15:16:42 +01:00
Brendan Le Foll
e0ce5454bd uart: move string funcs to {read,write}Str
This commit adds raw binary read/write functions using the same typemaps as I2c
functions

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-06-01 10:58:11 +01:00
Brendan Le Foll
55533ed8c1 mraajs.i: add buffer checks to python write() typemaps in Spi & I2c
Previously anything passed to an I2c::write() or Spi::write() function in
node.js that wasn't a node::Buffer or an object would likely cause a segfault
later on during future calls. This change calls node::Buffer::HasInstance(obj)
to make sure the buffer is valid prior to grabbing it's data

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-05-20 11:16:18 +01:00
Alexander Komarov
4302f0d0c3 java: Added Java SWIG binding creation
%init directive is not supported in java so move %init to js/py interface files

Signed-off-by: Alexander Komarov <alexander.komarov@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-04-24 12:12:11 +01:00
Brendan Le Foll
6aa601cd1d javascript/CMakeLists.txt: stop requiring doc_i files for node.js
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>
2015-04-02 14:01:06 +01:00
Brendan Le Foll
2174ee1673 package.json.cmake: use 0.10.x is the minimum version to compile
Note that if you compile a 0.12.x version it'll still have 0.10.x as a min req
but will likely not work with a 0.10.x interpreter

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-19 18:26:06 +00:00
Brendan Le Foll
c1ac6f1928 binding.gyp.cmake: get v8 version from node and export to c++ compiler
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-19 18:26:06 +00:00
Brendan Le Foll
35d1dc10c7 mraajs.i: use SWIG_V8_VERSION from C++ preprocessor not swig
SWIG's preprocessor will not handle the SWIG_V8_VERSION these will go in the
wrapper code so that someone compiling with npm will use his version of node

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-19 18:26:06 +00:00
Brendan Le Foll
f0b3035337 package.json.cmake: create node version specific package.json
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-19 18:26:05 +00:00
Brendan Le Foll
128f0a22da nodejs: add infra to detect nodejs version
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>
2015-03-19 18:26:05 +00:00
Brendan Le Foll
824618ccf1 mraajs: update for node.js 0.12 API differences
This requires setting #define SWIG_V8_VERSION 0x032873 in the
mraajsJAVASCRIPT_wrap.cxx file. Note most v8 APIs now require v8::Isolate and
v8::Persistent is no longer a v8::Handle so the gpio.hpp for ISR support is
also modified by this change

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-19 18:26:05 +00:00
Brendan Le Foll
008184c305 nodejs: Add isr support to node.js
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>
2015-02-18 16:41:01 +00:00