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