]> git.lyx.org Git - lyx.git/blobdiff - lib/configure.m4
Remove files in ~/.lyx/xfonts if fonts.dir was erased.
[lyx.git] / lib / configure.m4
index e03b7e0aad73e0bb651387a339841b78319e8bdf..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
@@ -83,7 +83,7 @@ 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
@@ -100,28 +100,28 @@ rc_entries=
 lyx_check_config=yes
 lyx_keep_temps=no
 srcdir=
-lyx_suffix=
+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-lyx-suffix=suffix suffix of binary installed files
+  --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 ;;
-    --with-lyx-suffix*)
-      lyx_suffix=`echo "$ac_option" | sed 's,--with-lyx-suffix=,,;s,^,-,'`
-  esac 
+    --with-version-suffix*)
+      version_suffix=`echo "$ac_option" | sed 's,--with-version-suffix=,,'`
+  esac
 done
 
 
@@ -155,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
@@ -164,11 +164,12 @@ if test ! -r ${srcdir}/chkconfig.ltx ; then
 fi
 
 #### Adjust PATH for Win32 (Cygwin)
-if test "x$OSTYPE" = xcygwin; then
-  echo "configure: cygwin detected; path correction"
-  srcdir=`cygpath -w "${srcdir}" | tr '\\\\' /`
-  echo "srcdir=${srcdir}"
-fi
+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 clipart doc examples help images kbd layouts reLyX \
@@ -189,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=
@@ -219,11 +220,11 @@ PATH=${PATH}:./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$lyx_suffix,"`
+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$lyx_suffix,"`
+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 Noweb -> LaTeX converter],literate_to_tex_command,noweave)
@@ -252,11 +253,14 @@ SEARCH_PROG([for a PDF preview],PDF_VIEWER,acroread gv ghostview xpdf)
 SEARCH_PROG([for a DVI previewer],DVI_VIEWER, xdvi windvi yap)
 
 # Search something to preview html
-SEARCH_PROG([for a HTML previewer],HTML_VIEWER, netscape)
+SEARCH_PROG([for a HTML previewer],HTML_VIEWER, "mozilla file://\$\$p\$\$i" netscape)
+
+# 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 \$\$i"
+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],dvi_to_ps_command,dvips)
@@ -266,6 +270,9 @@ test $dvi_to_ps_command = "dvips" && dvi_to_ps_command="dvips -o \$\$o \$\$i"
 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)
 LYXRC_PROG([for a *roff formatter], \ascii_roff_command, dnl
   'groff -t -Tlatin1 $$FName' nroff,dnl
@@ -278,6 +285,10 @@ LYXRC_PROG([for ChkTeX], \chktex_command,dnl
 # Search for a spellchecker
 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
@@ -291,7 +302,8 @@ dnl   fax_command="none"
 dnl fi
 
 # Search a GUI Fax program
-SEARCH_PROG([for a fax program], fax_command, ksendfax)
+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
@@ -352,34 +364,6 @@ case $TOHTML in
       hevea) latex_to_html_command="hevea -s \$\$i";;
 esac
 
-#### Search for image conversion ####
-SEARCH_PROG([for an Image -> EPS converter], TOEPS, convert pnmtops)
-case $TOEPS in
-       convert) bmp_to_eps="convert BMP:\$\$i EPS:\$\$o" fits_to_eps="convert FITS:\$\$i EPS:\$\$o" gif_to_eps="convert GIF:\$\$i EPS:\$\$o" jpg_to_eps="convert JPG:\$\$i EPS:\$\$o" pbm_to_eps="convert PBM:\$\$i EPS:\$\$o" pgm_to_eps="convert PGM:\$\$i EPS:\$\$o" png_to_eps="convert PNG:\$\$i EPS:\$\$o" ppm_to_eps="convert PPM:\$\$i EPS:\$\$o" sgi_to_eps="convert SGI:\$\$i EPS:\$\$o" xbm_to_eps="convert XBM:\$\$i EPS:\$\$o" xwd_to_eps="convert XWD:\$\$i EPS:\$\$o" ;;
-       pnmtops) gif_to_eps="giftopnm \$\$i | pnmtops > \$\$o" png_to_eps="pngtopnm \$\$i | pnmtops >\$\$o" jpg_to_eps="jpegtopnm \$\$i | pnmtops >\$\$o";;
-esac
-
-SEARCH_PROG([for a Image -> PNG converter], TOPNG, convert pnmtopng)
-case $TOPNG in
-       convert) gif_to_png="convert GIF:\$\$i PNG:\$\$o" eps_to_png="convert EPS:\$\$i PNG:\$\$o" jpg_to_png="convert JPG:\$\$i PNG:\$\$o";;
-       pnmtopng) gif_to_png="giftopnm \$\$i | pnmtopng >\$\$o" eps_to_png="pstopnm \$\$i| pnmtopng >\$\$o" jpg_to_png="jpegtopnm \$\$i | pnmtopng >\$\$o";;
-esac
-
-SEARCH_PROG([for a Image -> XPM converter], TOXPM, convert)
-if test "$TOXPM" = "convert"; then
-       gif_to_xpm="convert GIF:\$\$i XPM:\$\$o"
-       eps_to_xpm="convert EPS:\$\$i XPM:\$\$o" 
-       jpg_to_xpm="convert JPG:\$\$i XPM:\$\$o"
-       png_to_xpm="convert PNG:\$\$i XPM:\$\$o"
-       ps_to_xpm="convert PS:\$\$i XPM:\$\$o" 
-       xbm_to_xpm="convert XBM:\$\$i XPM:\$\$o" 
-fi
-
-SEARCH_PROG([For an EPS -> PDF converter], EPSTOPDF, epstopdf)
-case $EPSTOPDF in
-       epstopdf) eps_to_pdf="epstopdf --outfile=\$\$o \$\$i";;
-esac
-
 #### Explore the LaTeX configuration
 MSG_CHECKING(LaTeX configuration)
 # First, remove the files that we want to re-create
