Branch updates

Reini Urban rurban at x-ray.at
Sat Jan 5 15:43:58 UTC 2013


On Sat, Jan 5, 2013 at 6:19 AM, Patrick R. Michaud <pmichaud at pobox.com> wrote:
> On Fri, Jan 04, 2013 at 05:22:05PM -0600, Reini Urban wrote:
>> Moved "." in the library search paths from the beginning to the end.
>> - low impact expected:
>>   load_bytecode and .include and load_language might load now different files,
>>   if they exist in "./" AND in the proper library location.
>>   To keep the old behavior set the environment variables PARROT_INCLUDE
>>   and PARROT_LIBRARY to "./"
>
> Ouch.  This may actually have a very high impact on developers at
> least, if not others.
>
> Suppose my project does something along the lines of the standard
> NQP/Rakudo build process, with:
>
>     $ perl Configure.pl --gen-parrot
>     $ make
>     $ make install
>
> Then I later make some changes to dynops or dynpmcs and do
>
>     $ make
>
> This second make will end up locating the installed (out-of-date)
> versions of the dynext libraries instead of the freshly compiled
> ones in the current directory.  Yes, we can update environment
> variables in the Makefile (how do we do this in Windows, ooc?),
> but older releases of our project won't work with recent Parrots.
>
> Also, is the current/default list of library paths available
> somewhere, either in documentation or easily displayable from
> the parrot command line?  I'm not at all clear what directories
> are being searched.

See examples/pir/libpaths.pir and t/library/lib_search_path.t for the
current situation.
You can use parrot -L. -X. to get the old behavior.

The bug report came from nqp/perl6, see
https://github.com/parrot/parrot/issues/368
There were two camps, one to remove it at all, one to move . to the end.

We have two scenarios: Installed parrot and build-time.
For build-time I see the advantage to have . at the front, but our build
system expects the intermediate paths below runtime. Which is an old hack,
but I do not question it now.
    (I have a new-layout branch, which tries to sanify and de-perlilfy
our lib paths
    and dir layout)

With perl6 and nqp you are using installed parrots only.
So adding . to the front at build-time would not help you.
-- 
Reini Urban
http://cpanel.net/   http://www.perl-compiler.org/


More information about the parrot-dev mailing list