]> git.lyx.org Git - lyx.git/blobdiff - lib/configure.m4
Herbert's patch supporting more graphics formats.
[lyx.git] / lib / configure.m4
index d167639af4098c72a6f217149dbe6d1f829d1806..15ff8aea8c9780023ea60769dc31ec03188e861a 100644 (file)
@@ -67,6 +67,19 @@ changequote(,)dnl
 ])dnl
 dnl
 dnl
+dnl LYXRC_VAR(VARIABLE_NAME, VALUE)
+define(LYXRC_VAR,[dnl
+rc_entries="$rc_entries
+$1 \"$2\""])
+dnl
+dnl
+dnl LYXRC_PROG(FEATURE-DESCRIPTION,VARIABLE-NAME,PROGRAMS-LIST,
+dnl             ACTION-IF-FOUND,ACTION-IF-NOT-FOUND)
+define(LYXRC_PROG,[dnl
+SEARCH_PROG($1,prog,$3,$4,$5)
+LYXRC_VAR($2,$prog)])
+dnl
+dnl
 dnl PROVIDE_DEFAULT_FILE(FILE, DEFAULT-VALUE)
 dnl
 define(PROVIDE_DEFAULT_FILE,[dnl
@@ -82,6 +95,8 @@ dnl ######### End M4 macros #############################################
 
 
 ####some configuration variables
+outfile=lyxrc.defaults
+rc_entries=
 lyx_check_config=yes
 lyx_keep_temps=no
 srcdir=
@@ -225,7 +240,7 @@ SEARCH_PROG([for Image converter],image_command,convert)
 test $image_command = "convert" && image_command="convert \$\$i \$\$o"
 
 # Search for a Postscript interpreter
-SEARCH_PROG([for a Postscript interpreter],GS, gs)
+LYXRC_PROG([for a Postscript interpreter], \ps_command, gs)
 
 # Search something to preview postscript
 SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gv ghostview)
@@ -252,18 +267,16 @@ 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"
 
 # Search a *roff program (used to translate tables in ASCII export)
-SEARCH_PROG([for a *roff formatter],ROFF,groff nroff)
-ascii_roff_command=$ROFF
-test $ROFF = "groff" && ascii_roff_command="groff -t -Tlatin1 \$\$FName"
-test $ROFF = "nroff" && ascii_roff_command="tbl \$\$FName | nroff"
+LYXRC_PROG([for a *roff formatter], \ascii_roff_command, dnl
+  'groff -t -Tlatin1 $$FName' nroff,dnl
+  test "$prog" = "nroff" && prog='tbl $$FName | nroff')
 
 # Search the ChkTeX program
-SEARCH_PROG([for ChkTeX],CHKTEX,chktex)
-chktex_command=$CHKTEX
-test $CHKTEX = "chktex" && chktex_command="$CHKTEX -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38"
+LYXRC_PROG([for ChkTeX], \chktex_command,dnl
+   "chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38")
 
 # Search for a spellchecker
-SEARCH_PROG([for a spell-checker], SPELL,ispell)
+LYXRC_PROG([for a spell-checker], \spell_command, ispell)
 
 dnl # Search a Fax handling program
 dnl SEARCH_PROG([for a fax driver], FAX, sendfax faxsend fax)
@@ -323,14 +336,13 @@ case $DOCBOOK in
 esac
 
 # Search for a spool command
-SEARCH_PROG([for a spool command], LPR, lp lpr)
-case $LPR in
-  lp) print_spool_command=lp
-      print_spool_printerprefix="-d ";;
- lpr) print_spool_command=lpr
-      print_spool_printerprefix="-P";;
+LYXRC_PROG([for a spool command], \print_spool_command, lp lpr)
+case $prog in
+  lp) print_spool_printerprefix="-d ";;
+ lpr) print_spool_printerprefix="-P";;
    *) :;; # leave to empty values
 esac
+LYXRC_VAR(\print_spool_printerprefix, $print_spool_printerprefix)
 
 SEARCH_PROG([for a LaTeX -> HTML converter], TOHTML, tth latex2html hevea)
 latex_to_html_command=$TOHTML
@@ -343,7 +355,7 @@ esac
 #### Search for image conversion ####
 SEARCH_PROG([for an Image -> EPS converter], TOEPS, convert pnmtops)
 case $TOEPS in
-       convert) gif_to_eps="convert GIF:\$\$i EPS:\$\$o" png_to_eps="convert PNG:\$\$i EPS:\$\$o" jpg_to_eps="convert JPG:\$\$i EPS:\$\$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" 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
 
@@ -359,6 +371,7 @@ if test "$TOXPM" = "convert"; then
        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
 
 SEARCH_PROG([For an EPS -> PDF converter], EPSTOPDF, epstopdf)
@@ -428,9 +441,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
@@ -440,11 +452,14 @@ cat >lyxrc.defaults <<EOF
 \\Format text    txt   ASCII           A
 \\Format textparagraph txt ASCII(paragraphs)   ""
 \\Format docbook  sgml DocBook         B
+\\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 html    html  HTML            H
 \\Format jpg      jpg  JPEG            ""
 \\Format latex   tex   LaTeX           L
@@ -454,10 +469,17 @@ cat >lyxrc.defaults <<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 tiff     tif  TIFF            ""
 \\Format xpm      xpm   XPM             ""
+\\Format xwd      xwd  XWD             ""
 \\Format word    doc   Word            W
 
 \\converter latex dvi "$latex_to_dvi" "latex"
@@ -480,9 +502,22 @@ cat >lyxrc.defaults <<EOF
 \\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 png  eps "$png_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 xwd  eps "$xwd_to_eps" ""
+
+\\converter tgif gif "tgif -print -gif \$\$i" ""
+\\converter tgif pdf "tgif -print -pdf \$\$i" ""
 
 \\converter gif  png "$gif_to_png" ""
 \\converter eps  png "$eps_to_png" ""
@@ -504,19 +539,14 @@ 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"
+$rc_entries
 dnl \\fax_command "$fax_command"
-\\print_spool_command "$print_spool_command"
-\\print_spool_printerprefix "$print_spool_printerprefix"
 \\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