@@ -396,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'`
@@ -413,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
@@ -456,13 +440,11 @@ cat >$outfile <<EOF
 \\Format bmp      bmp  BMP             ""
 \\Format dvi     dvi   DVI             D
 \\Format eps     eps   EPS             ""
-\\Format epsi     epsi  EPSI           ""
+\\Format epsi    epsi  EPSI            ""
 \\Format fax     ""    Fax             ""
-\\Format fits     fits FITS            ""
-\\Format gif      gif  GIF             ""
-\\Format grace    agr  GRACE           ""
+\\Format fig     fig   XFig            ""
+\\Format agr      agr  GRACE           ""
 \\Format html    html  HTML            H
-\\Format jpg      jpg  JPEG            ""
 \\Format latex   tex   LaTeX           L
 \\Format linuxdoc sgml LinuxDoc        x
 \\Format lyx      lyx  LyX             ""
@@ -470,19 +452,15 @@ cat >$outfile <<EOF
 \\Format pdf     pdf   PDF             P
 \\Format pdf2    pdf  "PDF (pdflatex)" F
 \\Format pdf3    pdf  "PDF (dvipdfm)"  m
-\\Format pbm     pbm   PBM             ""
-\\Format pgm     pgm   PGM             ""
 \\Format png     png   PNG             ""
 \\Format ppm     ppm   PPM             ""
 \\Format ps      ps    Postscript      t
 \\Format program  ""   Program         ""
-\\Format sgi      sgi  SGI             ""
-\\Format tgif     tgif TGIF            ""
+\\Format tgif     obj  TGIF            ""
 \\Format tiff     tif  TIFF            ""
-\\Format xbm      xbm   XBM             ""
-\\Format xpm      xpm   XPM             ""
-\\Format xwd      xwd  XWD             ""
 \\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"
@@ -498,62 +476,83 @@ cat >$outfile <<EOF
 \\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" ""
 
-\\converter agr  eps "xmgrace -hardcopy -hdevice EPS \$\$i" ""
-\\converter bmp  eps "$bmp_to_eps" ""
-\\converter fits  eps "$fits_to_eps" ""
-\\converter gif  eps "$gif_to_eps" ""
-\\converter jpg  eps "$jpg_to_eps" ""
-\\converter pbm  eps "$pbm_to_eps" ""
-\\converter pgm  eps "$pgm_to_eps" ""
-\\converter png  eps "$png_to_eps" ""
-\\converter ppm  eps "$ppm_to_eps" ""
-\\converter sgi  eps "$sgi_to_eps" ""
-\\converter tgif eps "tgif -print -eps \$\$i" ""
-\\converter tiff eps "tiff2ps \$\$i > \$\$o" ""
-\\converter xbm  eps "$xbm_to_eps" ""
-\\converter xwd  eps "$xwd_to_eps" ""
-
-\\converter tgif xpm "tgif -print -stdout -xpm \$\$i > \$\$o" ""
-\\converter tgif png "tgif -print -stdout -png \$\$i > \$\$o" ""
-\\converter tgif pdf "tgif -print -stdout -pdf \$\$i > \$\$o" ""
-
-\\converter gif  png "$gif_to_png" ""
-\\converter eps  png "$eps_to_png" ""
-\\converter epsi png "$eps_to_png" ""
-\\converter jpg  png "$jpg_to_png" ""
-
-\\converter gif  xpm "$gif_to_xpm" ""
-\\converter eps  xpm "$eps_to_xpm" ""
-\\converter epsi xpm "$eps_to_xpm" ""
-\\converter jpg  xpm "$jpg_to_xpm" ""
-\\converter png  xpm "$png_to_xpm" ""
-\\converter ps  xpm "$ps_to_xpm" ""
-\\converter xbm  xpm "$xbm_to_xpm" ""
-\\converter eps  pdf "$eps_to_pdf" ""
-\\converter epsi pdf "$eps_to_pdf" ""
-
 \\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"
+fontlist="cmex10 cmmi10 cmr10 cmsy10 eufm10 msam10 msbm10 wasy10"
 rm -f xfonts/fonts.dir xfonts/fonts.scale xfonts/tmpfonts
 
 num=0
@@ -583,20 +582,23 @@ rm -f xfonts/tmpfonts
 
 
 # Remove superfluous files if we are not writing in the main lib
-# directory 
+# directory
 for file in $outfile textclass.lst packages.lst \
-            doc/LaTeXConfig.lyx xfonts/fonts.dir ; do
+           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