Reini Urban schrieb:
Geoffrey Broadwell via RT schrieb:
On Sun, 2008-07-27 at 13:13 +0200, Reini Urban wrote:
+    stat $I0, conf_file, 0
+    if $I0 goto conf
+    +    # If installed into /usr/lib/parrot, not /usr/runtime/parrot
+    # This logic has to be reversed when installed versions should
run faster
+    # than source builds.

Reverse it now; we'll never remember to get back to this in the future.

+    conf_file = interpinfo .INTERPINFO_RUNTIME_PREFIX
+    conf_file .= "/lib/parrot/include/config.fpmc"
+conf:

+    name = interpinfo .INTERPINFO_RUNTIME_PREFIX
+    concat name, "lib/parrot/dynext/"
     concat name, request

Since we're using PIR in both places, we should probably use the .=
sugar in both places.  Yes, I know the second file has some 'concat's in
it already.  Here's an opportunity to fix that.  :-)

Ok. concat to .= is easy.

Why I don't want to fix that as you suggest is that I wait for feedback how it was designed to be. This patch is just a intermediate hack. Someone like particle or Allison should comment on that.

It is fine for benchmarks that the source build uses runtime/parrot/include/config.fpmc. But the installed version either should NOT need to load the frozen config file when it is already linked in, or check with some global or interpinfo magic and look up the right prefix then.
No useless stats please.

My current plan is this:

Source builds should be allowed to access runtime/parrot/include/config.fpmc and the various other config fpmc's, but the installable version, linked to install_config.fpmc must change its lib_path to allow only FHS-compliant paths, i.e remove runtime/parrot and runtime/parrot/include in favor of lib/parrot and lib/parrot/include.

This must be fixed in config.pir, parrotlib.pir and src/library.c with this ticket. (Hope I forgot no other file)
I'll work on that, but I have a business trip for the next two weeks.

An optimization for another ticket would be to remove the run-time access to include/config.pir for linked installable's, where the frozen config.fpmc is already linked. There the sub _config should use some config detection logic (suggestion: new config key 'installed') to omit .include "library/config.pir" See the ticket perl #57418 [TODO] optimize _config to omit .include "library/config.pir" on installables

--
Reini Urban
http://phpwiki.org/  http://murbreak.at/

Reply via email to