#!/bin/sh

TARGET=$1

if [ "$TARGET" = "fmtutil.cnf" ] ; then
    SRC="@@TEXMFSYSCONFIG@@/fmtutil.d"
    SRCEXT="cnf"
    DST="@@TEXMFSYSVAR@@/web2c/fmtutil.cnf"
    COMMENT="#"
elif [ "$TARGET" = "language.dat" ] ; then
    SRC="@@TEXMFSYSCONFIG@@/language.d"
    SRCEXT="dat"
    DST="@@TEXMFSYSVAR@@/tex/generic/config/language.dat"
    COMMENT="%"
elif [ "$TARGET" = "language.def" ] ; then
    SRC="@@TEXMFSYSCONFIG@@/language.d"
    SRCEXT="def"
    DST="@@TEXMFSYSVAR@@/tex/generic/config/language.def"
    COMMENT="%"
elif [ "$TARGET" = "language.dat.lua" ] ; then
    SRC="@@TEXMFSYSCONFIG@@/language.d"
    SRCEXT="lua"
    DST="@@TEXMFSYSVAR@@/tex/generic/config/language.dat.lua"
    COMMENT="--"
elif [ "$TARGET" = "updmap.cfg" ] ; then
    SRC="@@TEXMFSYSCONFIG@@/updmap.d"
    SRCEXT="cfg"
    DST="@@TEXMFSYSVAR@@/web2c/updmap.cfg"
    COMMENT="#"
elif [ "$TARGET" = "texmf.cnf" ] ; then
    SRC="@@TEXMFSYSCONFIG@@/texmf.cnf.d"
    SRCEXT="cnf"
    DST="@@TEXMFSYSCONFIG@@/texmf.cnf"
    COMMENT="%"
else
    echo "Usage: $0 (fmtutil.cnf | language.dat | language.def | language.dat.lua | updmap.cfg | texmf.cnf)"
    exit 1
fi

TMPFILE=$DST.tmp

# language.def needs a version header as the first line

if [ "$TARGET" = "language.def" ] ; then
    echo "%% e-TeX V2.0;2" > $TMPFILE
else
    echo > $TMPFILE
fi

# Write header
cat >> $TMPFILE <<EOF
$COMMENT$COMMENT 
$COMMENT$COMMENT This file should not be edited directly!
$COMMENT$COMMENT
$COMMENT$COMMENT It was automatically generated by $0
$COMMENT$COMMENT from the contents of $SRC
$COMMENT$COMMENT on `date`.
$COMMENT$COMMENT 
EOF

# Process files
for file in `ls $SRC/*.$SRCEXT`; do
    cat >> $TMPFILE <<EOF


$COMMENT$COMMENT
$COMMENT$COMMENT Contents of $file
$COMMENT$COMMENT

EOF
    cat $file >> $TMPFILE
done

# language.def needs a default language at the very end
if [ "$TARGET" = "language.def" ] ; then
    cat >> $TMPFILE <<EOF

%
% The following line must be the last in the file.
%
\\uselanguage{USenglish}
EOF
fi

# language.dat.lua needs a closebrace the very end
if [ "$TARGET" = "language.dat.lua" ] ; then
    echo "}" >> $TMPFILE
fi

# install temp file
mv $TMPFILE $DST