bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Patches for OS/2 (2)


From: Eli Zaretskii
Subject: Re: Patches for OS/2 (2)
Date: Wed, 13 Nov 2002 08:18:47 +0200 (IST)

On Wed, 13 Nov 2002, Andreas Buening wrote:

> > > If the precompiled binaries use prefix=e:/usr/local then
> > > libintl can't find the locale files in f:/usr/local etc.
> > > If the precompiled binaries use prefix=/usr/local then libintl
> > > can find the files in f:/usr/local only if f: is the current
> > > drive which means that the program result depends on the
> > > choosen current directory.
> > > The solution is the following: If a directory name doesn't
> > > contain a drive letter x: then the $UNIXROOT drive letter
> > > is assumed. If UNIXROOT is not set nothing happens.
> > 
> > DOS and OS/2 maintain a notion of "current drive". The
> > effect that you achieve through UNIXROOT=f: is the same
> > as the user would obtain through the command "cd f:".
> > The handling of pathnames without drive letters is
> > already handled inside EMX. I see no reason to duplicate
> > it in the software above it.
> 
> No. This would imply that the software only works on the drive
> it is installed.

How about using one of the following solutions (or both of them)?

 1) Make libintl look for its files in some directory relative to the 
    place where the executable program is installed.  For example,
    if foo.exe is in f:/usr/local/bin, make it so libintl looks for its 
    files in ../share/ relative to where foo.exe lives.  This could be 
    implemented by making foo.exe push into environment some variable 
    that libintl would look at, and making f:/usr/local/share the value 
    of that variable.  (foo.exe knows where it lives by looking at its 
    argv[0].)

 2) Is there some environment variable used by EMX to point to the root 
    of its installation?  If so, you could use that place as the 
    replacement for /usr/local, and configure libintl look in its `share' 
    subdirectory.  In other words, assuming that, say, $EMX_PREFIX points 
    to the root of the EMX installation, make libintl look for its files
    in $EMX_PREFIX/share/.  That is, configure libintl with 
    --prefix='$EMX_PREFIX'.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]