]> git.lyx.org Git - lyx.git/blobdiff - lib/configure
Angus latest patch + some tweaks
[lyx.git] / lib / configure
index 68ee643ee1da0a8b4eb882019b1e72ba43404f8c..a558d0a8212613ae6528f876c26ea04620fb91d6 100755 (executable)
@@ -70,7 +70,8 @@ fi
 
 
 #### Create the build directories if necessary
-for dir in bind doc kbd layouts templates reLyX ; do
+for dir in bind clipart doc examples images kbd layouts reLyX \
+    scripts templates ui ; do
   test ! -d $dir && mkdir $dir
 done
 
@@ -186,9 +187,9 @@ fi
 # Search for an installed reLyX or a ready-to-install one
 save_PATH=${PATH}
 PATH=${PATH}:./reLyX/
-echo $ac_n "checking for reLyX LaTeX-to-LyX translator""... $ac_c"
+echo $ac_n "checking for a LaTeX -> LyX converter""... $ac_c"
 echo "$ac_t""(reLyX)"
-RELYX=
+tex_to_lyx_command=
 for ac_prog in reLyX
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -199,34 +200,143 @@ 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
-      RELYX="$ac_prog"
+      tex_to_lyx_command="$ac_prog"
       break
     fi
   done
   IFS="$ac_save_ifs"
 
-  if test -n "$RELYX"; then
+  if test -n "$tex_to_lyx_command"; then
     ac_result=yes
   else
     ac_result=no
   fi
   
   echo "$ac_t""$ac_result"
-  test -n "$RELYX" && break
+  test -n "$tex_to_lyx_command" && break
 fi
 done
 
-if test -z "$RELYX" ; then
-  RELYX=none
+if test -z "$tex_to_lyx_command" ; then
+  tex_to_lyx_command=none
 fi
 
 PATH=${save_PATH}
+test $tex_to_lyx_command = "reLyX" && tex_to_lyx_command="reLyX -f \$\$FName"
+
+echo $ac_n "checking for a Noweb -> LyX converter""... $ac_c"
+echo "$ac_t""(noweb2lyx)"
+literate_to_lyx_command=
+for ac_prog in noweb2lyx
+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
+      literate_to_lyx_command="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+
+  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
+done
+
+if test -z "$literate_to_lyx_command" ; then
+  literate_to_lyx_command=none
+fi
+
+test $literate_to_lyx_command = "noweb2lyx" && literate_to_lyx_command="noweb2lyx \$\$FName \$\$OutName"
 
 # Search something to process a literate document
-echo $ac_n "checking for a Literate programming processor""... $ac_c"
-echo "$ac_t""("noweave -delay -index")"
-LITERATE=
-for ac_prog in "noweave -delay -index"
+echo $ac_n "checking for a Noweb -> LaTeX converter""... $ac_c"
+echo "$ac_t""(noweave)"
+literate_to_tex_command=
+for ac_prog in noweave
+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
+      literate_to_tex_command="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+
+  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
+done
+
+if test -z "$literate_to_tex_command" ; then
+  literate_to_tex_command=none
+fi
+
+test $literate_to_tex_command = "noweave" && literate_to_tex_command="noweave -delay -index \$\$FName > \$\$OutName"
+
+echo $ac_n "checking for a HTML -> Latex converter""... $ac_c"
+echo "$ac_t""(html2latex)"
+html_to_latex_command=
+for ac_prog in html2latex
+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
+      html_to_latex_command="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+
+  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
+done
+
+if test -z "$html_to_latex_command" ; then
+  html_to_latex_command=none
+fi
+
+test $html_to_latex_command = "html2latex" && html_to_latex_command="html2latex \$\$FName"
+
+echo $ac_n "checking for Image converter""... $ac_c"
+echo "$ac_t""(convert)"
+image_command=
+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
@@ -236,28 +346,28 @@ 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
-      LITERATE="$ac_prog"
+      image_command="$ac_prog"
       break
     fi
   done
   IFS="$ac_save_ifs"
 
-  if test -n "$LITERATE"; then
+  if test -n "$image_command"; then
     ac_result=yes
   else
     ac_result=no
   fi
   
   echo "$ac_t""$ac_result"
-  test -n "$LITERATE" && break
+  test -n "$image_command" && break
 fi
 done
 
-if test -z "$LITERATE" ; then
-  LITERATE=none
+if test -z "$image_command" ; then
+  image_command=none
 fi
 
