Libmraa compilation fix

Signed-off-by: Archil Pirmisashvili <kulipator@gmail.com>
Signed-off-by: RF-Networks <archil@rf-networks.com>
This commit is contained in:
RF-Networks 2019-11-10 21:02:14 +02:00
parent f496ed58d3
commit d029658323
2 changed files with 49 additions and 2 deletions

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libmraa
PKG_VERSION:=0.8.0
PKG_VERSION:=0.8.1
PKG_RELEASE=$(PKG_SOURCE_VERSION)
@ -17,7 +17,7 @@ PKG_SOURCE_URL:=https://github.com/intel-iot-devkit/mraa.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=70600dece4138b0c0dbaff42f57828f1559cd840
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=9cbda58e7c7790db3d62cee62f399975effcdc2d9688d3d6bb2b4a86748faff9
PKG_MIRROR_HASH:=049ba5fa9f2d18ac0ec6729c46916b34998d3c5f
PKG_BUILD_DEPENDS:=node python/host swig/host node/host
CMAKE_INSTALL:=1

View File

@ -0,0 +1,47 @@
--- a/src/javascript/mraajs.i
+++ b/src/javascript/mraajs.i
@@ -42,7 +42,13 @@ namespace mraa {
class Spi;
%typemap(out) uint8_t*
{
-%#if SWIG_V8_VERSION > 0x032870
+%#if SWIG_V8_VERSION > 0x040000
+ v8::MaybeLocal<v8::Object> objret = node::Buffer::Copy(v8::Isolate::GetCurrent(), (char*) result, arg3);
+ free(result);
+ if(!objret.ToLocal(&$result)){
+ SWIG_exception_fail(SWIG_ERROR, "Spi buffer failed");
+ }
+%#elif SWIG_V8_VERSION > 0x032870
$result = node::Buffer::New((char*) $1, arg3);
%#else
$result = node::Buffer::New((char*) $1, arg3)->handle_;
@@ -76,7 +82,13 @@ class Spi;
SWIG_exception_fail(SWIG_ERROR, "I2c write failed");
SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
-%#if SWIG_V8_VERSION > 0x032870
+%#if SWIG_V8_VERSION > 0x040000
+ v8::MaybeLocal<v8::Object> objret = node::Buffer::Copy(v8::Isolate::GetCurrent(), (char*) $1, result);
+ free($1);
+ if(!objret.ToLocal(&$result)) {
+ SWIG_exception_fail(SWIG_ERROR, "Uart buffer failed");
+ }
+%#elif SWIG_V8_VERSION > 0x032870
$result = node::Buffer::New((char*) $1, result);
%#else
$result = node::Buffer::New((char*) $1, result)->handle_;
@@ -105,7 +117,13 @@ class Spi;
SWIG_exception_fail(SWIG_ERROR, "I2c write failed");
SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
-%#if SWIG_V8_VERSION > 0x032870
+%#if SWIG_V8_VERSION > 0x040000
+ v8::MaybeLocal<v8::Object> objret = node::Buffer::Copy(v8::Isolate::GetCurrent(), (char*) $1, result);
+ free($1);
+ if(!objret.ToLocal(&$result)) {
+ SWIG_exception_fail(SWIG_ERROR, "I2c buffer failed");
+ }
+%#elif SWIG_V8_VERSION > 0x032870
$result = node::Buffer::New((char*) $1, result);
%#else
$result = node::Buffer::New((char*) $1, result)->handle_;