diff options
Diffstat (limited to 'src/settings.js')
-rw-r--r-- | src/settings.js | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/settings.js b/src/settings.js index bb4d0f27..16c28529 100644 --- a/src/settings.js +++ b/src/settings.js @@ -26,6 +26,7 @@ var ASSERTIONS = 1; // Whether we should add runtime assertions, for example to // exceed it's size, whether all allocations (stack and static) are // of positive size, etc., whether we should throw if we encounter a bad __label__, i.e., // if code flow runs into a fault +var VERBOSE = 0; // When set to 1, will generate more verbose output during compilation. var INVOKE_RUN = 1; // Whether we will call run(). Disable if you embed the generated // code in your own, and will call run() yourself at the right time @@ -67,6 +68,8 @@ var DOUBLE_MODE = 1; // How to load and store 64-bit doubles. Without typed arra // then load it aligned, and that load-store will make JS engines alter it if it is being // stored to a typed array for security reasons. That will 'fix' the number from being a // NaN or an infinite number. +var PRECISE_I64_MATH = 1; // If enabled, i64 addition etc. is emulated - which is slow but precise. If disabled, + // we use the 'double trick' which is fast but incurs rounding at high values. var CLOSURE_ANNOTATIONS = 0; // If set, the generated code will be annotated for the closure // compiler. This potentially lets closure optimize the code better. @@ -98,7 +101,14 @@ var SAFE_HEAP_LOG = 0; // Log out all SAFE_HEAP operations var LABEL_DEBUG = 0; // Print out labels and functions as we enter them var EXCEPTION_DEBUG = 1; // Print out exceptions in emscriptened code -var LIBRARY_DEBUG = 0; // Print out when we enter a library call (library*.js) + +var LIBRARY_DEBUG = 0; // Print out when we enter a library call (library*.js). You can also unset + // Runtime.debug at runtime for logging to cease, and can set it when you + // want it back. A simple way to set it in C++ is + // emscripten_run_script("Runtime.debug = ...;"); +var GL_DEBUG = 0; // Print out all calls into WebGL. As with LIBRARY_DEBUG, you can set a runtime + // option, in this case GL.debug. + var DISABLE_EXCEPTION_CATCHING = 0; // Disables generating code to actually catch exceptions. If the code you // are compiling does not actually rely on catching exceptions (but the // compiler generates code for it, maybe because of stdlibc++ stuff), @@ -136,6 +146,9 @@ var CORRECT_OVERFLOWS = 1; // Experimental code that tries to prevent unexpected var CORRECT_ROUNDINGS = 1; // C rounds to 0 (-5.5 to -5, +5.5 to 5), while JS has no direct way to do that: // Math.floor is to negative, ceil to positive. With CORRECT_ROUNDINGS, // we will do slow but correct C rounding operations. +var FS_LOG = 0; // Log all FS operations. This is especially helpful when you're porting + // a new project and want to see a list of file system operations happening + // so that you can create a virtual file system with all of the required files. var PGO = 0; // Profile-guided optimization. // When run with the CHECK_* options, will not fail on errors. Instead, will @@ -201,6 +214,16 @@ var FAKE_X86_FP80 = 1; // Replaces x86_fp80 with double. This loses precision. I // if you can, to get the original source code to build without x86_fp80 // (which is nonportable anyhow). +var GC_SUPPORT = 1; // Enables GC, see gc.h (this does not add overhead, so it is on by default) + +var WARN_ON_UNDEFINED_SYMBOLS = 0; // If set to 1, we will warn on any undefined symbols that + // are not resolved by the library_*.js files. We by default + // do not warn because (1) it is normal in large projects to + // not implement everything, when you know what is not + // going to actually be called (and don't want to mess with + // the existing buildsystem), and (2) functions might be + // implemented later on, say in --pre-js + // Compiler debugging options var DEBUG_TAGS_SHOWING = []; // Some useful items: |