#1504: config/auto/arch.pm: Uninitialized value warning on Darwin due to change
in order of configuration steps
-----------------------+----------------------------------------------------
Reporter: jkeenan | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: configure | Version: 2.1.0
Severity: medium | Keywords: configure byteorder arch
Lang: | Patch:
Platform: darwin |
-----------------------+----------------------------------------------------
Comment(by doughera):
The simplest fix is probably to see if there is some other way to get the
cpu type under darwin. It may be that "uname -p" or "uname -m" works
well. I don't think the intended use of $cpuarch is actually defined
carefully anywhere, so it's hard to say what's a "right" or "wrong" answer
anyway.
More generally:
Metaconfig (the tool used to generate perl 4 and perl 5's Configure
scripts) deals with this broader issue by requiring each configure step to
explicitly declare what variables it defines and what variables it depends
on. These dependencies are then placed into a simple Makefile, and 'make'
is called to put things in the correct order. A separate tool,
'metalint', verifies that those lists are correct, and also enforces the
rule that every variable must have a definition (which is extracted by
another tool into the Glossary, and later incorporated into Config.pm).
[Sadly, the tool doesn't ensure that the definitions are meaningful,
helpful, clear, or even correct.]
Circular dependencies are typically broken via a mechanism similar to
Parrot's Configure.pl callbacks.
A little more background is available in some very old mailing list
threads, such as
this post from 2001,
[http://www.nntp.perl.org/group/perl.perl6.internals/2001/12/msg6895.html]
and
this later one from 2004
[http://www.nntp.perl.org/group/perl.perl6.internals/2004/03/msg22180.html].
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1504#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets