]> git.lyx.org Git - lyx.git/blobdiff - lib/configure.m4
test for grace converters; check for gnu m4
[lyx.git] / lib / configure.m4
index 15ff8aea8c9780023ea60769dc31ec03188e861a..9fbf2391a765bd55a70af13ff2b8ab5d0b5d405d 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\"],[+])
 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
   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
 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
 # then provide a standard version.
 if test ! -f $1 ; then
   cat >$1 <<EOF
@@ -107,8 +107,8 @@ for ac_option do
   case "$ac_option" in
     -help | --help | -h)
       cat << EOF
   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
   --help                   show this help lines
   --keep-temps             keep temporary files (for debug. purposes)
   --without-latex-config   do not run LaTeX to determine configuration
@@ -121,7 +121,7 @@ EOF
       lyx_keep_temps=yes ;;
     --with-lyx-suffix*)
       lyx_suffix=`echo "$ac_option" | sed 's,--with-lyx-suffix=,,;s,^,-,'`
       lyx_keep_temps=yes ;;
     --with-lyx-suffix*)
       lyx_suffix=`echo "$ac_option" | sed 's,--with-lyx-suffix=,,;s,^,-,'`
-  esac 
+  esac
 done
 
 
 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
 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
 srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
 test "x$srcdir" = "x$ac_prog" && srcdir=.
 if test ! -r ${srcdir}/chkconfig.ltx ; then
@@ -172,7 +172,7 @@ fi
 
 #### Create the build directories if necessary
 for dir in bind clipart doc examples help images kbd layouts reLyX \
 
 #### Create the build directories if necessary
 for dir in bind clipart doc examples help images kbd layouts reLyX \
-    scripts templates ui ; do
+    scripts templates ui xfonts; do
   test ! -d $dir && mkdir $dir
 done
 
   test ! -d $dir && mkdir $dir
 done
 
@@ -189,7 +189,7 @@ cat >chklatex.ltx <<EOF
 \\@@end
 EOF
 if eval ${LATEX} chklatex.ltx </dev/null 2>/dev/null \
 \\@@end
 EOF
 if eval ${LATEX} chklatex.ltx </dev/null 2>/dev/null \
-                       | grep 'ThisIsLaTeX2e' >/dev/null; then
+                      | grep 'ThisIsLaTeX2e' >/dev/null; then
   :
 else
   LATEX=
   :
 else
   LATEX=
@@ -355,28 +355,65 @@ esac
 #### Search for image conversion ####
 SEARCH_PROG([for an Image -> EPS converter], TOEPS, convert pnmtops)
 case $TOEPS in
 #### 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" 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";;
+  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"
+    xpm_to_eps="convert XPM:\$\$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
 
 esac
 
-SEARCH_PROG([for a Image -> PNG converter], TOPNG, convert pnmtopng)
+SEARCH_PROG([for an Image -> PNG converter], TOPNG, convert pnmtopng)
 case $TOPNG in
 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";;
+  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
 
 esac
 
-SEARCH_PROG([for a Image -> XPM converter], TOXPM, convert)
+SEARCH_PROG([for an Image -> XPM converter], TOXPM, convert)
 if test "$TOXPM" = "convert"; then
 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" 
+  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
 
 fi
 
-SEARCH_PROG([For an EPS -> PDF converter], EPSTOPDF, epstopdf)
+SEARCH_PROG([for an EPS -> PDF converter], EPSTOPDF, epstopdf)
 case $EPSTOPDF in
 case $EPSTOPDF in
-       epstopdf) eps_to_pdf="epstopdf --outfile=\$\$o \$\$i";;
+  epstopdf) eps_to_pdf="epstopdf --outfile=\$\$o \$\$i";;
+esac
+
+#### Add Grace conversions (xmgrace needs an Xserver, gracebat doesn't.)
+SEARCH_PROG([for a Grace -> Image converter], GRACE, gracebat)
+case $GRACE in
+ gracebat) 
+  for device in `gracebat -version 2>/dev/null | grep "^Dummy"` ; do
+    case $device in
+      EPS)
+        agr_to_eps="xmgrace -hardcopy -printfile \$\$o -hdevice $device \$\$i";;
+      PDF)
+        agr_to_pdf="xmgrace -hardcopy -printfile \$\$o -hdevice $device \$\$i";;
+      PNG)
+        agr_to_png="xmgrace -hardcopy -printfile \$\$o -hdevice $device \$\$i";;
+    esac
+  done 
 esac
 
 #### Explore the LaTeX configuration
 esac
 
 #### Explore the LaTeX configuration
