diff options
author | wlemb <wlemb> | 2004-04-07 17:45:59 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2004-04-07 17:45:59 +0000 |
commit | 8ceee8e98c76d3ba7c8fffa753ea6cf9570d4f10 (patch) | |
tree | c5d12743d6e6e3c1afdb641115c48db7de946c02 /src | |
parent | 5791884bd22828a08737aa34fb3924726b8209ba (diff) | |
download | groff-8ceee8e98c76d3ba7c8fffa753ea6cf9570d4f10.tar.gz |
Make scripts like nroff.sh and neqn.sh portable across various
(Unix-like) shell implementations from Cygwin, MSYS, etc., which use
non-POSIX path separators. The idea is to extend those scripts to
decide at run-time (of the script) which path separator to use.
* arch/misc/Makefile.sub: New file.
* arch/misc/shdeps.sh: New file, generating OS dependency fixups.
This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
a proper definition of the variable `GROFF_RUNTIME'.
* Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
(MDEFINES): Add SH_DEPS_SED_SCRIPT.
(PROGDEPDIRS): New variable.
`FORCE' it.
(PROGDIRS): Add PROGDEPDIRS.
* src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
Don't substitute @SEP@ and @BINDIR@.
* src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
(PATH): Use GROFF_RUNTIME.
* src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
Don't substitute @SEP@ and @BINDIR@.
* src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
(PATH): Use GROFF_RUNTIME.
Diffstat (limited to 'src')
-rw-r--r-- | src/preproc/eqn/Makefile.sub | 5 | ||||
-rw-r--r-- | src/preproc/eqn/neqn.sh | 4 | ||||
-rw-r--r-- | src/roff/nroff/Makefile.sub | 5 | ||||
-rw-r--r-- | src/roff/nroff/nroff.sh | 12 |
4 files changed, 14 insertions, 12 deletions
diff --git a/src/preproc/eqn/Makefile.sub b/src/preproc/eqn/Makefile.sub index 7312343a..c1f59727 100644 --- a/src/preproc/eqn/Makefile.sub +++ b/src/preproc/eqn/Makefile.sub @@ -44,11 +44,10 @@ CLEANADD=neqn all: neqn -neqn: neqn.sh +neqn: neqn.sh $(SH_DEPS_SED_SCRIPT) -rm -f $@ sed -e 's/@g@/$(g)/g' \ - -e 's|@BINDIR@|$(bindir)|g' \ - -e 's|@SEP@|$(SH_SEP)|g' \ + -f $(SH_DEPS_SED_SCRIPT) \ -e $(SH_SCRIPT_SED_CMD) $(srcdir)/neqn.sh >$@ chmod +x $@ diff --git a/src/preproc/eqn/neqn.sh b/src/preproc/eqn/neqn.sh index 43fe1e85..f2b5fdfc 100644 --- a/src/preproc/eqn/neqn.sh +++ b/src/preproc/eqn/neqn.sh @@ -2,8 +2,8 @@ # Provision of this shell script should not be taken to imply that use of # GNU eqn with groff -Tascii|-Tlatin1|-Tutf8|-Tcp1047 is supported. -: ${GROFF_BIN_PATH=@BINDIR@} -PATH=$GROFF_BIN_PATH@SEP@$PATH +@GROFF_BIN_PATH_SETUP@ +PATH="$GROFF_RUNTIME$PATH" export PATH exec @g@eqn -Tascii ${1+"$@"} diff --git a/src/roff/nroff/Makefile.sub b/src/roff/nroff/Makefile.sub index abd6d4a5..ffd2ccd8 100644 --- a/src/roff/nroff/Makefile.sub +++ b/src/roff/nroff/Makefile.sub @@ -4,10 +4,9 @@ CLEANADD=nroff all: nroff -nroff: nroff.sh +nroff: nroff.sh $(SH_DEPS_SED_SCRIPT) rm -f $@ - sed -e "s|@BINDIR@|$(bindir)|g" \ - -e "s|@SEP@|$(SH_SEP)|g" \ + sed -f $(SH_DEPS_SED_SCRIPT) \ -e $(SH_SCRIPT_SED_CMD) \ -e "s|@VERSION@|$(version)$(revision)|" $(srcdir)/nroff.sh >$@ chmod +x $@ diff --git a/src/roff/nroff/nroff.sh b/src/roff/nroff/nroff.sh index 9c9cc768..4c5c00bd 100644 --- a/src/roff/nroff/nroff.sh +++ b/src/roff/nroff/nroff.sh @@ -5,7 +5,7 @@ prog="$0" # Default device. # First try the "locale charmap" command, because it's most reliable. # On systems where it doesn't exist, look at the environment variables. -case "`locale charmap 2>/dev/null`" in +case "`exec 2>/dev/null ; locale charmap`" in UTF-8) T=-Tutf8 ;; ISO-8859-1) @@ -84,11 +84,15 @@ for i shift done +# Set up the `GROFF_BIN_PATH' variable +# to be exported in the current `GROFF_RUNTIME' environment. + +@GROFF_BIN_PATH_SETUP@ +export GROFF_BIN_PATH + # This shell script is intended for use with man, so warnings are # probably not wanted. Also load nroff-style character definitions. -: ${GROFF_BIN_PATH=@BINDIR@} -export GROFF_BIN_PATH -PATH=$GROFF_BIN_PATH@SEP@$PATH groff -mtty-char $T $opts ${1+"$@"} +PATH="$GROFF_RUNTIME$PATH" groff -mtty-char $T $opts ${1+"$@"} # eof |