User Tools

Site Tools


doc:dev_blockly

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:dev_blockly [2014/11/01 18:59] admindoc:dev_blockly [2015/01/03 18:30] admin
Line 2: Line 2:
  
  
-This is more a maintaince handbook for the OOBD team themself as anything the normal developer need to be worried about, so just forget this page+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 :-)
  
-Download the [[http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html#sdk-downloads|emscripten- Package]] and install in ~/bin by following the instructions. Make sure to install the other listed programs (cmake,nodejs,..)  first (clang and llvm is not listed as needed,please install this too) 
  
-Install your own llvm versionas the original ubuntu version is not build with javascript support+===== 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 
  
-svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm , following http://llvm.org/docs/GettingStarted.html#setting-up-your-environment+So download the [[http://kripken.github.io/emscripten-site/docs/building_from_source/building_emscripten_from_source_using_the_sdk.html#building-emscripten-from-source-using-the-sdk|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
doc/dev_blockly.txt · Last modified: 2015/01/04 15:09 by admin