]> git.lyx.org Git - lyx.git/blobdiff - lib/configure
Herbert's patch supporting more graphics formats.
[lyx.git] / lib / configure
index 2a65dd9913a2fbce8242c9f98d9efe39d498f6a1..d8b9b99ce17f7d23d5bcb8775f37de48bb8cddd9 100755 (executable)
@@ -7,7 +7,11 @@
 
 
 
+
+
 ####some configuration variables
+outfile=lyxrc.defaults
+rc_entries=
 lyx_check_config=yes
 lyx_keep_temps=no
 srcdir=
@@ -80,7 +84,7 @@ if test "x$OSTYPE" = xcygwin; then
 fi
 
 #### Create the build directories if necessary
-for dir in bind clipart doc examples images kbd layouts reLyX \
+for dir in bind clipart doc examples help images kbd layouts reLyX \
     scripts templates ui ; do
   test ! -d $dir && mkdir $dir
 done
@@ -109,10 +113,7 @@ if test -n "$ac_word"; then
 
   if test -n "$LATEX"; then
     ac_result=yes
-  else
-    ac_result=no
-  fi
-  
+    
 ## Check whether this is really LaTeX2e
 rm -f chklatex.ltx
 cat >chklatex.ltx <<EOF
@@ -130,6 +131,9 @@ else
   ac_result="not useable"
 fi
 rm -f chklatex.ltx chklatex.log
+  else
+    ac_result=no
+  fi
   echo "$ac_t""$ac_result"
   test -n "$LATEX" && break
 fi
@@ -140,10 +144,16 @@ if test -z "$LATEX" ; then
     lyx_check_config=no
 fi
 
-if test x$lyx_check_config != x ; then
-echo $ac_n "checking for the pdflatex program""... $ac_c"
+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
+  echo $ac_n "checking for the pdflatex program""... $ac_c"
 echo "$ac_t""(pdflatex)"
-PDFLATEX=
+latex_to_pdf=
 for ac_prog in pdflatex
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -154,46 +164,32 @@ if test -n "$ac_word"; then
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -x $ac_dir/$ac_word; then
-      PDFLATEX="$ac_prog"
+      latex_to_pdf="$ac_prog"
       break
     fi
   done
   IFS="$ac_save_ifs"
 
-  if test -n "$PDFLATEX"; then
+  if test -n "$latex_to_pdf"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
-## Check whether this is really LaTeX2e
-rm -f chklatex.ltx
-cat >chklatex.ltx <<EOF
-\\nonstopmode\\makeatletter
-\\ifx\\undefined\\documentclass\\else
-  \\message{ThisIsLaTeX2e}
-\\fi
-\\@@end
-EOF
-if eval ${LATEX} chklatex.ltx </dev/null 2>/dev/null \
-                       | grep 'ThisIsLaTeX2e' >/dev/null; then
-  :
-else
-  LATEX=
-  ac_result="not useable"
-fi
-rm -f chklatex.ltx chklatex.log
   echo "$ac_t""$ac_result"
-  test -n "$PDFLATEX" && break
+  test -n "$latex_to_pdf" && break
 fi
 done
 
-if test -z "$PDFLATEX" ; then
-  PDFLATEX=none
+if test -z "$latex_to_pdf" ; then
+  latex_to_pdf=none
 fi
 
 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/
@@ -218,10 +214,10 @@ if test -n "$ac_word"; then
 
   if test -n "$tex_to_lyx_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$tex_to_lyx_command" && break
 fi
@@ -256,10 +252,10 @@ if test -n "$ac_word"; then
 
   if test -n "$literate_to_lyx_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$literate_to_lyx_command" && break
 fi
@@ -294,10 +290,10 @@ if test -n "$ac_word"; then
 
   if test -n "$literate_to_tex_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$literate_to_tex_command" && break
 fi
@@ -330,10 +326,10 @@ if test -n "$ac_word"; then
 
   if test -n "$html_to_latex_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$html_to_latex_command" && break
 fi
