Branch: Tag:

2004-04-17

2004-04-17 15:18:52 by Marcus Comstedt <marcus@mc.pp.se>

Module system Conservative New World Order

* Dynamic modules are now objects again.

* Static modules are _also_ objects.

* Both dynamic and static modules support _module_value. _module_value
can be a constant, thus preventing the program from being automatically
cloned.

* Wrappers are _only_ generated for modules which have a module.pmod.in.
___ is only prepended to the name of the C module if a wrapper is used.

* _static_modules still contains programs. The indices can now contain
paths with slashes to indicate that the modules should not be at the
top level.

Rev: lib/master.pike.in:1.341
Rev: src/aclocal.m4:1.97
Rev: src/dumpmaster.pike:1.12
Rev: src/make_variables.in:1.16
Rev: src/modules/common_module_makefile.in:1.27
Rev: src/modules/dynamic_module_makefile.in:1.115
Rev: src/modules/static_module_makefile.in:1.97
Rev: src/program.c:1.562

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: dumpmaster.pike,v 1.11 2003/05/07 10:49:00 grubba Exp $ + || $Id: dumpmaster.pike,v 1.12 2004/04/17 15:18:52 marcus Exp $   */      string fr;
35:      string read_file(string s)   { -  return _static_modules.___files()->Fd(fakeroot(s),"r")->read(); +  return _static_modules.files()->Fd(fakeroot(s),"r")->read();   }      program compile_file(string file)
51:    switch(x)    {   #define CONST(X) case X: return #X -  CONST(_static_modules.___files.Stat); +  CONST(_static_modules.files.Stat);    CONST(_static_modules.Builtin.__backend);    }    encoded+=({x});
66:       program p=compile_file(argv[-1]);    string s=encode_value(p, Codec()); -  _static_modules.___files()->Fd(fakeroot(argv[-1]) + ".o","wct")->write(s); +  _static_modules.files()->Fd(fakeroot(argv[-1]) + ".o","wct")->write(s);    exit(0);   }      mixed resolv() { return UNDEFINED; }