summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorJonathan Kew <jfkthame@googlemail.com>2007-01-11 14:06:48 +0000
committerJonathan Kew <jfkthame@googlemail.com>2007-01-11 14:06:48 +0000
commit3524e0188d14506acef03603b74412eeae5a1e6d (patch)
tree136b291f46dbbf7ea7b684fbfe949e34d821aa22 /Build
parent82b278d33d030c8334a8d9dc8d473a92995fa3eb (diff)
install format files into $engine subdir of web2c
git-svn-id: svn://tug.org/texlive/trunk@3338 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/kpathsea/texmf.in11
-rwxr-xr-xBuild/source/texk/tetex/fmtutil70
-rw-r--r--Build/source/texk/web2c/fmtutil.in16
3 files changed, 55 insertions, 42 deletions
diff --git a/Build/source/texk/kpathsea/texmf.in b/Build/source/texk/kpathsea/texmf.in
index cff9187531d..595b8faf3a8 100644
--- a/Build/source/texk/kpathsea/texmf.in
+++ b/Build/source/texk/kpathsea/texmf.in
@@ -246,12 +246,11 @@ MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
MPINPUTS = .;$TEXMF/metapost//
% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read (see web2c/INSTALL),
-% and string pools (.pool) for ini{tex,mf,mp}. It is silly that we have six
-% paths and directories here (they all resolve to a single place by default),
-% but historically ...
-TEXFORMATS = .;$TEXMF/web2c
-MFBASES = .;$TEXMF/web2c
-MPMEMS = .;$TEXMF/web2c
+% and string pools (.pool) for ini{tex,mf,mp}. It is silly that we have
+% separate variables for the different programs here, but historically ...
+TEXFORMATS = .;$TEXMF/web2c/{$engine,}
+MFBASES = .;$TEXMF/web2c/{$engine,}
+MPMEMS = .;$TEXMF/web2c/{$engine,}
TEXPOOL = .;$TEXMF/web2c
MFPOOL = .;$TEXMF/web2c
MPPOOL = .;$TEXMF/web2c
diff --git a/Build/source/texk/tetex/fmtutil b/Build/source/texk/tetex/fmtutil
index e061f4f20af..9342c679aaf 100755
--- a/Build/source/texk/tetex/fmtutil
+++ b/Build/source/texk/tetex/fmtutil
@@ -24,10 +24,12 @@
# Options:
# --cnffile file set configfile for fmtutil
# --fmtdir directory set destination directory for format files
+# --no-engine-subdir don't use $engine subdirectory of the fmtdir
###############################################################################
###############################################################################
# program history:
+# 2007-01-04 patch by JK to support $engine subdir (enabled by default)
# Fr Apr 8 19:15:05 CEST 2005 cleanup now has an argument for the return code
# Do Mar 02 10:42:31 CET 2006 add tmpdir to TEXFORMATS
# So Mär 27 18:52:06 CEST 2005 honor $TMPDIR, $TEMP and $TMP, not just $TMP
@@ -198,6 +200,7 @@ Usage: fmtutil [option] ... cmd [argument]
Valid options:
--cnffile file
--fmtdir directory
+ --no-engine-subdir don't use engine-specific subdir of the fmtdir
--quiet (not implemented, just for compatibility)
--test (not implemented, just for compatibility)
--dolinks (not implemented, just for compatibility)
@@ -383,6 +386,7 @@ main()
;;
esac
+ use_engine_dir=true # whether to use web2c/$engine subdirs
while
case $1 in
--cnffile)
@@ -393,6 +397,8 @@ main()
shift; destdir=$1;;
--fmtdir=*)
destdir=`echo "$1" | sed 's/--fmtdir=//'`; shift ;;
+ --no-engine-subdir)
+ use_engine_dir=false;;
--all|-a)
cmd=all;;
--edit|-e)
@@ -547,31 +553,11 @@ main()
refresh)
recreate_existing;;
byfmt)
- create_one_format "$arg";;
+ recreate_by_fmt "$arg";;
byhyphen)
recreate_by_hyphenfile "$arg";;
esac
- # install the log files and format files:
- for i in *.log; do
- test -f "$i" || continue
- rm -f "$destdir/$i"
-
- # We don't want user-interaction for the following "mv" command:
- mv "$i" "$destdir/$i" </dev/null
- done
- for i in *.fmt *.mem *.base; do
- test -f "$i" || continue
- rm -f "$destdir/$i"
-
- # We don't want user-interaction for the following "mv" command:
- if mv "$i" "$destdir/$i" </dev/null; then
- verboseMsg "$progname: $destdir/$i installed."
- $mktexfmtMode && echo "$destdir/$i"
- fi
- mktexupd "$destdir" "$i"
- done
-
byebye
}
@@ -622,9 +608,9 @@ parse_line()
inifile=`echo $lastarg | sed 's%^\*%%'`
case "$engine" in
- mpost) fmtfile="$format.mem"; kpsefmt=mpost;;
- mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf;;
- *) fmtfile="$format.fmt"; kpsefmt=tex;;
+ mpost) fmtfile="$format.mem"; kpsefmt=mpost; texengine=metapost;;
+ mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
+ *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
esac
# See if we can find $inifile for return code:
@@ -699,16 +685,30 @@ run_initex()
verbose $engine -ini $tcxflag $jobswitch $prgswitch $texargs
) </dev/null
+ if test $use_engine_dir; then
+ fulldestdir="$destdir/$texengine"
+ else
+ fulldestdir="$destdir"
+ fi
+ mkdir -p $fulldestdir
if test -f $fmtfile; then
grep '^! ' $format.log >/dev/null 2>&1 &&
log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
+ rm -f "$fulldestdir/$format.log"
+ # We don't want user-interaction for the following "mv" commands:
+ mv "$format.log" "$fulldestdir/$format.log" </dev/null
+ if mv "$fmtfile" "$fulldestdir/$fmtfile" </dev/null; then
+ verboseMsg "$progname: $fulldestdir/$fmtfile installed."
+ $mktexfmtMode && echo "$fulldestdir/$fmtfile"
+ mktexupd "$fulldestdir" "$fmtfile"
+ fi
else
log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
fi
}
###############################################################################
-# recreate_loop(hyphenfile)
+# recreate_loop()
# for each line in config file: check match-condition and recreate format
# if there is a match
###############################################################################
@@ -723,7 +723,6 @@ recreate_loop()
do
parse_line $line || continue
check_match || continue
- echo; echo
run_initex
done
}
@@ -759,15 +758,14 @@ check_match()
}
###############################################################################
-# create_one_format(fmtname)
-# (re)create the format file for the format `fmtname'
+# recreate_by_fmt(fmtname)
+# recreate all versions of fmtname
###############################################################################
-create_one_format()
+recreate_by_fmt()
{
fmtname=$1
-
- find_info_for_name $fmtname || abort "format \`$fmtname' not available"
- run_initex
+ match_cmd="test x\$format = x$fmtname"
+ recreate_loop
}
###############################################################################
@@ -777,7 +775,7 @@ create_one_format()
create_missing()
{
# match_cmd='test ! -f $destdir/$fmtfile'
- match_cmd='test ! -f "`kpsewhich -progname=$format $fmtfile`"'
+ match_cmd='test ! -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
recreate_loop
}
@@ -787,7 +785,7 @@ create_missing()
###############################################################################
recreate_existing()
{
- match_cmd='test -f "`kpsewhich -progname=$format $fmtfile`"'
+ match_cmd='test -f "`kpsewhich -engine=$texengine -progname=$format $fmtfile`"'
recreate_loop
}
@@ -862,7 +860,7 @@ disablefmt()
grep "^$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
ed $cnf_file >/dev/null 2>&1 <<-eof
- /^$1[ ]/s/^/#! /
+ g/^$1[ ]/s/^/#! /
w
q
eof
@@ -877,7 +875,7 @@ enablefmt()
{
grep "^#![ ]*$1[ ]" $cnf_file >/dev/null || { (exit 0); return 0; }
ed $cnf_file >/dev/null 2>&1 <<-eof
- /^#![ ]*$1[ ]/s/..[ ]*//
+ g/^#![ ]*$1[ ]/s/..[ ]*//
w
q
eof
diff --git a/Build/source/texk/web2c/fmtutil.in b/Build/source/texk/web2c/fmtutil.in
index d7cb4ff3a4f..28161ffa769 100644
--- a/Build/source/texk/web2c/fmtutil.in
+++ b/Build/source/texk/web2c/fmtutil.in
@@ -37,6 +37,7 @@
# metafont and metapost:
mf mf-nowin - -translate-file=cp227.tcx mf.ini
mpost mpost - -translate-file=cp227.tcx mpost.mp
+metafun mpost - -translate-file=cp227.tcx metafun.mp
# Standard formats (plain, latex) with all engines:
#
@@ -67,6 +68,18 @@ amstex pdftex - -translate-file=cp227.tcx *amstex.ini
# if you want babel support in pdfamstex:
#! pdfamstex pdftex - -translate-file=cp227.tcx *pdfamstex.ini
+# Context formats:
+#! cont-cz pdftex cont-usr.tex -8bit *cont-cz.ini
+#! cont-cz xetex cont-usr.tex -8bit *cont-cz.ini
+#! cont-de pdftex cont-usr.tex -8bit *cont-de.ini
+#! cont-de xetex cont-usr.tex -8bit *cont-de.ini
+cont-en pdftex cont-usr.tex -8bit *cont-en.ini
+cont-en xetex cont-usr.tex -8bit *cont-en.ini
+#! cont-nl pdftex cont-usr.tex -8bit *cont-nl.ini
+#! cont-nl xetex cont-usr.tex -8bit *cont-nl.ini
+#! cont-uk pdftex cont-usr.tex -8bit *cont-uk.ini
+#! cont-uk xetex cont-usr.tex -8bit *cont-uk.ini
+
# language-specific things:
# - Cyrillic:
@@ -111,6 +124,9 @@ mllatex pdftex language.dat -translate-file=cp227.tcx -mltex mllatex.ini
# The TeX Live version of eplain.ini includes Babel support:
eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini
+# mptopdf utility
+mptopdf pdftex - -translate-file=cp227.tcx mptopdf.tex
+
# --- strange things
texsis pdftex - -translate-file=cp227.tcx texsis.ini
physe pdftex - physe.ini