The NO_FILESYSTEM option works nicely. I have updated the demos: http://floooh.github.io/oryol/
Thanks for the hint! -Floh Am Donnerstag, 11. September 2014 22:50:31 UTC+2 schrieb Alon Zakai: > > There is a NO_FILESYSTEM option that removes those MEMFS etc filesystem > bits. printf should still work without the filesystem, but nothing else IO > related. Let me know if that option helps, it is new and not much tested. > > - Alon > > > On Thu, Sep 11, 2014 at 1:44 PM, Floh <[email protected] <javascript:>> > wrote: > >> Hi, >> >> I've been looking through one of my small demos in debug mode (no >> optimizations, no minify) looking for stuff which bloats the executable >> size. >> >> First I found a few strange modules before the asm.js block: >> >> MEMFS, IDBFS, NODEFS, SOCKFS, and FS (and think the former 4 are all >> pulled in by FS). The thing is, my code doesn't use any of emscripten's FS >> emulation, also no fopen/fclose or C++ stream IO (only printf and sprintf >> functions). Does it make sense trying to untangle these FS dependencies and >> get rid of some of them? >> >> The other big block of "useless" code I found was a lot of C++ IO >> streambuf iterator code in the asm.js block, and I have no clue what causes >> this code to be included. I'm not using C++ style IO (<< and >>) or include >> any C++ IO headers directly. I'm seeing that the <iterator> header has >> classes which look like the mangled names (see below), but I'm not seeing >> any code using those (definitely not in my code). I'm not using std >> containers or strings, I *do* use std::lower_bound, std::binary_search and >> std::sort from <algorithm>, chrono::high_resolution_clock, std::function, >> but that's about it. >> >> I'd be thankful for every idea where to start with trying to get rid of >> this C++ IO stuff. >> >> Here are some of the mangled function names: >> >> >> __ZNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIwEERNS_10unique_ptrIwPFvPvEEERPwSM_ >> >> __ZNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIcEERNS_10unique_ptrIcPFvPvEEERPcSM_ >> >> __ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc >> >> __ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc >> >> __ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_ >> >> One of those even calls a sscanf function: >> >> >> __ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv >> >> this calls: __ZNSt3__110__sscanf_lEPKcP15__locale_structS1_z >> >> Cheers & Thanks, >> -Floh. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "emscripten-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
