]> git.lyx.org Git - lyx.git/blobdiff - lib/configure.m4
remove all forgotten traces of help/
[lyx.git] / lib / configure.m4
index c4a27b7901e3e60ee62781c5772f620022f9a0fb..f78a23643396044372da9c12226739fee9c7aad1 100644 (file)
@@ -94,6 +94,16 @@ changequote(,)dnl
 dnl ######### End M4 macros #############################################
 
 
+# Be Bourne compatible (taken from autoconf 2.53)
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+
+
+
 ####some configuration variables
 outfile=lyxrc.defaults
 rc_entries=
@@ -166,9 +176,22 @@ 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}" ;;
+     tmpfname="/tmp/x$$.ltx";
+     echo "\\documentstyle{article}" > $tmpfname
+     echo "\\begin{document}\\end{document}" >> $tmpfname
+     inpname=`cygpath -w $tmpfname | tr '\\\\' /`
+     echo "\\input{$inpname}" > wrap_temp$$.ltx
+     check_err=`latex wrap_temp$$.ltx 2>&1 < /dev/null | grep Error`
+     rm -f wrap_temp$$.* /tmp/x$$.*
+     if [ x"$check_err" = "x" ]
+     then
+       echo "configure: cygwin detected; path correction"
+       srcdir=`cygpath -w "${srcdir}" | tr '\\\\' /`
+       echo "srcdir=${srcdir}"
+     else
+       echo "configure: cygwin detected; path correction is not needed"
+     fi
+     ;;
 esac
 
 #### Create the build directories if necessary
@@ -240,14 +263,16 @@ test "$word_to_latex_command" = "word2x" && word_to_latex_command="word2x -f lat
 SEARCH_PROG([for Image converter],image_command,convert)
 test $image_command = "convert" && image_command="convert \$\$i \$\$o"
 
-# Search for a Postscript interpreter
-LYXRC_PROG([for a Postscript interpreter], \ps_command, gs)
-
 # Search something to preview postscript
-SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gv ghostview)
+SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gsview32 gv ghostview)
+case $GHOSTVIEW in
+  gv|ghostview) PS_VIEWER="$GHOSTVIEW -swap" ;;
+  *) PS_VIEWER="$GHOSTVIEW";;
+esac
+EPS_VIEWER=$GHOSTVIEW
 
 # Search for a program to preview pdf
-SEARCH_PROG([for a PDF preview],PDF_VIEWER,acroread gv ghostview xpdf)
+SEARCH_PROG([for a PDF preview],PDF_VIEWER, acrobat acrord32 gsview32 acroread gv ghostview xpdf)
 
 # Search something to preview dvi
 SEARCH_PROG([for a DVI previewer],DVI_VIEWER, xdvi windvi yap)