@@ -366,10 +362,10 @@ if test -n "$ac_word"; then
 
   if test -n "$word_to_latex_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$word_to_latex_command" && break
 fi
@@ -403,10 +399,10 @@ if test -n "$ac_word"; then
 
   if test -n "$image_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$image_command" && break
 fi
@@ -421,7 +417,7 @@ test $image_command = "convert" && image_command="convert \$\$i \$\$o"
 # Search for a Postscript interpreter
 echo $ac_n "checking for a Postscript interpreter""... $ac_c"
 echo "$ac_t""(gs)"
-GS=
+prog=
 for ac_prog in gs
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -432,27 +428,29 @@ if test -n "$ac_word"; then
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -x $ac_dir/$ac_word; then
-      GS="$ac_prog"
+      prog="$ac_prog"
       break
     fi
   done
   IFS="$ac_save_ifs"
 
-  if test -n "$GS"; then
+  if test -n "$prog"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
-  test -n "$GS" && break
+  test -n "$prog" && break
 fi
 done
 
-if test -z "$GS" ; then
-  GS=none
+if test -z "$prog" ; then
+  prog=none
 fi
 
+rc_entries="$rc_entries
+\ps_command \"$prog\""
 
 # Search something to preview postscript
 echo $ac_n "checking for a Postscript previewer""... $ac_c"
@@ -476,10 +474,10 @@ if test -n "$ac_word"; then
 
   if test -n "$GHOSTVIEW"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$GHOSTVIEW" && break
 fi
@@ -512,10 +510,10 @@ if test -n "$ac_word"; then
 
   if test -n "$PDF_VIEWER"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$PDF_VIEWER" && break
 fi
@@ -548,10 +546,10 @@ if test -n "$ac_word"; then
 
   if test -n "$DVI_VIEWER"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$DVI_VIEWER" && break
 fi
@@ -584,10 +582,10 @@ if test -n "$ac_word"; then
 
   if test -n "$HTML_VIEWER"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$HTML_VIEWER" && break
 fi
@@ -620,10 +618,10 @@ if test -n "$ac_word"; then
 
   if test -n "$ps_to_pdf_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$ps_to_pdf_command" && break
 fi
@@ -657,10 +655,10 @@ if test -n "$ac_word"; then
 
   if test -n "$dvi_to_ps_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$dvi_to_ps_command" && break
 fi
@@ -694,10 +692,10 @@ if test -n "$ac_word"; then
 
   if test -n "$dvi_to_pdf_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$dvi_to_pdf_command" && break
 fi
@@ -711,9 +709,9 @@ test $dvi_to_pdf_command = "dvipdfm" && dvi_to_pdf_command="dvipdfm \$\$i"
 
 # Search a *roff program (used to translate tables in ASCII export)
 echo $ac_n "checking for a *roff formatter""... $ac_c"
-echo "$ac_t""(groff nroff)"
-ROFF=
-for ac_prog in groff nroff
+echo "$ac_t""('groff -t -Tlatin1 $$FName' nroff)"
+prog=
+for ac_prog in 'groff -t -Tlatin1 $$FName' nroff
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog ; ac_word=$2
@@ -723,36 +721,35 @@ if test -n "$ac_word"; then
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -x $ac_dir/$ac_word; then
-      ROFF="$ac_prog"
+      prog="$ac_prog"
       break
     fi
   done
   IFS="$ac_save_ifs"
 
-  if test -n "$ROFF"; then
+  if test -n "$prog"; then
     ac_result=yes
+    test "$prog" = "nroff" && prog='tbl $$FName | nroff'
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
-  test -n "$ROFF" && break
+  test -n "$prog" && break
 fi
 done
 
-if test -z "$ROFF" ; then
-  ROFF=none
+if test -z "$prog" ; then
+  prog=none
 fi
 