-if test "$LITERATE" = "none"; then LITERATE_EXT="none"; else LITERATE_EXT=".nw"; fi
+test $image_command = "convert" && image_command="convert \$\$FName \$\$OutName"
 
 # Search for a Postscript interpreter
 echo $ac_n "checking for a Postscript interpreter""... $ac_c"
@@ -331,6 +441,188 @@ if test -z "$GHOSTVIEW" ; then
 fi
 
 
+# Search for a program to preview pdf
+echo $ac_n "checking for a PDF preview""... $ac_c"
+echo "$ac_t""(acroread gv ghostview xpdf)"
+PDF_VIEWER=
+for ac_prog in acroread gv ghostview xpdf
+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
+      PDF_VIEWER="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+
+  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
+done
+
+if test -z "$PDF_VIEWER" ; then
+  PDF_VIEWER=none
+fi
+
+
+# Search something to preview dvi
+echo $ac_n "checking for a DVI previewer""... $ac_c"
+echo "$ac_t""(xdvi)"
+DVI_VIEWER=
+for ac_prog in xdvi
+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
+      DVI_VIEWER="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+
+  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
+done
+
+if test -z "$DVI_VIEWER" ; then
+  DVI_VIEWER=none
+fi
+
+
+# Search something to preview html
+echo $ac_n "checking for a HTML previewer""... $ac_c"
+echo "$ac_t""(netscape)"
+HTML_VIEWER=
+for ac_prog in netscape
+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
+      HTML_VIEWER="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+
+  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
+done
+
+if test -z "$HTML_VIEWER" ; then
+  HTML_VIEWER=none
+fi
+
+
+# Search for a program to convert ps to pdf
+echo $ac_n "checking for a PS to PDF converter""... $ac_c"
+echo "$ac_t""(ps2pdf)"
+ps_to_pdf_command=
+for ac_prog in ps2pdf
+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
+      ps_to_pdf_command="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+
+  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
+done
+
+if test -z "$ps_to_pdf_command" ; then
+  ps_to_pdf_command=none
+fi
+
+test $ps_to_pdf_command = "ps2pdf" && ps_to_pdf_command="ps2pdf \$\$FName"
+
+# Search for a program to convert dvi to ps
+echo $ac_n "checking for a DVI to PS converter""... $ac_c"
+echo "$ac_t""(dvips)"
+dvi_to_ps_command=
+for ac_prog in dvips
+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
+      dvi_to_ps_command="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+
+  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
+done
+
+if test -z "$dvi_to_ps_command" ; then
+  dvi_to_ps_command=none
+fi
+
+test $dvi_to_ps_command = "dvips" && dvi_to_ps_command="dvips -o \$\$OutName \$\$FName"
+
 # 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)"
@@ -444,50 +736,6 @@ if test -z "$SPELL" ; then
 fi
 
 
-# Search a Fax handling program
-echo $ac_n "checking for a fax driver""... $ac_c"
-echo "$ac_t""(sendfax faxsend fax)"
-FAX=
-for ac_prog in sendfax faxsend fax
-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
-      FAX="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-
-  if test -n "$FAX"; then
-    ac_result=yes
-  else
-    ac_result=no
-  fi
-  
-  echo "$ac_t""$ac_result"
-  test -n "$FAX" && break
-fi
-done
-
-if test -z "$FAX" ; then
-  FAX=none
-fi
-
-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
 
 # Search for LinuxDoc support
 echo $ac_n "checking for SGML-tools 1.x (LinuxDoc)""... $ac_c"
@@ -530,11 +778,24 @@ if test $LINUXDOC != none; then
   linuxdoc_cmd="\\def\\haslinuxdoc{yes}"
 fi
 
+case $LINUXDOC in
+  sgml2lyx)
+    linuxdoc_to_latex_command="sgml2latex \$\$FName"
+    linuxdoc_to_dvi_command="sgml2latex -o dvi \$\$FName"
+    linuxdoc_to_html_command="sgml2html \$\$FName"
+    linuxdoc_to_lyx_command="sgml2lyx \$\$FName";;
+  none)
+    linuxdoc_to_latex_command="none"
+    linuxdoc_to_dvi_command="none"
+    linuxdoc_to_html_command="none"
+    linuxdoc_to_lyx_command="none";;
+esac
+
 # Search for DocBook support