@@ -268,7 +293,7 @@ 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"
+lyxpreview_to_bitmap_command='$$s/lyxpreview2bitmap.sh'
 
 # Search a *roff program (used to translate tables in ASCII export)
 LYXRC_PROG([for a *roff formatter], \ascii_roff_command, dnl
@@ -300,15 +325,17 @@ 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"
+test $fax_command != "none" && fax_command="$fax_command \$\$i"
 
 # Search for LinuxDoc support
 SEARCH_PROG([for SGML-tools 1.x (LinuxDoc)], LINUXDOC, sgml2lyx)
-chk_linuxdoc=no
 if test $LINUXDOC != none; then
   chk_linuxdoc=yes
+  bool_linuxdoc=true
   linuxdoc_cmd="\\def\\haslinuxdoc{yes}"
+else
+  chk_linuxdoc=no
+  bool_linuxdoc=false
 fi
 
 case $LINUXDOC in
@@ -326,10 +353,13 @@ esac
 
 # Search for DocBook support
 SEARCH_PROG([for SGML-tools 2.x (DocBook) or db2x scripts], DOCBOOK, sgmltools db2dvi)
-chk_docbook=no
 if test $DOCBOOK != none; then
   chk_docbook=yes
+  bool_docbook=true
   docbook_cmd="\\def\\hasdocbook{yes}"
+else
+  chk_docbook=no
+  bool_docbook=false
 fi
 
 case $DOCBOOK in
@@ -367,6 +397,49 @@ MSG_CHECKING(LaTeX configuration)
 rm -f textclass.lst packages.lst chkconfig.sed
 if test ${lyx_check_config} = no ; then
   MSG_RESULT(default values)
+  MSG_CHECKING(list of textclasses,+)
+  cat >textclass.lst <<EOF
+# 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
+# for some reason. Run ./configure if you need to update it after a
+# configuration change.
+EOF
+  # 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) ;;
+      *) if test -r "$file" ; then
+           class=`echo $file | sed -e 's%^.*layouts/\(.*\)\.layout$%\1%'`
+           cleanclass=`echo $class | tr ' -' '__'`
+changequote([,])dnl
+           # make sure the same class is not considered twice
+           if test  x`[eval] echo $ac_n '${found_'$cleanclass'}'` = x ; then
+             [eval] "found_$cleanclass=yes"
+changequote(,)dnl
+            # The sed commands below are a bit scary. Here is what they do:
+            # 1-3: remove the \DeclareFOO macro and add the correct boolean 
+            #      at the end of the line telling whether the class is 
+             #      available
+            # 4: if the macro had an optional argument with several 
+            #    parameters, only keep the first one
+            # 5: if the macro did not have an optional argument, provide one 
+            #    (equal to the class name)
+            # 6: remove brackets and replace with correctly quoted entries
+            grep '\\Declare\(LaTeX\|DocBook\|LinuxDoc\)Class' "$file" \
+             | sed -e 's/^.*\DeclareLaTeXClass *\(.*\)/\1 "false"/' \
+                   -e 's/^.*\DeclareDocBookClass *\(.*\)/\1 "'$bool_docbook'"/' \
+                   -e 's/^.*\DeclareLinuxDocClass *\(.*\)/\1 "'$bool_linuxdoc'"/' \
+                   -e 's/\[\([^,]*\),[^]]*\]/[\1]/' \
+                   -e 's/^{/['$class']{/' \
+                   -e 's/\[\([^]]*\)\] *{\([^}]*\)}/"'$class'" "\1" "\2"/' \
+                    >>textclass.lst
+           fi
+        fi ;;
+    esac
+  done 
+  MSG_RESULT(done)
 else
   MSG_RESULT(auto)
   rm -f wrap_chkconfig.ltx chkconfig.vars chkconfig.classes chklayouts.tex
@@ -394,18 +467,6 @@ fi
 
 # Do we have all the files we need? Useful if latex did not run
 changequote([,])dnl
-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
-# for some reason. Run ./configure if you need to update it after a
-# configuration change.
-article        article article
-report report  report
-book   book    book
-linuxdoc       linuxdoc        linuxdoc
-letter letter  letter])
 
 PROVIDE_DEFAULT_FILE(chkconfig.sed,[s/@.*@/???/g])
 
@@ -431,64 +492,77 @@ cat >$outfile <<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.
-\\Format text    txt   ASCII           A
-\\Format textparagraph txt ASCII(paragraphs)   ""
-\\Format docbook  sgml DocBook         B
+\\Format asciichess asc "ASCII (chess output)" ""
+\\Format asciiimage asc "ASCII (image)" ""
+\\Format asciixfig  asc "ASCII (xfig output)" ""
+\\Format agr      agr  GRACE           ""
 \\Format bmp      bmp  BMP             ""
+\\Format date     ""    "date command"  ""
+\\Format dateout  "tmp" "date (output)" ""
+\\Format docbook  sgml DocBook         B
 \\Format dvi     dvi   DVI             D
 \\Format eps     eps   EPS             ""
 \\Format fax     ""    Fax             ""
+\\Format fen      fen   FEN             ""
 \\Format fig     fig   XFig            ""
-\\Format agr      agr  GRACE           ""
-\\Format html    html  HTML            H
 \\Format gif     gif   GIF             ""
+\\Format html    html  HTML            H
 \\Format jpg     jpg   JPG             ""
 \\Format latex   tex   LaTeX           L
 \\Format linuxdoc sgml LinuxDoc        x
 \\Format lyx      lyx  LyX             ""
+\\Format lyxpreview    lyxpreview      "LyX Preview"           ""
 \\Format literate nw   NoWeb           N
-\\Format pdf     pdf   PDF             P
+\\Format pbm     pbm   PBM             ""
+\\Format pdf     pdf  "PDF (ps2pdf)"   P
 \\Format pdf2    pdf  "PDF (pdflatex)" F
 \\Format pdf3    pdf  "PDF (dvipdfm)"  m
+\\Format pdftex   pdftex_t PDFTEX       ""
+\\Format pgm     pgm   PGM             ""
 \\Format png     png   PNG             ""
 \\Format ppm     ppm   PPM             ""
