Esa Ilari Vuokko wrote:
Hi Brian,

On 7/30/06, Brian Hulley <[EMAIL PROTECTED]> wrote:
Still, a slight problem is that since there is one object file per
source file, the names of the object files give quite a lot of
information away about the structure of the program especially when
they are arranged in a module hierarchy, so I'll be glad when GMP is
replaced by something without such a burdensome licence. (Although
perhaps I can bundle my object files into a single library file but
I don't know how to do this yet, or if it would really help in the
goal to make the code completely obfuscated, impenetrable, and
unavailable to any rival company... ;-) )

Assuming gnu toolchain, you can use ld to link object
files together in a form that is definitely harder to break apart.
(incremental linking to incomplete executable, iirc via switch -x).
That should allow you to produce one big object file (of atleast
haskell bits and c bits) that gets simply passed to ghc.

Using strip to remove debug info/symbol tables also helps somewhat.
(strip.exe is not part of ghc distribution, but you can find it in
mingw bintools.)

Using ar to create archives does not help at all - you can extract the
original files using ar itself.

Thanks - I must look into these mingw tools (at the moment I'm just using the plain GHC Windows distro) I think the ideal solution in the long term would be if the windows version of GHC could put each LGPL lib such as GMP (are there any more?) into its own DLL so that it would only statically link user code + BSD3 stuff into the main executable. Then it would be very simple to distribute Windows apps (WinXP allows DLLs to be local to a specific app by putting them in the same directory as the exe) and would mirror the way GHC works on Unix (and would also make it easier for people to use updated LGPL components with the app in the spirit of LGPL).

Best regards
Brian.

--
Logic empowers us and Love gives us purpose.
Yet still phantoms restless for eras long past,
congealed in the present in unthought forms,
strive mightily unseen to destroy us.

http://www.metamilk.com
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to