Table of Contents
How to set up Blockly
This is more a installation scrapbook from the OOBD team themself as anything the normal developer need to be worried about, so just forget this page
Install emscripten
The package under Ubuntu 14.04 is too old (1.10), but we'll need 1.12.1 to have the fastcomp compiler active. The older version generates a 'undefined setjmp()' error
So download the actual SDK and build it locally.
Compile Luac as javascript binary
Download the actual lua archive (http://www.lua.org/ftp/). Keep in mind that OOBD (actual) still uses the older lua 5.1 system. Unpack the archive and do some modifications in the make files:
in main Makefile, add a new target (emcc):
# Convenience platforms targets. PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris emcc
In scr/Makefile
replace the gcc compiler against emcc
CC= emcc
make a note of the compiler flags, which are used (e.g. -O2 -Wall
), as they are used again later.
Make sure not to use the -DLUA_USE_POSIX directive, because it makes the compiler to use _setjmp/_longjmp instead a “normal” setjmp/longjmp, which fails later when you run the .js result….
comment the LIBS directive, as it seems not to be used and creates a warning
# LIBS= -lm $(MYLIBS)
creates a new target with only luac, but without lua itself
ALL_C= $(LUA_A) $(LUAC_T) comp: $(ALL_C)
Add the new defined target as emcc build target
emcc: $(MAKE) comp MYCFLAGS=
Start the build process
emmake make emcc
change into the source dir
cd src/
build luac.js
emcc -O2 -Wall -o luac.js luac.o print.o liblua.a
test it
nodejs luac.js
build html wrapper
emcc -o luac.html luac.o print.o liblua.a
and load it via local webserver (php -S localhost:8000
) into browser for testing
Create own blockly Content
cp blockly_compressed.js blockly_uncompressed.js lua_compressed.js ../web/blockly/