#! /bin/sh

# Values from c-auto.h

mk_NOTOOL=
mk_GREY=
mk_BUTTONS=
mk_MAKEPK=
mk_MAKEPK=
mk_MAKEPKCMD=
mk_PS_GS=
mk_GS_PATH='gs'
mk_PS_DPS=
mk_PS_NEWS=
mk_DEFAULT_CONFIG_PATH=
mk_SELFAUTO=
mk_CFG2RES=
mk_DOSNAMES=
mk_A4=
mk_USEKPATHSEA='y'
mk_SELFILE=
mk_HYPER=

# Values from xdvi_paths.h

mk_DEFAULT_TEXMF_PATH=
mk_DEFAULT_FONT_PATH=
mk_DEFAULT_VF_PATH=
mk_DEFAULT_FIG_PATH=
mk_DEFAULT_HEADER_PATH=

# Optional values from CFLAGS

mk_MFMODE='unspecified'
mk_BDPI=600
mk_DEFAULT_FONT_SIZES='m0:m0.5:m1:m2:m3:m4:m5'
mk_SHRINK=8
mk_XDVIFONTS_ONLY=
mk_MKPK_REDIRECT=

# Get first argument (directory for finding xdvi_paths.h)

if test -r xdvi_paths.h
then
  XDVI_PATHS_H=xdvi_paths.h
else
  XDVI_PATHS_H="$1/xdvi_paths.h"
fi
shift

# Get arguments from CFLAGS

for mk_arg
do
  case "$mk_arg" in
    -D*=*)
      eval "`echo \"$mk_arg\" | sed 's/^-D/mk_/'`"
      ;;
    -D*)
      eval "`echo \"$mk_arg\" | sed 's/^-D/mk_/'`=1"
      ;;
  esac
done

test "x$srcdir" = x && srcdir=.

# Get arguments from c-auto.h and xdvi_paths.h

eval "`cat c-auto.h "$XDVI_PATHS_H" \
  | grep '^[ 	]*#[ 	]*define[ 	]' \
  | sed 's/^[ 	]*#[ 	]*define[ 	][ 	]*/mk_/' \
  | sed 's/[ 	][ 	]*/=/'`"

# Process simple boolean arguments.

if test -n "$mk_NOTOOL";	then mk_CFG2RES=; mk_BUTTONS=;		fi
if test -z "$mk_GREY";		then echo '/^#ifgrey/,/^#/d';		fi
if test -z "$mk_BUTTONS";	then echo '/^#ifbuttons/,/^#/d';	fi
if test -z "$mk_PS_DPS";	then echo '/^#ifdps/,/^#/d';		fi
if test -z "$mk_PS_NEWS";	then echo '/^#ifnews/,/^#/d';		fi
if test -z "$mk_DOSNAMES";	then echo '/^#ifdosnames/,/^#/d';	fi
if test -n "$mk_XDVIFONTS_ONLY";then echo '/^#iftexfonts/,/^#/d';	fi
if test -z "$USEKPATHSEA"; then	echo	'/^#ifkpathsea/,/^#/d'
			else	echo	'/^#ifnokpathsea/,/^#/d'; fi
if test -z "$HYPER";	then	echo	'/^#ifhyper/,/^#/d';	fi
if test -z "$SELFILE";	then	echo	'/^#ifselfile/,/^#/d';
			else	echo	'/^#ifnoselfile/,/^#/d'; fi

# Process arguments having to do with mktexpk/MakeTeXPK

if test -n "$mk_MAKEPK" || test -n "$mk_MAKETEXPK"; then
  if test -z "$mk_MAKEPKCMD"; then
    if test -n "$mk_MAKETEXPK"; then
      mk_MAKEPKCMD=MakeTeXPK
    else
      mk_MAKEPKCMD=mktexpk
    fi
  fi
  echo "s^@MKTEXPK_PATH@^$mk_MKTEXPK_PATH^"
  if test -n "$mk_MAKETEXPK"; then
    echo "s/@MKTEXPK_DEFAULT_MODE@/default/"
    if test -n "$mk_MKPK_REDIRECT"; then
      echo "s/@MKTEXPK_TAIL@/%n %d %b %m %o '' %r/"
    else
      echo "s/@MKTEXPK_TAIL@/%n %d %b %m %o/"
    fi
  else
    echo "s^@MKTEXPK_DEFAULT_MODE@^/^"
    echo "s/@MKTEXPK_TAIL@/--mfmode %o --bdpi %b --mag %m --dpi %d %n %r/"
  fi