@@ -395,15 +432,15 @@ ${docbook_cmd}
 \\input{${srcdir}/chkconfig.ltx}
 EOF
   ## Construct the list of classes to test for.
 \\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}%'\
     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'`
 changequote([,])dnl
   [eval] ${LATEX} wrap_chkconfig.ltx 2>/dev/null | grep '^\+'
   [eval] `cat chkconfig.vars | sed 's/-/_/g'`
@@ -412,13 +449,13 @@ fi
 
 # Do we have all the files we need? Useful if latex did not run
 changequote([,])dnl
 
 # 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).
 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
 # 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
 article        article article
 report report  report
 book   book    book
@@ -427,7 +464,7 @@ letter      letter  letter])
 
 PROVIDE_DEFAULT_FILE(chkconfig.sed,[s/@.*@/???/g])
 
 
 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
 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
@@ -436,12 +473,12 @@ PROVIDE_DEFAULT_FILE(packages.lst,dnl
 ])
 changequote(,)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 "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 $outfile
+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
 cat >$outfile <<EOF
 # This file has been automatically generated by LyX' lib/configure
 # script. It contains default settings that have been determined by
@@ -455,11 +492,11 @@ cat >$outfile <<EOF
 \\Format bmp      bmp  BMP             ""
 \\Format dvi     dvi   DVI             D
 \\Format eps     eps   EPS             ""
 \\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 fax     ""    Fax             ""
 \\Format fits     fits FITS            ""
 \\Format gif      gif  GIF             ""
-\\Format grace    agr  GRACE           ""
+\\Format agr      agr  GRACE           ""
 \\Format html    html  HTML            H
 \\Format jpg      jpg  JPEG            ""
 \\Format latex   tex   LaTeX           L
 \\Format html    html  HTML            H
 \\Format jpg      jpg  JPEG            ""
 \\Format latex   tex   LaTeX           L
@@ -478,6 +515,7 @@ cat >$outfile <<EOF
 \\Format sgi      sgi  SGI             ""
 \\Format tgif     tgif TGIF            ""
 \\Format tiff     tif  TIFF            ""
 \\Format sgi      sgi  SGI             ""
 \\Format tgif     tgif 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 xwd      xwd  XWD             ""
 \\Format word    doc   Word            W
@@ -502,7 +540,6 @@ cat >$outfile <<EOF
 \\converter html latex "$html_to_latex_command" ""
 \\converter word latex "$word_to_latex_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 bmp  eps "$bmp_to_eps" ""
 \\converter fits  eps "$fits_to_eps" ""
 \\converter gif  eps "$gif_to_eps" ""
@@ -514,10 +551,13 @@ cat >$outfile <<EOF
 \\converter sgi  eps "$sgi_to_eps" ""
 \\converter tgif eps "tgif -print -eps \$\$i" ""
 \\converter tiff eps "tiff2ps \$\$i > \$\$o" ""
 \\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 xpm  eps "$xpm_to_eps" ""
 \\converter xwd  eps "$xwd_to_eps" ""
 
 \\converter xwd  eps "$xwd_to_eps" ""
 
-\\converter tgif gif "tgif -print -gif \$\$i" ""
-\\converter tgif pdf "tgif -print -pdf \$\$i" ""
+\\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 gif  png "$gif_to_png" ""
 \\converter eps  png "$eps_to_png" ""
@@ -529,10 +569,16 @@ cat >$outfile <<EOF
 \\converter epsi xpm "$eps_to_xpm" ""
 \\converter jpg  xpm "$jpg_to_xpm" ""
 \\converter png  xpm "$png_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" ""
 
 \\converter eps  pdf "$eps_to_pdf" ""
 \\converter epsi pdf "$eps_to_pdf" ""
 
+\\converter agr  eps "$agr_to_eps" ""
+\\converter agr  pdf "$agr_to_pdf" ""
+\\converter agr  png "$agr_to_png" ""
+
 \\viewer dvi "$DVI_VIEWER"
 \\viewer html "$HTML_VIEWER"
 \\viewer pdf "$PDF_VIEWER"
 \\viewer dvi "$DVI_VIEWER"
 \\viewer html "$HTML_VIEWER"
 \\viewer pdf "$PDF_VIEWER"
@@ -540,18 +586,50 @@ cat >$outfile <<EOF
 \\viewer eps "$GHOSTVIEW"
 
 $rc_entries
 \\viewer eps "$GHOSTVIEW"
 
 $rc_entries
-dnl \\fax_command "$fax_command"
 \\font_encoding "$chk_fontenc"
 EOF
 
 \\font_encoding "$chk_fontenc"
 EOF
 
+######## 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"
+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
 # Remove superfluous files if we are not writing in the main lib
-# directory 
+# directory
 for file in $outfile textclass.lst packages.lst \
 for file in $outfile textclass.lst packages.lst \
-            doc/LaTeXConfig.lyx ; 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
   # 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
     echo "removing $file, which is identical to the system global version"
     rm -f $file.new
   else