#! /bin/sh

if [ $# -ne 2 ]
then
    >&2 echo usage: `basename $0` ppd-inst.sh install-ppd
    exit 1
fi

in="$1"
out="$2"

sed -e 's/@warning@/This file has been generated from "$in". Edit the original preferrably!/' -e '/# @begin-papersize@/,$d' <"$in" >"$out"
cat <<EOF >>"$out"

papersize_gs=/tmp/\$me.\$\$.ps

gspapersize() {
    if [ ! -f \$papersize_gs ]
    then
        cat <<EOPS >\$papersize_gs
EOF
cat papersize.ps >>"$out"
cat <<EOF >>"$out"
EOPS
     fi
     gs -q -sDEVICE="\$1" \$papersize_gs
}
rm -f \$papersize_gs
EOF
sed -e '1,/# @end-papersize@/d' -e '/# @begin-localize@/,$d' <"$in" >>"$out"

locales="`find locale -type d -print | sed 's,^locale/*,,'`"

cat <<EOF >>"$out"

localelist() {
EOF
echo -n "    echo '" >>"$out"
for locale in $locales
do
    echo -n "$locale " >>"$out"
done
echo "'" >>"$out"
cat <<EOF >>"$out"
}

localetranslated() {
    case "\$1" in
EOF
for locale in $locales
do
    cat <<EOF >>"$out"
	${locale}*) echo $locale;;
EOF
done

cat <<EOF >>"$out"
    esac
}

localesubst() {
    locsedscript=/tmp/\$me.\$\$.loc.sed
    case "\$1" in
EOF

for locale in $locales
do
    cat <<EOF >>"$out"
	${locale}*)
	    cat <<EOSED >\$locsedscript
EOF
    cat locale/$locale/ppd-chg.sed >>"$out"
    cat <<EOF >>"$out"
EOSED
	    sed -f \$locsedscript <"\$2"
	    rm -f \$locsedscript
	    ;;

EOF
done
cat <<EOF >>"$out"
	*)
	    cat "\$2"
	    ;;
    esac
}
EOF
sed -e '1,/# @end-localize@/d' <"$in" >>"$out"

