groff
[Top][All Lists]
Advanced

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

[Groff] Re: MSYS Shell -- Path Separator Nuisances


From: Jeff Conrad
Subject: [Groff] Re: MSYS Shell -- Path Separator Nuisances
Date: Tue, 2 Mar 2004 16:34:45 -0800

Keith Marshall wrote:

> Work we did recently, to establish the appropriate OS dependent path 
> separator character, has introduced three minor problems when building groff 
> using MSYS/MinGW, and when running it under the MSYS shell.
    .
    .
    .
> The three problems I have observed are:
> 
> 1. In src/doc/Makefile.sub, GROFF_BIN_PATH is constructed using semicolons,
>    where the MinGW implementation requires colons.
> 
> 2. In contrib/mom/Makefile.sub, the same problem arises with a similar
>    definition of GROFF_BIN_PATH.
> 
> 3. In src/roff/nroff/nroff.sh, GROFF_BIN_PATH is set to the BINDIR string, 
>    set at configure time, which for MinGW has got to be in Windows format. 
>    This is then prepended to the shell's own $PATH, using a semicolon as the 
>    separator, when running groff; the semicolon here is seen as a command 
>    separator, truncating the $PATH to just $GROFF_BIN_PATH, and the original 
>    $PATH, prefixed to the following groff command, causes a syntax error.

What about test-groff.sh?

> Problems 1 and 2 are easily fixed, by simply always using a colon as the path 
> separator, in these two makefiles. However, if we simply do this, how will 
> other shells used with Windows cope with the change? Will we break the make 
> process with MKS or DJGPP shells?

MKS (at least without the NuTCRACKER environment) requires the semicolon.
I'm afraid that the changes to Makefile.sub in src/doc and contrib/mom were
make to enable a successful build with MKS ... without realizing that they
would break things for MinGW.

> Does anyone know of other shells we need to accommodate?

Microsoft offer Services For Unix (SFU).  The supplied shell takes yet
another approach, using the colon as the PATH separator, but showing the
file system as having everything under /dev/fs (e.g., C:/bin is
/dev/fs/C/bin).  I haven't played with the SFU subsystem enough to speak
with any authority, however, and have no idea how extensively SFU is used.

Jeff Conrad




reply via email to

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