]> git.lyx.org Git - lyx.git/blobdiff - lib/configure.m4
re-add stuff to math menu
[lyx.git] / lib / configure.m4
index 5263c06218a9f4d333a703d720d298e7f934fce9..f69946572154a5640906d805a451689c87c2b096 100644 (file)
@@ -37,7 +37,7 @@ do
 set dummy $ac_prog ; ac_word=$[2]
 if test -n "$ac_word"; then
   MSG_CHECKING([for \"$ac_word\"],[+])
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -x [$ac_dir/$ac_word]; then
@@ -49,10 +49,10 @@ if test -n "$ac_word"; then
 
   if test -n "[$]$2"; then
     ac_result=yes
+    ifelse($4,,,[$4])
   else
     ac_result=no
   fi
-  ifelse($4,,,[$4])
   MSG_RESULT($ac_result)
   test -n "[$]$2" && break
 fi
@@ -67,10 +67,23 @@ changequote(,)dnl
 ])dnl
 dnl
 dnl
+dnl LYXRC_VAR(VARIABLE_NAME, VALUE)
+define(LYXRC_VAR,[dnl
+rc_entries="$rc_entries
+$1 \"$2\""])
+dnl
+dnl
+dnl LYXRC_PROG(FEATURE-DESCRIPTION,VARIABLE-NAME,PROGRAMS-LIST,
+dnl             ACTION-IF-FOUND,ACTION-IF-NOT-FOUND)
+define(LYXRC_PROG,[dnl
+SEARCH_PROG($1,prog,$3,$4,$5)
+LYXRC_VAR($2,$prog)])
+dnl
+dnl
 dnl PROVIDE_DEFAULT_FILE(FILE, DEFAULT-VALUE)
 dnl
 define(PROVIDE_DEFAULT_FILE,[dnl
-# if $1 does not exist (because LaTeX did not run), 
+# if $1 does not exist (because LaTeX did not run),
 # then provide a standard version.
 if test ! -f $1 ; then
   cat >$1 <<EOF
@@ -82,27 +95,33 @@ dnl ######### End M4 macros #############################################
 
 
 ####some configuration variables
+outfile=lyxrc.defaults
+rc_entries=
 lyx_check_config=yes
 lyx_keep_temps=no
 srcdir=
+version_suffix=
 
 #### Parse the command line
 for ac_option do
   case "$ac_option" in
     -help | --help | -h)
       cat << EOF
-Usage: configure [options] 
-Options: 
+Usage: configure [options]
+Options:
   --help                   show this help lines
   --keep-temps             keep temporary files (for debug. purposes)
   --without-latex-config   do not run LaTeX to determine configuration
+  --with-version-suffix=suffix suffix of binary installed files
 EOF
       exit 0;;
     --without-latex-config)
       lyx_check_config=no ;;
     --keep-temps)
       lyx_keep_temps=yes ;;
-  esac 
+    --with-version-suffix*)
+      version_suffix=`echo "$ac_option" | sed 's,--with-version-suffix=,,'`
+  esac
 done
 
 
@@ -136,7 +155,7 @@ if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
 changequote([,])dnl
 ac_prog=[$]0
 changequote(,)dnl
-srcdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` 
+srcdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
 srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
 test "x$srcdir" = "x$ac_prog" && srcdir=.
 if test ! -r ${srcdir}/chkconfig.ltx ; then
@@ -144,9 +163,17 @@ if test ! -r ${srcdir}/chkconfig.ltx ; then
   exit 1
 fi
 
+#### Adjust PATH for Win32 (Cygwin)
+case `uname -s` in
+   CYGWIN*)
+     echo "configure: cygwin detected; path correction"
+     srcdir=`cygpath -w "${srcdir}" | tr '\\\\' /`
+     echo "srcdir=${srcdir}" ;;
+esac
 
 #### Create the build directories if necessary
-for dir in bind doc kbd layouts templates reLyX ; do
+for dir in bind clipart doc examples help images kbd layouts reLyX \
+    scripts templates ui xfonts; do
   test ! -d $dir && mkdir $dir
 done
 
@@ -163,7 +190,7 @@ cat >chklatex.ltx <<EOF
 \\@@end
 EOF
 if eval ${LATEX} chklatex.ltx </dev/null 2>/dev/null \
-                       | grep 'ThisIsLaTeX2e' >/dev/null; then
+                      | grep 'ThisIsLaTeX2e' >/dev/null; then
   :
 else
   LATEX=
@@ -174,60 +201,110 @@ dnl
 # Search LaTeX2e
 SEARCH_PROG([for a LaTeX2e program],LATEX,latex latex2e,CHECKLATEX2E,dnl
   [lyx_check_config=no])
-if test x$lyx_check_config != x ; then
-SEARCH_PROG([for the pdflatex program],PDFLATEX,pdflatex,CHECKLATEX2E)
+latex_to_dvi=$LATEX
+test -z "$latex_to_dvi" && latex_to_dvi="none"
+
+# Search for pdflatex
+if test ${lyx_check_config} = no ; then
+  latex_to_pdf=none
+else
+  SEARCH_PROG([for the pdflatex program],latex_to_pdf,pdflatex)
 fi
 
+test $latex_to_dvi != "none" && latex_to_dvi="$latex_to_dvi \$\$i"
+test $latex_to_pdf != "none" && latex_to_pdf="$latex_to_pdf \$\$i"
+
 # Search for an installed reLyX or a ready-to-install one
 save_PATH=${PATH}
 PATH=${PATH}:./reLyX/
-SEARCH_PROG([for reLyX LaTeX-to-LyX translator],RELYX,reLyX)
+SEARCH_PROG([for a LaTeX -> LyX converter],tex_to_lyx_command,reLyX)
 PATH=${save_PATH}
+test $tex_to_lyx_command = "reLyX" && tex_to_lyx_command="reLyX -f \$\$i"
+tex_to_lyx_command=`echo $tex_to_lyx_command | sed "s,reLyX,reLyX$version_suffix,"`
+
+SEARCH_PROG([for a Noweb -> LyX converter],literate_to_lyx_command,noweb2lyx)
+test $literate_to_lyx_command = "noweb2lyx" && literate_to_lyx_command="noweb2lyx \$\$i \$\$o"
+literate_to_lyx_command=`echo $literate_to_lyx_command | sed "s,noweb2lyx,noweb2lyx$version_suffix,"`
 
 # Search something to process a literate document
-SEARCH_PROG([for a Literate programming processor],LITERATE,"noweave -delay -index")
-if test "$LITERATE" = "none"; then LITERATE_EXT="none"; else LITERATE_EXT=".nw"; fi
+SEARCH_PROG([for a Noweb -> LaTeX converter],literate_to_tex_command,noweave)
+test $literate_to_tex_command = "noweave" && literate_to_tex_command="noweave -delay -index \$\$i > \$\$o"
+
+SEARCH_PROG([for a HTML -> Latex converter],html_to_latex_command,html2latex)
+test $html_to_latex_command = "html2latex" && html_to_latex_command="html2latex \$\$i"
+
+SEARCH_PROG([for a MSWord -> Latex converter],word_to_latex_command,wvCleanLatex word2x)
+test "$word_to_latex_command" = "wvCleanLatex" && word_to_latex_command="wvCleanLatex \$\$i \$\$o"
+test "$word_to_latex_command" = "word2x" && word_to_latex_command="word2x -f latex \$\$i"
+
+SEARCH_PROG([for Image converter],image_command,convert)
+test $image_command = "convert" && image_command="convert \$\$i \$\$o"
 
 # Search for a Postscript interpreter
-SEARCH_PROG([for a Postscript interpreter],GS, gs)
+LYXRC_PROG([for a Postscript interpreter], \ps_command, gs)
 
 # Search something to preview postscript
 SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gv ghostview)
 
 # Search for a program to preview pdf
-SEARCH_PROG([for a PDF preview],PDFVIEWER,xpdf acroread gv ghostview)
+SEARCH_PROG([for a PDF preview],PDF_VIEWER,acroread gv ghostview xpdf)
+
+# Search something to preview dvi
+SEARCH_PROG([for a DVI previewer],DVI_VIEWER, xdvi windvi yap)
+
+# Search something to preview html
+SEARCH_PROG([for a HTML previewer],HTML_VIEWER, "mozilla file://\$\$p\$\$i" netscape)
 
-# Search for a program to convert pdf to ps
-SEARCH_PROG([for a PDF to PS converter],PDFPS,pdf2ps pdftops)
+# Search for a program to preview latex code
+SEARCH_PROG([for a LaTeX preview],LATEX_VIEWER, "xterm -e less")
+
+# Search for a program to convert ps to pdf
+SEARCH_PROG([for a PS to PDF converter],ps_to_pdf_command,ps2pdf)
+test $ps_to_pdf_command = "ps2pdf" && ps_to_pdf_command="ps2pdf -dCompatibilityLevel=1.3 \$\$i"
 
 # Search for a program to convert dvi to ps
-SEARCH_PROG([for a DVI to PS converter],DVIPS,dvips)
+SEARCH_PROG([for a DVI to PS converter],dvi_to_ps_command,dvips)
+test $dvi_to_ps_command = "dvips" && dvi_to_ps_command="dvips -o \$\$o \$\$i"
+
+# Search for a program to convert dvi to pdf
+SEARCH_PROG([for a DVI to PDF converter],dvi_to_pdf_command,dvipdfm)
+test $dvi_to_pdf_command = "dvipdfm" && dvi_to_pdf_command="dvipdfm \$\$i"
+
+# We have a script to convert previewlyx to ppm
+lyxpreview_to_bitmap_command="lyxpreview2bitmap.sh"
 
 # Search a *roff program (used to translate tables in ASCII export)
-SEARCH_PROG([for a *roff formatter],ROFF,groff nroff)
-ascii_roff_command=$ROFF
-test $ROFF = "groff" && ascii_roff_command="groff -t -Tlatin1 \$\$FName"
-test $ROFF = "nroff" && ascii_roff_command="tbl \$\$FName | nroff"
+LYXRC_PROG([for a *roff formatter], \ascii_roff_command, dnl
+  'groff -t -Tlatin1 $$FName' nroff,dnl
+  test "$prog" = "nroff" && prog='tbl $$FName | nroff')
 
 # Search the ChkTeX program
-SEARCH_PROG([for ChkTeX],CHKTEX,chktex)
-chktex_command=$CHKTEX
-test $CHKTEX = "chktex" && chktex_command="$CHKTEX -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38"
+LYXRC_PROG([for ChkTeX], \chktex_command,dnl
+   "chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38")
 
 # Search for a spellchecker
-SEARCH_PROG([for a spell-checker], SPELL,ispell)
-
-# Search a Fax handling program
-SEARCH_PROG([for a fax driver], FAX, sendfax faxsend fax)
-if test $FAX = sendfax ; then
-  fax_command="sendfax -n -h '\$\$Host' -c '\$\$Comment' -x '\$\$Enterprise' -d '\$\$Name'@'\$\$Phone' '\$\$FName'"
-elif test $FAX = faxsend ; then
-  fax_command="faxsend '\$\$Phone' '\$\$FName'"
-elif test $FAX = fax ; then
-  fax_command="fax send '\$\$Phone' '\$\$FName'"
-else
-  fax_command="none"
-fi
+LYXRC_PROG([for a spell-checker], \spell_command, ispell)
+
+# Search for computer algebra systems
+SEARCH_PROG([for Octave],OCTAVE,octave)
+SEARCH_PROG([for Maple],MAPLE,maple)
+
+dnl # Search a Fax handling program
+dnl SEARCH_PROG([for a fax driver], FAX, sendfax faxsend fax)
+dnl if test $FAX = sendfax ; then
+dnl   fax_command="sendfax -n -h '\$\$Host' -c '\$\$Comment' -x '\$\$Enterprise' -d '\$\$Name'@'\$\$Phone' '\$\$FName'"
+dnl elif test $FAX = faxsend ; then
+dnl   fax_command="faxsend '\$\$Phone' '\$\$FName'"
+dnl elif test $FAX = fax ; then
+dnl   fax_command="fax send '\$\$Phone' '\$\$FName'"
+dnl else
+dnl   fax_command="none"
+dnl fi
+
+# Search a GUI Fax program
+SEARCH_PROG([for a fax program], fax_command, kdeprintfax ksendfax)
+test $fax_command = "kdeprintfax" && fax_command="kdeprintfax \$\$i"
+test $fax_command = "ksendfax" && fax_command="ksendfax \$\$i"
 
 # Search for LinuxDoc support
 SEARCH_PROG([for SGML-tools 1.x (LinuxDoc)], LINUXDOC, sgml2lyx)
@@ -239,11 +316,13 @@ fi
 
 case $LINUXDOC in
   sgml2lyx)
-    linuxdoc_to_latex_command="sgml2latex"
-    linuxdoc_to_html_command="sgml2html '\$\$FName'"
-    linuxdoc_to_lyx_command="sgml2lyx";;
+    linuxdoc_to_latex_command="sgml2latex \$\$i"
+    linuxdoc_to_dvi_command="sgml2latex -o dvi \$\$i"
+    linuxdoc_to_html_command="sgml2html \$\$i"
+    linuxdoc_to_lyx_command="sgml2lyx \$\$i";;
   none)
     linuxdoc_to_latex_command="none"
+    linuxdoc_to_dvi_command="none"
     linuxdoc_to_html_command="none"
     linuxdoc_to_lyx_command="none";;
 esac
@@ -258,32 +337,31 @@ fi
 
 case $DOCBOOK in
   sgmltools)
-    docbook_to_dvi_command="sgmltools -b dvi"
-    docbook_to_html_command="sgmltools -b html '\$\$FName'";;
+    docbook_to_dvi_command="sgmltools -b dvi \$\$i"
+    docbook_to_html_command="sgmltools -b html \$\$i";;
   db2dvi)
-    docbook_to_dvi_command="db2dvi"
-    docbook_to_html_command="db2html '\$\$FName'";;
+    docbook_to_dvi_command="db2dvi \$\$i"
+    docbook_to_html_command="db2html \$\$i";;
   none)
     docbook_to_dvi_command="none"
     docbook_to_html_command="none";;
 esac
 
 # Search for a spool command
-SEARCH_PROG([for a spool command], LPR, lp lpr)
-case $LPR in
-  lp) print_spool_command=lp
-      print_spool_printerprefix="-d ";;
- lpr) print_spool_command=lpr
-      print_spool_printerprefix="-P";;
+LYXRC_PROG([for a spool command], \print_spool_command, lp lpr)
+case $prog in
+  lp) print_spool_printerprefix="-d ";;
+ lpr) print_spool_printerprefix="-P";;
    *) :;; # leave to empty values
 esac
+LYXRC_VAR(\print_spool_printerprefix, $print_spool_printerprefix)
 
-# Search for a latex to html converter
-SEARCH_PROG([for an HTML converter], TOHTML, tth latex2html hevea)
+SEARCH_PROG([for a LaTeX -> HTML converter], TOHTML, tth latex2html hevea)
+latex_to_html_command=$TOHTML
 case $TOHTML in
-       tth) html_command="tth -t < '\$\$FName' > '\$\$OutName'";;
- latex2html) html_command="latex2html -no_subdir -split 0 -show_section_numbers '\$\$FName'";;
-      hevea) html_command="hevea -s '\$\$FName'";;
+       tth) latex_to_html_command="tth -t -e2 -L\$\$b < \$\$i > \$\$o";;
+ latex2html) latex_to_html_command="latex2html -no_subdir -split 0 -show_section_numbers \$\$i";;
+      hevea) latex_to_html_command="hevea -s \$\$i";;
 esac
 
 #### Explore the LaTeX configuration
@@ -302,15 +380,15 @@ ${docbook_cmd}
 \\input{${srcdir}/chkconfig.ltx}
 EOF
   ## Construct the list of classes to test for.
-  # build the list of available layout files and convert it to commands 
-  # for chkconfig.ltx 
-  for file in ./layouts/*.layout ${srcdir}/layouts/*.layout ; do 
+  # build the list of available layout files and convert it to commands
+  # for chkconfig.ltx
+  for file in ./layouts/*.layout ${srcdir}/layouts/*.layout ; do
     case $file in
       */\*.layout) ;;
       *) test -r "$file" && echo $file ;;
     esac
   done | sed -e 's%^.*layouts/\(.*\)\.layout$%\\TestDocClass{\1}%'\
-             > chklayouts.tex
+            > chklayouts.tex
 changequote([,])dnl
   [eval] ${LATEX} wrap_chkconfig.ltx 2>/dev/null | grep '^\+'
   [eval] `cat chkconfig.vars | sed 's/-/_/g'`
@@ -319,13 +397,13 @@ fi
 
 # Do we have all the files we need? Useful if latex did not run
 changequote([,])dnl
-echo creating textclass.lst 
+echo "creating textclass.lst"
 PROVIDE_DEFAULT_FILE(textclass.lst,dnl
 [# This file declares layouts and their associated definition files
 # (include dir. relative to the place where this file is).
-# It contains only default values, since chkconfig.ltx could not be run 
+# It contains only default values, since chkconfig.ltx could not be run
 # for some reason. Run ./configure if you need to update it after a
-# configuration change.  
+# configuration change.
 article        article article
 report report  report
 book   book    book
@@ -334,7 +412,7 @@ letter      letter  letter])
 
 PROVIDE_DEFAULT_FILE(chkconfig.sed,[s/@.*@/???/g])
 
-echo creating packages.lst
+echo "creating packages.lst"
 PROVIDE_DEFAULT_FILE(packages.lst,dnl
 [# This file should contain the list of LaTeX packages that have been
 # recognized by LyX. Unfortunately, since configure could not find
@@ -343,61 +421,184 @@ PROVIDE_DEFAULT_FILE(packages.lst,dnl
 ])
 changequote(,)dnl
 
-echo creating doc/LaTeXConfig.lyx
+echo "creating doc/LaTeXConfig.lyx"
 echo "s/@chk_linuxdoc@/$chk_linuxdoc/g" >> chkconfig.sed
 echo "s/@chk_docbook@/$chk_docbook/g" >> chkconfig.sed
 sed -f chkconfig.sed ${srcdir}/doc/LaTeXConfig.lyx.in >doc/LaTeXConfig.lyx
 
-echo creating lyxrc.defaults
-rm -f lyxrc.defaults
-cat >lyxrc.defaults <<EOF
+echo "creating $outfile"
+cat >$outfile <<EOF
 # This file has been automatically generated by LyX' lib/configure
 # script. It contains default settings that have been determined by
 # examining your system. PLEASE DO NOT MODIFY ANYTHING HERE! If you
 # want to customize LyX, make a copy of the file LYXDIR/lyxrc as
 # ~/.lyx/lyxrc and edit this file instead. Any setting in lyxrc will
 # override the values given here.
-\\latex_command "$LATEX"
-\\pdflatex_command "$PDFLATEX"
-\\view_pdf_command "$PDFVIEWER"
-\\pdf_to_ps_command "$PDFPS"
-\\dvi_to_ps_command "$DVIPS"
-\\relyx_command "$RELYX"
-\\literate_command "$LITERATE"
-\\literate_extension "$LITERATE_EXT"
-\\ps_command "$GS"
-\\view_ps_command "$GHOSTVIEW -swap"
-\\view_pspic_command "$GHOSTVIEW"
-\\ascii_roff_command "$ascii_roff_command"
-\\chktex_command "$chktex_command"
-\\spell_command "$SPELL"
-\\fax_command "$fax_command"
-\\linuxdoc_to_latex_command "$linuxdoc_to_latex_command"
-\\linuxdoc_to_html_command "$linuxdoc_to_html_command"
-\\linuxdoc_to_lyx_command "$linuxdoc_to_lyx_command"
-\\docbook_to_dvi_command "$docbook_to_dvi_command"
-\\docbook_to_html_command "$docbook_to_html_command"
-\\html_command "$html_command"
-\\print_spool_command "$print_spool_command"
-\\print_spool_printerprefix "$print_spool_printerprefix"
+\\Format text    txt   ASCII           A
+\\Format textparagraph txt ASCII(paragraphs)   ""
+\\Format docbook  sgml DocBook         B
+\\Format bmp      bmp  BMP             ""
+\\Format dvi     dvi   DVI             D
+\\Format eps     eps   EPS             ""
+\\Format epsi    epsi  EPSI            ""
+\\Format fax     ""    Fax             ""
+\\Format fig     fig   XFig            ""
+\\Format agr      agr  GRACE           ""
+\\Format html    html  HTML            H
+\\Format latex   tex   LaTeX           L
+\\Format linuxdoc sgml LinuxDoc        x
+\\Format lyx      lyx  LyX             ""
+\\Format literate nw   NoWeb           N
+\\Format pdf     pdf   PDF             P
+\\Format pdf2    pdf  "PDF (pdflatex)" F
+\\Format pdf3    pdf  "PDF (dvipdfm)"  m
+\\Format png     png   PNG             ""
+\\Format ppm     ppm   PPM             ""
+\\Format ps      ps    Postscript      t
+\\Format program  ""   Program         ""
+\\Format tgif     obj  TGIF            ""
+\\Format tiff     tif  TIFF            ""
+\\Format word    doc   Word            W
+\\Format xpm     xpm   XPM             ""
+\\Format lyxpreview    lyxpreview      "LyX Preview"           ""
+
+\\converter latex dvi "$latex_to_dvi" "latex"
+\\converter latex pdf2 "$latex_to_pdf" "latex"
+\\converter latex html "$latex_to_html_command" "originaldir,needaux"
+\\converter literate latex "$literate_to_tex_command" ""
+\\converter dvi pdf3 "$dvi_to_pdf_command" ""
+\\converter dvi ps "$dvi_to_ps_command" ""
+\\converter ps pdf "$ps_to_pdf_command" ""
+\\converter ps fax "$fax_command" ""
+\\converter linuxdoc lyx "$linuxdoc_to_lyx_command" ""
+\\converter linuxdoc latex "$linuxdoc_to_latex_command" ""
+\\converter linuxdoc dvi "$linuxdoc_to_dvi_command" ""
+\\converter linuxdoc html "$linuxdoc_to_html_command" ""
+\\converter docbook dvi "$docbook_to_dvi_command" ""
+\\converter docbook html "$docbook_to_html_command" ""
+\\converter lyxpreview ppm "$lyxpreview_to_bitmap_command" ""
+
+\\converter latex lyx "$tex_to_lyx_command" ""
+\\converter literate lyx "$literate_to_lyx_command" ""
+\\converter html latex "$html_to_latex_command" ""
+\\converter word latex "$word_to_latex_command" ""
+
+\\viewer dvi "$DVI_VIEWER"
+\\viewer html "$HTML_VIEWER"
+\\viewer pdf "$PDF_VIEWER"
+\\viewer ps "$GHOSTVIEW -swap"
+\\viewer eps "$GHOSTVIEW"
+\\viewer latex "$LATEX_VIEWER"
+
+$rc_entries
 \\font_encoding "$chk_fontenc"
 EOF
 
+### the graphic converter part with the predefined ones
+#### Search for tne nonstandard converting progs
+#
+SEARCH_PROG([for an FIG -> EPS/XPM converter], FIG2DEV, fig2dev)
+if test "$FIG2DEV" = "fig2dev"; then
+cat >>$outfile <<EOF
+\\converter fig eps "fig2dev -L eps \$\$i \$\$o" ""
+\\converter fig xpm "fig2dev -L xpm \$\$i \$\$o" ""
+EOF
+fi
+
+SEARCH_PROG([for an TIFF -> PS converter], TIFF2PS, tiff2ps)
+if test "$TIFF2PS" = "tiff2ps"; then
+cat >>$outfile <<EOF
+\\converter tiff eps "tiff2ps \$\$i > \$\$o" ""
+EOF
+fi
+
+SEARCH_PROG([for an TGIF -> EPS/XPM converter], TGIF, tgif)
+if test "$TGIF" = "tgif"; then
+cat >>$outfile <<EOF
+\\converter tgif eps "tgif -print -eps \$\$i" ""
+\\converter tgif pdf "tgif -print -pdf \$\$i" ""
+\\converter tgif png "tgif -print -png \$\$i" ""
+\\converter tgif xpm "tgif -print -stdout -xpm \$\$i > \$\$o" ""
+EOF
+fi
+
+SEARCH_PROG([for an EPS -> PDF converter], EPSTOPDF, epstopdf)
+if test "$EPSTOPDF" = "epstopdf"; then
+cat >>$outfile <<EOF
+\\converter eps pdf "epstopdf --outfile=\$\$o \$\$i" ""
+EOF
+fi
+
+SEARCH_PROG([for an EPSI ->  EPS/XPM converter], EPS2EPS, eps2eps)
+if test "$EPS2EPS" = "eps2eps"; then
+cat >>$outfile <<EOF
+\\converter epsi pdf "epstopdf --outfile=\$\$o \$\$i" ""
+\\converter epsi eps "eps2eps \$\$i \$\$o" ""
+\\converter epsi xpm "eps2eps -sOutputFile=- \$\$i dummy.eps | convert - \$\$o" ""
+EOF
+fi
+
+#### Add Grace conversions (xmgrace needs an Xserver, gracebat doesn't.)
+SEARCH_PROG([for a Grace -> Image converter], GRACE, gracebat)
+if test "$GRACE" = "gracebat"; then 
+cat >>$outfile <<EOF
+\\converter agr eps "gracebat -hardcopy -printfile \$\$o -hdevice EPS \$\$i 2>/dev/null" ""
+\\converter agr png "gracebat -hardcopy -printfile \$\$o -hdevice PNG \$\$i 2>/dev/null" ""
+\\converter agr xpm "gracebat -hardcopy -printfile - -hdevice PNG \$\$i 2>/dev/null | convert - \$\$o" ""
+EOF
+fi
+
+######## X FONTS
+# create a fonts.dir file to make X fonts available to LyX
+echo "checking for TeX fonts"
+
+fontlist="cmex10 cmmi10 cmr10 cmsy10 eufm10 msam10 msbm10 wasy10"
+rm -f xfonts/fonts.dir xfonts/fonts.scale xfonts/tmpfonts
+
+num=0
+touch xfonts/tmpfonts
+for font in $fontlist ; do
+  MSG_CHECKING([for $font])
+  result=no
+  for ext in pfb pfa ttf ; do
+    if filepath=`kpsewhich $font.$ext` ; then
+      result="yes ($ext)"
+      rm -f xfonts/$font.$ext
+      ln -s $filepath xfonts 2>/dev/null
+      echo "$font.$ext -unknown-$font-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific" >>xfonts/tmpfonts
+      num=`expr $num + 1`
+      break
+    fi
+  done
+  MSG_RESULT($result)
+done
+
+if test ! $num = 0 ; then
+  echo $num >xfonts/fonts.scale
+  cat xfonts/tmpfonts >>xfonts/fonts.scale
+  cp xfonts/fonts.scale xfonts/fonts.dir
+fi
+rm -f xfonts/tmpfonts
+
+
 # Remove superfluous files if we are not writing in the main lib
-# directory 
-for file in lyxrc.defaults textclass.lst packages.lst \
-            doc/LaTeXConfig.lyx ; do
+# directory
+for file in $outfile textclass.lst packages.lst \
+           doc/LaTeXConfig.lyx xfonts/fonts.dir ; do
   # we rename the file first, so that we avoid comparing a file with itself
   mv $file $file.new
-  if test -r $srcdir/$file && diff $file.new $srcdir/$file >/dev/null 2>/dev/null ; 
-  then 
+  if test -r $srcdir/$file && diff $file.new $srcdir/$file >/dev/null 2>/dev/null ;
+  then
     echo "removing $file, which is identical to the system global version"
     rm -f $file.new
   else
     mv $file.new $file
   fi
 done
-
+if test ! -r xfonts/fonts.dir ; then
+    echo "removing font links"
+    rm -r xfonts/*.pfb xfonts/fonts.scale
+fi
 
 # Final clean-up
 if test $lyx_keep_temps = no ; then