-echo $ac_n "checking for SGML-tools 2.x (DocBook)""... $ac_c"
-echo "$ac_t""(sgmltools)"
+echo $ac_n "checking for SGML-tools 2.x (DocBook) or db2x scripts""... $ac_c"
+echo "$ac_t""(sgmltools db2dvi)"
 DOCBOOK=
-for ac_prog in sgmltools
+for ac_prog in sgmltools db2dvi
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog ; ac_word=$2
@@ -571,6 +832,17 @@ if test $DOCBOOK != none; then
   docbook_cmd="\\def\\hasdocbook{yes}"
 fi
 
+case $DOCBOOK in
+  sgmltools)
+    docbook_to_dvi_command="sgmltools -b dvi \$\$FName"
+    docbook_to_html_command="sgmltools -b html \$\$FName";;
+  db2dvi)
+    docbook_to_dvi_command="db2dvi \$\$FName"
+    docbook_to_html_command="db2html \$\$FName";;
+  none)
+    docbook_to_dvi_command="none"
+    docbook_to_html_command="none";;
+esac
 
 # Search for a spool command
 echo $ac_n "checking for a spool command""... $ac_c"
@@ -615,8 +887,7 @@ case $LPR in
    *) :;; # leave to empty values
 esac
 
-# Search for a latex to html converter
-echo $ac_n "checking for an HTML converter""... $ac_c"
+echo $ac_n "checking for a LaTeX -> HTML converter""... $ac_c"
 echo "$ac_t""(tth latex2html hevea)"
 TOHTML=
 for ac_prog in tth latex2html hevea
@@ -650,10 +921,11 @@ if test -z "$TOHTML" ; then
   TOHTML=none
 fi
 
+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\$\$BaseName < \$\$FName > \$\$OutName";;
+ latex2html) latex_to_html_command="latex2html -no_subdir -split 0 -show_section_numbers \$\$FName";;
+      hevea) latex_to_html_command="hevea -s \$\$FName";;
 esac
 
 #### Explore the LaTeX configuration
@@ -677,7 +949,7 @@ EOF
   for file in ./layouts/*.layout ${srcdir}/layouts/*.layout ; do 
     case $file in
       */\*.layout) ;;
-      *) echo $file ;;
+      *) test -r "$file" && echo $file ;;
     esac
   done | sed -e 's%^.*layouts/\(.*\)\.layout$%\\TestDocClass{\1}%'\
              > chklayouts.tex
@@ -739,18 +1011,50 @@ cat >lyxrc.defaults <<EOF
 # 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"
-\\relyx_command "$RELYX"
-\\literate_command "$LITERATE"
-\\literate_extension "$LITERATE_EXT"
+\\Format latex tex     LaTeX           L
+\\Format dvi   dvi     DVI             D
+\\Format ps    ps      Postscript      t
+\\Format pdf   pdf     PDF             P
+\\Format html  html    HTML            H
+\\Format text  txt     ASCII           A
+\\Format literate nw   NoWeb           W
+\\Format linuxdoc sgml LinuxDoc        x
+\\Format docbook  sgml DocBook         B
+\\Format program  run  Program         r
+
+\\converter latex lyx "$tex_to_lyx_command" ""
+\\converter latex dvi "$LATEX" "latex,disable=linuxdoc&docbook"
+\\converter latex pdf "$PDFLATEX" "latex,disable=linuxdoc&docbook"
+\\converter latex html "$latex_to_html_command"
+       "originaldir,needaux,disable=linuxdoc&docbook"
+\\converter literate lyx "$literate_to_lyx_command" ""
+\\converter literate latex "$literate_to_tex_command" ""
+\\converter dvi ps "$dvi_to_ps_command" ""
+\\converter ps pdf "$ps_to_pdf_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 html latex "$html_to_latex_command"
+                       "disable=latex&literate&linuxdoc&docbook"
+
+\converter gif eps "$image_command" ""
+\converter png eps "$image_command" ""
+\converter jpg eps "$image_command" ""
+\converter gif png "$image_command" ""
+
+\\viewer dvi "$DVI_VIEWER"
+\\viewer html "$HTML_VIEWER"
+\\viewer pdf "$PDF_VIEWER"
+\\viewer ps "$GHOSTVIEW -swap"
+\\viewer eps "$GHOSTVIEW"
+
 \\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"
-\\html_command "$html_command"
 \\print_spool_command "$print_spool_command"
 \\print_spool_printerprefix "$print_spool_printerprefix"
 \\font_encoding "$chk_fontenc"