panne 2003/02/09 14:41:07 PST
Modified files:
libraries/OpenGL/Graphics/Rendering/OpenGL/GLU Constants.hs
libraries/OpenGL/specs/enumerant ConvertEnumSpec.hs
test.stdout
Log:
Splitting object files is crucial for a large library like HOpenGL,
but the files generated by ConvertEnumSpec hit several system limits
quite severly:
* Compilation time for the stuff generated from enum.spec was
almost 15min on an Athlon 2000 XP+ before the commandline limit
for the linker was finally reached.
* Even if the problem above was fixed, there are far more than 7000
object files for this single Haskell module, which will probably
generate lots of linking fun with the current GNU linker on
WinDoze.
* A lot of (un-)marshalers are generated which are never needed.
So I bit the bullet and made ConvertEnumSpec emit an #ifdef around
every data type and its (un-)marshalers, giving quite some flexibility
at the #include site. The downside is that we now have another
dependency on the preprocessor, something which I initially hoped to
avoid completely. But on the other hand, HOpenGL already depends on
the preprocessor for handling the different calling conventions on
normal *nix systems and WinDoze DLLs. *sigh*
Revision Changes Path
1.3 +35 -2
fptools/libraries/OpenGL/Graphics/Rendering/OpenGL/GLU/Constants.hs
1.9 +33 -18 fptools/libraries/OpenGL/specs/enumerant/ConvertEnumSpec.hs
1.5 +28 -0 fptools/libraries/OpenGL/specs/enumerant/test.stdout
_______________________________________________
Cvs-libraries mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-libraries