Skip to content

logical/Gnucap-Emscripten

Repository files navigation

Readme for development snapshot 2013-04-23

This is a development snapshot.  As such, there may be problems due to
new work.

This snapshot splits the code into sections "lib", "apps", "main".

"main" is a simple main program "gnucap" that dynamically links to
libgnucap.

"lib" is the core library "libgnucap.so", required for all programs in
the gnucap collection.  This library can also be used with different
front-ends, possibly in other languages.

"apps" is a set of plugins that are loaded by default.  It builds
"libgnucap-default-plugins.so".  The ".cc" files here are mostly
independent of each other.  To add or remove one of them from the
build, just edit "Make1" and recompile.  Alternatively, any of them
can be extracted and built separately.

"modelgen" is the old model compiler, which now links to libgnucap.so.


EMSCRIPTEN COMPILE
-----

THE BUILD IS WORKING BUT STILL IN TESTING.

The result is only 3.1Mb(the original was 4Mb).In order to get it to compile I had to make a few modifications. Emscripten does not do well with dynamic loading.The plugins contain namespaces that are supposed to load objects dynamically but would not work with Emscripten because they either would not load or loaded in the wrong order. to fix the problem I wrapped the DISPATCHER objects in a function and made them static. Then I had to call them in the correct order for all the plugins to load. To remove plugins you have to do 3 things:

1. Remove the function call in apps/defualt_plugins.cc.
2. Remove the function definition in include/default_plugins.h.
3. Remove the function name from the makefile in the APPFILES list.
 

 
 make javascript
 
 
 
:)

About

Fork of gnucap for compatability with Emscripten.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •