some wasm code
This commit is contained in:
parent
8e27a62a40
commit
dbe3c1cc07
20
moo/wasm/build.sh
Normal file
20
moo/wasm/build.sh
Normal file
@ -0,0 +1,20 @@
|
||||
# temporary build script.
|
||||
# must integrate the build process into automake
|
||||
|
||||
topdir=../../..
|
||||
blddir=${topdir}/bld/emcc
|
||||
|
||||
emcc -Wall -O2 -g \
|
||||
${blddir}/lib/.libs/libmoo.a \
|
||||
${topdir}/wasm/main.c \
|
||||
-DMOO_HAVE_CFG_H \
|
||||
-I${blddir}/lib \
|
||||
-I${topdir}/lib\
|
||||
-s WASM=1 -s LINKABLE=1 \
|
||||
-s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall','cwrap']" \
|
||||
-o libmoo.js \
|
||||
--pre-js ${topdir}/wasm/moo.cb.js
|
||||
|
||||
|
||||
cp -pf ${topdir}/wasm/moo.html .
|
||||
cp -pf ${topdir}/wasm/moo.worker.js .
|
@ -30,16 +30,25 @@ static moo_mmgr_t sys_mmgr =
|
||||
/* ========================================================================= */
|
||||
|
||||
extern void jsGetTime (moo_ntime_t* now);
|
||||
extern void jsSleep (const moo_ntime_t* now);
|
||||
|
||||
static void vm_gettime (moo_t* moo, moo_ntime_t* now)
|
||||
{
|
||||
jsGetTime(now);
|
||||
}
|
||||
static void vm_sleep (moo_t* moo, const moo_ntime_t* dur)
|
||||
{
|
||||
jsSleep (dur);
|
||||
}
|
||||
|
||||
|
||||
EMSCRIPTEN_KEEPALIVE int open_moo (void)
|
||||
{
|
||||
moo_ntime_t now;
|
||||
vm_gettime (NULL, &now);
|
||||
now.sec = 1;
|
||||
now.nsec = 500;
|
||||
vm_sleep (NULL, &now);
|
||||
return now.sec;
|
||||
#if 0
|
||||
moo_t* moo;
|
||||
|
@ -6,3 +6,17 @@ var _jsGetTime = function(pointer)
|
||||
HEAP32[pos] = Math.floor(now / 1000);
|
||||
HEAP32[pos + 1] = (now % 1000) * 1000000;
|
||||
}
|
||||
|
||||
var _jsSleep = function(pointer)
|
||||
{
|
||||
/*
|
||||
var pos = pointer / 4;
|
||||
var msec = (HEAP32[POS] * 1000) + (HEAP32[pos + 1] / 1000000);
|
||||
|
||||
var prom = new Promise(function (resolve, reject) {
|
||||
setTimeout (function() { resolve("xxxx"); }, msec);
|
||||
});
|
||||
|
||||
await prom;
|
||||
*/
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user