
I have written a small wxHaskell application. Since wxWidgets seems to be required to be linked dynamicly, I have to add the wxWidgets dlls. Those make a total of about 25MB, wow.
Now the compiled exe (compiled with ghc -O2) has size 15MB. In total I am at about 50Mb, which is just to much.
Why is the exe so big? Has anyone a suggestion on how to reduce the total size? Bindings for large C libraries contain a great number of Haskell wrapper functions for C functions. Looks like GHC is not terribly efficient in terms of size of generated code. Your tiny application gets statically
On 09/03/2013 02:45 PM, Nathan Hüsken wrote: linked with a huge haskell library which in turn dynamically linked with C library doing the actual work. In case you're having multiply haskell binaries using wxWidgets you can use GHC's dynamic linking feature. http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/using-shared-libs.htm.... This way actual binaries would be small but would have an additional run-time dependency. And my question. Does GHC try to exclude unused symbols from Haskell libraries it links to application code? Best wishes, Dmitry