-ascii_roff_command=$ROFF
-test $ROFF = "groff" && ascii_roff_command="groff -t -Tlatin1 \$\$FName"
-test $ROFF = "nroff" && ascii_roff_command="tbl \$\$FName | nroff"
+rc_entries="$rc_entries
+\ascii_roff_command \"$prog\""
 
 # Search the ChkTeX program
 echo $ac_n "checking for ChkTeX""... $ac_c"
-echo "$ac_t""(chktex)"
-CHKTEX=
-for ac_prog in chktex
+echo "$ac_t""("chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38")"
+prog=
+for ac_prog in "chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38"
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog ; ac_word=$2
@@ -762,34 +759,34 @@ if test -n "$ac_word"; then
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -x $ac_dir/$ac_word; then
-      CHKTEX="$ac_prog"
+      prog="$ac_prog"
       break
     fi
   done
   IFS="$ac_save_ifs"
 
-  if test -n "$CHKTEX"; then
+  if test -n "$prog"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
-  test -n "$CHKTEX" && break
+  test -n "$prog" && break
 fi
 done
 
-if test -z "$CHKTEX" ; then
-  CHKTEX=none
+if test -z "$prog" ; then
+  prog=none
 fi
 
-chktex_command=$CHKTEX
-test $CHKTEX = "chktex" && chktex_command="$CHKTEX -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38"
+rc_entries="$rc_entries
+\chktex_command \"$prog\""
 
 # Search for a spellchecker
 echo $ac_n "checking for a spell-checker""... $ac_c"
 echo "$ac_t""(ispell)"
-SPELL=
+prog=
 for ac_prog in ispell
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -800,27 +797,29 @@ if test -n "$ac_word"; then
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -x $ac_dir/$ac_word; then
-      SPELL="$ac_prog"
+      prog="$ac_prog"
       break
     fi
   done
   IFS="$ac_save_ifs"
 
-  if test -n "$SPELL"; then
+  if test -n "$prog"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
-  test -n "$SPELL" && break
+  test -n "$prog" && break
 fi
 done
 
-if test -z "$SPELL" ; then
-  SPELL=none
+if test -z "$prog" ; then
+  prog=none
 fi
 
+rc_entries="$rc_entries
+\spell_command \"$prog\""
 
 
 # Search a GUI Fax program
@@ -845,10 +844,10 @@ if test -n "$ac_word"; then
 
   if test -n "$fax_command"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$fax_command" && break
 fi
@@ -882,10 +881,10 @@ if test -n "$ac_word"; then
 
   if test -n "$LINUXDOC"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$LINUXDOC" && break
 fi
@@ -936,10 +935,10 @@ if test -n "$ac_word"; then
 
   if test -n "$DOCBOOK"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$DOCBOOK" && break
 fi
@@ -970,7 +969,7 @@ esac
 # Search for a spool command
 echo $ac_n "checking for a spool command""... $ac_c"
 echo "$ac_t""(lp lpr)"
-LPR=
+prog=
 for ac_prog in lp lpr
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -981,34 +980,36 @@ if test -n "$ac_word"; then
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -x $ac_dir/$ac_word; then
-      LPR="$ac_prog"
+      prog="$ac_prog"
       break
     fi
   done
   IFS="$ac_save_ifs"
 
-  if test -n "$LPR"; then
+  if test -n "$prog"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
-  test -n "$LPR" && break
+  test -n "$prog" && break
 fi
 done
 
-if test -z "$LPR" ; then
-  LPR=none
+if test -z "$prog" ; then
+  prog=none
 fi
 
-case $LPR in
-  lp) print_spool_command=lp
-      print_spool_printerprefix="-d ";;
- lpr) print_spool_command=lpr
     print_spool_printerprefix="-P";;
+rc_entries="$rc_entries
+\print_spool_command \"$prog\""
+case $prog in
+  lp) print_spool_printerprefix="-d ";;
lpr) print_spool_printerprefix="-P";;
    *) :;; # leave to empty values
 esac