-\\Format pgm     pgm   PGM             ""
-\\Format pbm     pbm   PBM             ""
-\\Format ps      ps    Postscript      t
 \\Format program  ""   Program         ""
+\\Format ps      ps    Postscript      t
+\\Format pstex    pstex_t PSTEX         ""
+\\Format text    txt   ASCII           A
+\\Format textparagraph txt ASCII(paragraphs)   ""
 \\Format tgif     obj  TGIF            ""
 \\Format tiff     tif  TIFF            ""
 \\Format word    doc   Word            W
 \\Format xbm     xbm   XBM             ""
 \\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 date dateout "date +%d-%m-%Y > \$\$o" ""
+\\converter docbook dvi "$docbook_to_dvi_command" ""
+\\converter docbook html "$docbook_to_html_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 fen asciichess "python \$\$s/fen2ascii.py \$\$i \$\$o" ""
+\\converter fig pdftex "sh \$\$s/fig2pdftex.sh \$\$i \$\$o" ""
+\\converter fig pstex  "sh \$\$s/fig2pstex.sh \$\$i \$\$o" ""
+\\converter html latex "$html_to_latex_command" ""
+\\converter latex html "$latex_to_html_command" "originaldir,needaux"
+\\converter latex dvi "$latex_to_dvi" "latex"
+\\converter latex lyx "$tex_to_lyx_command" ""
+\\converter latex pdf2 "$latex_to_pdf" "latex"
 \\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 linuxdoc latex "$linuxdoc_to_latex_command" ""
+\\converter linuxdoc lyx "$linuxdoc_to_lyx_command" ""
+\\converter literate latex "$literate_to_tex_command" ""
 \\converter literate lyx "$literate_to_lyx_command" ""
-\\converter html latex "$html_to_latex_command" ""
+\\converter lyxpreview ppm "$lyxpreview_to_bitmap_command" ""
+\\converter ps fax "$fax_command" ""
+\\converter ps pdf "$ps_to_pdf_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 pdf2 "$PDF_VIEWER"
+\\viewer pdf3 "$PDF_VIEWER"
+\\viewer ps "$PS_VIEWER"
+\\viewer eps "$EPS_VIEWER"
 
 $rc_entries
 \\font_encoding "$chk_fontenc"
@@ -502,6 +576,7 @@ if test "$FIG2DEV" = "fig2dev"; then
 cat >>$outfile <<EOF
 \\converter fig eps "fig2dev -L eps \$\$i \$\$o" ""
 \\converter fig ppm "fig2dev -L ppm \$\$i \$\$o" ""
+\\converter fig png "fig2dev -L png \$\$i \$\$o" ""
 EOF
 fi
 
@@ -515,10 +590,8 @@ fi
 SEARCH_PROG([for an TGIF -> EPS/PPM 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 ppm "tgif -print -stdout -xpm \$\$i | xpmtoppm > \$\$o" ""
+\\converter tgif eps "tgif -stdout -print -color -eps \$\$i > \$\$o" ""
+\\converter tgif png "tgif -stdout -print -color -xpm \$\$i | xpmtoppm | pnmtopng > \$\$o" ""
 EOF
 fi
 
@@ -536,6 +609,7 @@ 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 jpg "gracebat -hardcopy -printfile \$\$o -hdevice JPEG \$\$i 2>/dev/null" ""
+\\converter agr ppm "gracebat -hardcopy -printfile \$\$o -hdevice PNM \$\$i 2>/dev/null" ""
 EOF
 fi
 
@@ -549,7 +623,7 @@ rm -f xfonts/fonts.dir xfonts/fonts.scale xfonts/tmpfonts
 num=0
 touch xfonts/tmpfonts
 for font in $fontlist ; do
-  MSG_CHECKING([for $font])
+  MSG_CHECKING(for $font,+)
   result=no
   for ext in pfb pfa ttf ; do
     if filepath=`kpsewhich $font.$ext` ; then
@@ -568,6 +642,8 @@ if test ! $num = 0 ; then
   echo $num >xfonts/fonts.scale
   cat xfonts/tmpfonts >>xfonts/fonts.scale
   cp xfonts/fonts.scale xfonts/fonts.dir
+  # create a resource list file for Display Postscript
+  (cd xfonts ; rm -f PSres.upr ; makepsres) 2>/dev/null || true
 fi
 rm -f xfonts/tmpfonts