To de-confuse and cut back on one of the most common recent FAQs:
1) Create a stub module of the same name and check it into svn. When
used, the module should:
a) check to see if Parrot::Config::Generated exists. If so, this
module should act as a proxy for that object.
b) If not, die with a helpful error message, like, "Unavailable
until parrot is configured."
2) Change the build process to generate Parrot::Configure::Generated
instead of Parrot::Config
3) Change the clean process to remove Parrot::Configure::Generated
instead of Parrot::Config
For extra points, the cage cleaner will quietly not install the proxy
class, and instead install the generated config as Parrot::Config.
--
Will "Coke" Coleda
wi...@coleda.com
minor modification: makefile deps changed to be on Config/Generated.pm instead of just
Config/
Regards.
On Fri Jul 28 03:09:56 2006, guest wrote:
> On Sun Jul 16 10:06:46 2006, coke wrote:
> > To de-confuse and cut back on one of the most common recent FAQs:
> >
> > 1) Create a stub module of the same name and check it into svn. When
> > used, the module should:
> >
> > a) check to see if Parrot::Config::Generated exists. If so, this
> > module should act as a proxy for that object.
> > b) If not, die with a helpful error message, like, "Unavailable
> > until parrot is configured."
> >
> > 2) Change the build process to generate Parrot::Configure::Generated
> > instead of Parrot::Config
> > 3) Change the clean process to remove Parrot::Configure::Generated
> > instead of Parrot::Config
> I updated the MANIFEST to include lib/Parrot/Config.pm. I changed the
> generators for the makefiles to account for lib/Parrot/Config.pm and
> the object it proxies, lib/Parrot/Config/Generated.pm. The svn:ignore
> property has to be edited by a committer after the patch is applied
> because 'Config.pm' is added to the repository.
>
> > For extra points, the cage cleaner will quietly not install the proxy
> > class, and instead install the generated config as Parrot::Config.
> I did a dry run of make install yet I didn't notice
> lib/Parrot/Config.pm being installed anywhere, nor any of the other
> files under lib/Parrot.
>
> diffstat (doesn't show propedit for lib/Parrot):
> MANIFEST | 1 +
> MANIFEST.SKIP | 4 ++--
> config/gen/config_pm.pm | 12 ++++++++++--
> config/gen/config_pm/Config_pm.in | 15 +++++----------
> config/gen/makefiles/root.in | 2 +-
> lib/Parrot/Config.pm | 33 +++++++++++++++++++++++++++++++++
> 6 files changed, 52 insertions(+), 15 deletions(-)