else
  echo '/^#ifmakepk/,/^#/d'
fi

# Process remaining PostScript emulation arguments

if test -z "$mk_PS_GS"; then
  echo '/^#ifghost/,/^#/d'
else
  echo "s^@GS_PATH@^$mk_GS_PATH^"
fi

if test -n "$mk_PS_GS" || test -n "$mk_PS_DPS" || test -n "$mk_PS_NEWS"; then
  mk_PS=y
  echo '/^#ifnops/,/^#/d'
else
  mk_PS=
  echo '/^#ifps/,/^#/d'
fi

# Process arguments describing a config file

if test -n "$mk_CFG2RES"; then
  mk_SELFAUTO=y
else
  echo '/^#ifcfg2res/,/^#/d'
fi

if test -n "$mk_SELFAUTO"; then
  if test -z "$mk_DEFAULT_CONFIG_PATH"; then
    mk_DEFAULT_CONFIG_PATH='$SELFAUTODIR:$SELFAUTOPARENT'
  fi
else
  echo '/^#ifselfauto/,/^#/d'
fi

# Miscellaneous args

if test -n "$mk_A4"; then
  echo 's/@DEFAULT_PAGE_SIZE@/21 x 29.7 cm (A4 size)/'
  echo 's/@DEFAULT_UNIT@/cm " (centimeters)"/'
else
  echo 's/@DEFAULT_PAGE_SIZE@/8.5 x 11 inches/'
  echo 's/@DEFAULT_UNIT@/in " (inches)"/'
fi

echo "s^@MFMODE@^$mk_MFMODE^"
echo "s/@BDPI@/$mk_BDPI/"
echo "s/@SHRINK@/$mk_SHRINK/"

# Process paths.

if test -z "$mk_DEFAULT_CONFIG_PATH"; then
  echo '/^#ifconfig/,/^#/d'
else
  echo "s^@DEFAULT_CONFIG_PATH@   ^.TP 40\\
.B $mk_DEFAULT_CONFIG_PATH\\
^" | sed -e "s^:^\\\\\\
.TP\\\\\\
.B ^g"
fi

if test -z "$mk_DEFAULT_TEXMF_PATH"; then
  echo '/@DEFAULT_TEXMF_PATH@/d'
else
  echo "s^@DEFAULT_TEXMF_PATH@   ^.TP 40\\
.B $mk_DEFAULT_TEXMF_PATH\\
^" | sed -e "s^:^\\\\\\
.TP\\\\\\
.B ^g"
fi

echo "s^@DEFAULT_FONT_PATH@   ^.B $mk_DEFAULT_FONT_PATH\\
^" | sed -e "s@:@\\\\\\
.TP\\\\\\
.B @g"

if test -z "$mk_DEFAULT_VF_PATH"; then
  echo '/@DEFAULT_VF_PATH@/d'
else
  echo "s^@DEFAULT_VF_PATH@   ^.TP\\
.B $mk_DEFAULT_VF_PATH\\
^" | sed -e "s^:^\\\\\\
.TP\\\\\\
.B ^g"
fi

echo "s^@DEFAULT_FIG_PATH@   ^.B $mk_DEFAULT_FIG_PATH\\
^" | sed -e "s^:^\\\\\\
.TP\\\\\\
.B ^g"

echo "s^@DEFAULT_HEADER_PATH@   ^.B $mk_DEFAULT_HEADER_PATH\\
^" | sed -e "s^:^\\\\\\
.TP\\\\\\
.B ^g"

echo "s/@DEFAULT_FONT_SIZES@/$mk_DEFAULT_FONT_SIZES/" | sed -e "s/:/ :\\\\\\
/g"

# Combination changes.

if test -z "$mk_CFG2RES" || test -z "$mk_BUTTONS"; then
  echo '/^#ifcfg2resbuttons/,/^#/d'
fi

if test -z "$mk_PS" || test -z "$mk_DEFAULT_CONFIG_PATH"; then
  echo '/^#ifconfigps/,/^#/d'
fi

# Remove all remaining '#' lines

echo	'/^#/d'

# Done

exit 0