+rc_entries="$rc_entries
+\print_spool_printerprefix \"$print_spool_printerprefix\""
 
 echo $ac_n "checking for a LaTeX -> HTML converter""... $ac_c"
 echo "$ac_t""(tth latex2html hevea)"
@@ -1031,10 +1032,10 @@ if test -n "$ac_word"; then
 
   if test -n "$TOHTML"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$TOHTML" && break
 fi
@@ -1073,10 +1074,10 @@ if test -n "$ac_word"; then
 
   if test -n "$TOEPS"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$TOEPS" && break
 fi
@@ -1112,10 +1113,10 @@ if test -n "$ac_word"; then
 
   if test -n "$TOPNG"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$TOPNG" && break
 fi
@@ -1130,6 +1131,48 @@ case $TOPNG in
        pnmtopng) gif_to_png="giftopnm \$\$i | pnmtopng >\$\$o" eps_to_png="pstopnm \$\$i| pnmtopng >\$\$o" jpg_to_png="jpegtopnm \$\$i | pnmtopng >\$\$o";;
 esac
 
+echo $ac_n "checking for a Image -> XPM converter""... $ac_c"
+echo "$ac_t""(convert)"
+TOXPM=
+for ac_prog in convert
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog ; ac_word=$2
+if test -n "$ac_word"; then
+  echo $ac_n "+checking for \"$ac_word\"""... $ac_c"
+  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
+      TOXPM="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+
+  if test -n "$TOXPM"; then
+    ac_result=yes
+    
+  else
+    ac_result=no
+  fi
+  echo "$ac_t""$ac_result"
+  test -n "$TOXPM" && break
+fi
+done
+
+if test -z "$TOXPM" ; then
+  TOXPM=none
+fi
+
+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" 
+fi
+
 echo $ac_n "checking For an EPS -> PDF converter""... $ac_c"
 echo "$ac_t""(epstopdf)"
 EPSTOPDF=
@@ -1151,10 +1194,10 @@ if test -n "$ac_word"; then
 
   if test -n "$EPSTOPDF"; then
     ac_result=yes
+    
   else
     ac_result=no
   fi
-  
   echo "$ac_t""$ac_result"
   test -n "$EPSTOPDF" && break
 fi
@@ -1242,9 +1285,8 @@ 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
@@ -1271,10 +1313,11 @@ cat >lyxrc.defaults <<EOF
 \\Format png     png   PNG             ""
 \\Format ps      ps    Postscript      t
 \\Format program  ""   Program         ""
+\\Format xpm      xpm   XPM             ""
 \\Format word    doc   Word            W
 
-\\converter latex dvi "$LATEX \$\$i" "latex"
-\\converter latex pdf2 "$PDFLATEX \$\$i" "latex"
+\\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" ""
@@ -1302,6 +1345,12 @@ cat >lyxrc.defaults <<EOF
 \\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 eps  pdf "$eps_to_pdf" ""
 \\converter epsi pdf "$eps_to_pdf" ""
 
@@ -1311,18 +1360,13 @@ cat >lyxrc.defaults <<EOF
 \\viewer ps "$GHOSTVIEW -swap"
 \\viewer eps "$GHOSTVIEW"
 
-\\ps_command "$GS"
-\\ascii_roff_command "$ascii_roff_command"
-\\chktex_command "$chktex_command"
-\\spell_command "$SPELL"
-\\print_spool_command "$print_spool_command"
-\\print_spool_printerprefix "$print_spool_printerprefix"
+$rc_entries
 \\font_encoding "$chk_fontenc"
 EOF
 
 # Remove superfluous files if we are not writing in the main lib
 # directory 
-for file in lyxrc.defaults textclass.lst packages.lst \
+for file in $outfile textclass.lst packages.lst \
             doc/LaTeXConfig.lyx ; do
   # we rename the file first, so that we avoid comparing a file with itself
   mv $file $file.new