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


Reply via email to