[DGD]EPP 2.0

E. Harte harte at xs4all.nl
Sun Mar 5 23:12:39 CET 2000


Presenting to you: Easy Precompilation Package 2.0 -- Aimed at DGD 1.1.86

Almost a year after the last official release of EPP (0.2), I'm presenting
you with a newer and hopefully better version.

The jump from 0.2 to 2.0 may sound like a big one, but it makes sense when
you realize that most of the internals were redone entirely, making the
use of 1.0 slightly inappropriate.

The difference lies in the following:

- EPP calls initialize() in your driver-object and waits for it to compile
  the necessary objects and, rather than trying to guess what your driver
  functions do, calls them and uses the results they return.

- EPP then waits for your lib to call shutdown(), which can be in the
  thread started by the initialize() call, or after one or several 
  call_out() threads.

- The dgd/src/lpc/list.epp file merely works as a 'selection' list, you
  can put both directories and files there, but only those objects that
  are loaded after the shutdown() call was made and also match a directory
  or object on that list, will be precompiled.

  Of course, if you list '/lib/foo.c' and it inherits '/lib/basic/bar.c',
  then '/lib/basic/bar.c' will be precompiled as well, even if it did not
  match any directory or file in list.epp.

- EPP rewrites the LPC files, replacing #include statements with the
  contents of the actual files, and rewriting inherit statements to point
  to the actual object that is being inherited.

  This makes it possible to use the standard precompiler which only deals
  with the default inherit_program() and path_include() behaviour and
  still precompile objects that require more exotic results, like
  secondary auto-objects.

The patch can be found at the usual place:

  ftp://ftp.dworkin.nl/pub/dgd/pkg/epp-2.0-dgd-1.1.86.gz

Although it is 'aimed at 1.1.86', it can most likely be used with older
versions, as long as that version has 'parse_string()' and 'nil' support.

The only two files that are really changed as far as original DGD source
goes are the dgd/src/Makefile and dgd/src/lpc/Makefile.

Good luck!

Erwin.
P.S: Yes, I'm now actively working on this again, idea/bug reports can be
     sent to me.
-- 
Erwin Harte  -  Forever September, 2378 and counting  -  harte at xs4all.nl


List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list