-
Notifications
You must be signed in to change notification settings - Fork 1
Fork of gnucap for compatability with Emscripten.
License
logical/Gnucap-Emscripten
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published