Reini Urban (via RT) schrieb:
Remove
/usr/runtime/parrot/include
/usr/runtime/parrot
/usr
paths from the .include searchpath.
I found this out via strace on cygwin.
Attached patch tries at least /usr/lib/parrot when /usr/runtime/parrot
fails. As soon as installed versions should run faster than source
builds the logic has to be reversed.
--
Reini Urban
http://phpwiki.org/ http://murbreak.at/
difforig runtime/parrot/library/config.pir runtime/parrot/library/parrotlib.pir
diff -u runtime/parrot/library/config.pir.orig runtime/parrot/library/config.pir
--- runtime/parrot/library/config.pir.orig 2008-07-05 10:04:43.000000000 +0000
+++ runtime/parrot/library/config.pir 2008-07-27 11:06:40.843750000 +0000
@@ -50,10 +50,19 @@
.local string conf_file
conf_file = interpinfo .INTERPINFO_RUNTIME_PREFIX
conf_file .= "/runtime/parrot/include/config.fpmc"
-
+ 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.
+ conf_file = interpinfo .INTERPINFO_RUNTIME_PREFIX
+ conf_file .= "/lib/parrot/include/config.fpmc"
+conf:
open CONF, conf_file, "<"
$I0 = defined CONF
if $I0 goto ok1
+
printerr "Can't read '"
printerr conf_file
printerr "': "
diff -u runtime/parrot/library/parrotlib.pir.orig runtime/parrot/library/parrotlib.pir
--- runtime/parrot/library/parrotlib.pir.orig 2008-02-23 18:27:07.000000000 +0000
+++ runtime/parrot/library/parrotlib.pir 2008-07-27 11:07:12.734375000 +0000
@@ -143,8 +143,19 @@
stat $I0, name, 0
if $I0 goto END
- name = "runtime/parrot/dynext/"
+ concat name, ext
+ stat $I0, name, 0
+ if $I0 goto END
+
+ # This logic has to be reversed when installed versions should run faster
+ # than source builds.
+ .include "interpinfo.pasm"
+ name = interpinfo .INTERPINFO_RUNTIME_PREFIX
+ concat name, "lib/parrot/dynext/"
concat name, request
+ stat $I0, name, 0
+ if $I0 goto END
+
concat name, ext
stat $I0, name, 0
if $I0 goto END