Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-19 Thread Dan Sugalski
At 9:18 PM -0400 4/17/04, Gordon Henriksen wrote: Dan Sugalski wrote: Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: 3) Parrot itself (the main executable) has a static, global 1K buffer in it that starts and ends with some recognizable string (like, say, "***+++***START|" and "|END***+++

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-19 Thread Jeff Clites
On Apr 17, 2004, at 6:18 PM, Gordon Henriksen wrote: Dan Sugalski wrote: Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: 3) Parrot itself (the main executable) has a static, global 1K buffer in it that starts and ends with some recognizable string (like, say, "***+++***START|" and "|END**

Re: ICU data file location issues

2004-04-19 Thread Gordon Henriksen
On Thursday, April 15, 2004, at 02:25 , Jeff Clites wrote: For Unix platforms at least, you should be able to do this: executablePath = isAbsolute($0) ? dirname($0) : cwd().dirname($0) That absolutely does not work, as already pointed out. Ths looks like a reasonable reference implementation (L

Re: ICU data file location issues

2004-04-19 Thread Gordon Henriksen
On Saturday, April 17, 2004, at 02:17 , Gordon Henriksen wrote: On Thursday, April 15, 2004, at 02:25 , Jeff Clites wrote: For Unix platforms at least, you should be able to do this: executablePath = isAbsolute($0) ? dirname($0) : cwd().dirname($0) That absolutely does not work, as already poin

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-19 Thread Gordon Henriksen
Dan Sugalski wrote: Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: 3) Parrot itself (the main executable) has a static, global 1K buffer in it that starts and ends with some recognizable string (like, say, "***+++***START|" and "|END***+++***") so we can find it and overwrite the content

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-19 Thread Gordon Henriksen
On Saturday, April 17, 2004, at 10:35 , Gordon Henriksen wrote: Which suggests to me a linked list of resource resolvers. First one in the chain to return a file handle to the data or PBC wins. The head of parrot's own "system" chain would be available to be appended to any other chains that wa

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-19 Thread Gordon Henriksen
On Thursday, April 15, 2004, at 01:48 , Dan Sugalski wrote: At this point I can say I don't honestly care all that much, and most of my worries are based on vague feelings that there are platforms out there where finding the actual executable name is somewhere between hard and impossible. I wil

Re: ICU data file location issues

2004-04-17 Thread Steve Fink
On Apr-14, Jeff Clites wrote: > For Unix platforms at least, you should be able to do this: > > executablePath = isAbsolute($0) ? dirname($0) : cwd().dirname($0) Nope. sub executablePath { return dirname($0) if isAbsolute($0); return cwd().dirname($0) if hasSlash($0); foreach

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Jeff Clites
On Apr 15, 2004, at 10:48 AM, Dan Sugalski wrote: At this point I can say I don't honestly care all that much, and most of my worries are based on vague feelings that there are platforms out there where finding the actual executable name is somewhere between hard and impossible. I will, then, d

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Jeff Clites
On Apr 15, 2004, at 10:30 AM, Jeff Clites wrote: And semantically, I think of it not as the executable's path--that just happens to be something that's 1:1 with a particular copy of parrot. And definitely not libparrot's path--embedded cases would have to specify the path explicitly, though

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Jeff Clites
On Apr 15, 2004, at 9:41 AM, Dan Sugalski wrote: Actually, one thing I'd like to see is if it wasn't the library's base path hardcoded in, but the base path of a frozen data structure or program that encoded Parrot's settings. That would allow it to carry the runtime library path, the paths to IC

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Dan Sugalski
At 10:23 AM -0700 4/15/04, Jeff Clites wrote: On Apr 15, 2004, at 9:36 AM, Dan Sugalski wrote: At 8:54 AM -0700 4/15/04, Jeff Clites wrote: On Apr 15, 2004, at 8:41 AM, Dan Sugalski wrote: At 8:35 AM -0700 4/15/04, Jeff Clites wrote: On Apr 15, 2004, at 7:24 AM, Dan Sugalski wrote: Sound sane? I

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Jeff Clites
On Apr 15, 2004, at 9:05 AM, Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: 3) Parrot itself (the main executable) has a static, global 1K buffer in it that starts and ends with some recognizable string (like, say, "***+++***START|" and "|END***+++***") so we can find it and overwrite the

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Leopold Toetsch
Brent 'Dax' Royal-Gordon <[EMAIL PROTECTED]> wrote: > Dan Sugalski wrote: >> "***+++***START|" and "|END***+++***") so we can find it and overwrite > That's pretty disgusting, but I don't know that I have a better idea. Same scheme as with fingerprint.c? leo

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Jeff Clites
On Apr 15, 2004, at 9:36 AM, Dan Sugalski wrote: At 8:54 AM -0700 4/15/04, Jeff Clites wrote: On Apr 15, 2004, at 8:41 AM, Dan Sugalski wrote: At 8:35 AM -0700 4/15/04, Jeff Clites wrote: On Apr 15, 2004, at 7:24 AM, Dan Sugalski wrote: Sound sane? I can see splitting up the library base path in

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Jarkko Hietaniemi
> Well, yeah, but... where the executable is ought, honestly, to be > irrelevant. If I've stuck Parrot in /usr/bin it seems unlikely that > I'll have parrot's library files hanging off of /usr/bin. Bah. BAH, I say. The /usr/bin/parrot is of course a symlink to, say, /platform/os/version/parrot

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Brent 'Dax' Royal-Gordon
Dan Sugalski wrote: #3, I should point out, will *only* be used on those platforms that don't have a better scheme, and only by the Parrot_get_base_library_path() function. System registry on Windows? /etc file on Unixen? That's global. Bad idea, it messes up multiple installs of the same versi

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Dan Sugalski
At 9:05 AM -0700 4/15/04, Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: 3) Parrot itself (the main executable) has a static, global 1K buffer in it that starts and ends with some recognizable string (like, say, "***+++***START|" and "|END***+++***") so we can find it and overwrite the cont

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Dan Sugalski
At 8:54 AM -0700 4/15/04, Jeff Clites wrote: On Apr 15, 2004, at 8:41 AM, Dan Sugalski wrote: At 8:35 AM -0700 4/15/04, Jeff Clites wrote: On Apr 15, 2004, at 7:24 AM, Dan Sugalski wrote: Sound sane? I can see splitting up the library base path into sections, but I'm not sure it's worth it. Now'

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Brent 'Dax' Royal-Gordon
Dan Sugalski wrote: 1) We add a Parrot_set_library_base(char *lib_path, int length) function to set the base library path 2) We add a Parrot_get_base_library_path() function to the platform-specific interface so platforms can return the base path Works for me... 3) Parrot itself (the main execut

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Dan Sugalski
At 8:35 AM -0700 4/15/04, Jeff Clites wrote: On Apr 15, 2004, at 7:24 AM, Dan Sugalski wrote: Sound sane? I can see splitting up the library base path into sections, but I'm not sure it's worth it. Now'd be the time to argue that, though :) Makes sense to me to just store the path--keep it simpl

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Jeff Clites
On Apr 15, 2004, at 8:41 AM, Dan Sugalski wrote: At 8:35 AM -0700 4/15/04, Jeff Clites wrote: On Apr 15, 2004, at 7:24 AM, Dan Sugalski wrote: Sound sane? I can see splitting up the library base path into sections, but I'm not sure it's worth it. Now'd be the time to argue that, though :) Makes

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Jeff Clites
On Apr 15, 2004, at 7:24 AM, Dan Sugalski wrote: Sound sane? I can see splitting up the library base path into sections, but I'm not sure it's worth it. Now'd be the time to argue that, though :) Makes sense to me to just store the path--keep it simple. As long as we've stored it away, anything

Re: ICU data file location issues

2004-04-15 Thread Jeff Clites
On Apr 15, 2004, at 3:03 AM, Nicholas Clark wrote: But all this is from memory, and in turn for #! invocation one can always parse the #! line to work out where the interpreter was (mmm. race condition) And a race isn't too bad here actually--even if we know the path reliably, it's always possib

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Dan Sugalski
At 6:23 PM +0300 4/15/04, Jarkko Hietaniemi wrote: Dan Sugalski wrote: At 8:20 AM +0300 4/15/04, Jarkko Hietaniemi wrote: TT (Tangentially Topical): it would be nice if Parrot could avoid as many hardcoded paths as possible for configs, libraries, and such, so that the Parrot installation could b

Re: Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Jarkko Hietaniemi
Dan Sugalski wrote: > At 8:20 AM +0300 4/15/04, Jarkko Hietaniemi wrote: > >>TT (Tangentially Topical): it would be nice if Parrot could avoid as >>many hardcoded paths as possible for configs, libraries, and such, so >>that the Parrot installation could be relocated as freely as possible. > > >

Basic Library Paths (was Re: ICU data file location issues)

2004-04-15 Thread Dan Sugalski
At 8:20 AM +0300 4/15/04, Jarkko Hietaniemi wrote: TT (Tangentially Topical): it would be nice if Parrot could avoid as many hardcoded paths as possible for configs, libraries, and such, so that the Parrot installation could be relocated as freely as possible. Well, then... Given that everyone's w

Re: ICU data file location issues

2004-04-15 Thread Nicholas Clark
On Wed, Apr 14, 2004 at 11:25:22PM -0700, Jeff Clites wrote: > For Unix platforms at least, you should be able to do this: > > executablePath = isAbsolute($0) ? dirname($0) : cwd().dirname($0) > > (to mix a bunch of syntaxes) > > during initialization before you've had a chance to c

Re: ICU data file location issues

2004-04-15 Thread Jonathan Worthington
"Jeff Clites" <[EMAIL PROTECTED]> wrote: > On Apr 14, 2004, at 10:20 PM, Jarkko Hietaniemi wrote: > > > Finding stuff relative to the executable/DLL would be coolest scheme, > > but that is admittedly somewhat tricky to get working cross-platform. > > Excellent idea. Pretty much every single resour

Re: ICU data file location issues

2004-04-14 Thread Jeff Clites
On Apr 14, 2004, at 10:20 PM, Jarkko Hietaniemi wrote: Finding stuff relative to the executable/DLL would be coolest scheme, but that is admittedly somewhat tricky to get working cross-platform. Excellent idea. Pretty much every single resource in Cocoa applications and frameworks on Mac OS X is

Re: ICU data file location issues

2004-04-14 Thread Jarkko Hietaniemi
> Just came across an interesting quirk with the current usage of > ICU--if you do it, you can't run parrot unless your current directory > is the base parrot directory. Trying it from elsewhere throws a > "string_set_data_directory: ICU data files not found" error. > > Symlinking parrot's blib

Re: ICU data file location issues

2004-04-14 Thread Jeff Clites
On Apr 14, 2004, at 7:49 AM, Dan Sugalski wrote: Just came across an interesting quirk with the current usage of ICU--if you do it, you can't run parrot unless your current directory is the base parrot directory. Trying it from elsewhere throws a "string_set_data_directory: ICU data files not f

ICU data file location issues

2004-04-14 Thread Dan Sugalski
Just came across an interesting quirk with the current usage of ICU--if you do it, you can't run parrot unless your current directory is the base parrot directory. Trying it from elsewhere throws a "string_set_data_directory: ICU data files not found" error. Symlinking parrot's blib/ dir into t