if test -n "[$]$2"; then
ac_result=yes
+ ifelse($4,,,[$4])
else
ac_result=no
fi
- ifelse($4,,,[$4])
MSG_RESULT($ac_result)
test -n "[$]$2" && break
fi
])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
####some configuration variables
+outfile=lyxrc.defaults
+rc_entries=
lyx_check_config=yes
lyx_keep_temps=no
srcdir=
+lyx_suffix=
#### Parse the command line
for ac_option do
--help show this help lines
--keep-temps keep temporary files (for debug. purposes)
--without-latex-config do not run LaTeX to determine configuration
+ --with-lyx-suffix=suffix suffix of binary installed files
EOF
exit 0;;
--without-latex-config)
lyx_check_config=no ;;
--keep-temps)
lyx_keep_temps=yes ;;
+ --with-lyx-suffix*)
+ lyx_suffix=`echo "$ac_option" | sed 's,--with-lyx-suffix=,,;s,^,-,'`
esac
done
exit 1
fi
+#### Adjust PATH for Win32 (Cygwin)
+if test "x$OSTYPE" = xcygwin; then
+ echo "configure: cygwin detected; path correction"
+ srcdir=`cygpath -w "${srcdir}" | tr '\\\\' /`
+ echo "srcdir=${srcdir}"
+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
# Search LaTeX2e
SEARCH_PROG([for a LaTeX2e program],LATEX,latex latex2e,CHECKLATEX2E,dnl
[lyx_check_config=no])
-if test x$lyx_check_config != x ; then
-SEARCH_PROG([for the pdflatex program],PDFLATEX,pdflatex,CHECKLATEX2E)
+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
+ SEARCH_PROG([for the pdflatex program],latex_to_pdf,pdflatex)
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/
-SEARCH_PROG([for reLyX LaTeX-to-LyX translator],RELYX,reLyX)
+SEARCH_PROG([for a LaTeX -> LyX converter],tex_to_lyx_command,reLyX)
PATH=${save_PATH}
+test $tex_to_lyx_command = "reLyX" && tex_to_lyx_command="reLyX -f \$\$i"
+tex_to_lyx_command=`echo $tex_to_lyx_command | sed "s,reLyX,reLyX$lyx_suffix,"`
+
+SEARCH_PROG([for a Noweb -> LyX converter],literate_to_lyx_command,noweb2lyx)
+test $literate_to_lyx_command = "noweb2lyx" && literate_to_lyx_command="noweb2lyx \$\$i \$\$o"
+literate_to_lyx_command=`echo $literate_to_lyx_command | sed "s,noweb2lyx,noweb2lyx$lyx_suffix,"`
# Search something to process a literate document
-SEARCH_PROG([for a Literate programming processor],LITERATE,noweave)
-test $LITERATE = "noweave" && LITERATE="noweave -delay -index \$\$FName > \$\$OutName"
-LITERATE_EXT="nw"
+SEARCH_PROG([for a Noweb -> LaTeX converter],literate_to_tex_command,noweave)
+test $literate_to_tex_command = "noweave" && literate_to_tex_command="noweave -delay -index \$\$i > \$\$o"
+
+SEARCH_PROG([for a HTML -> Latex converter],html_to_latex_command,html2latex)
+test $html_to_latex_command = "html2latex" && html_to_latex_command="html2latex \$\$i"
+
+SEARCH_PROG([for a MSWord -> Latex converter],word_to_latex_command,wvCleanLatex word2x)
+test "$word_to_latex_command" = "wvCleanLatex" && word_to_latex_command="wvCleanLatex \$\$i \$\$o"
+test "$word_to_latex_command" = "word2x" && word_to_latex_command="word2x -f latex \$\$i"
+
+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)
# Search for a program to preview pdf
-SEARCH_PROG([for a PDF preview],PDF_VIEWER,xpdf acroread gv ghostview)
+SEARCH_PROG([for a PDF preview],PDF_VIEWER,acroread gv ghostview xpdf)
# Search something to preview dvi
-SEARCH_PROG([for a DVI previewer],DVI_VIEWER, xdvi)
+SEARCH_PROG([for a DVI previewer],DVI_VIEWER, xdvi windvi yap)
# Search something to preview html
SEARCH_PROG([for a HTML previewer],HTML_VIEWER, netscape)
# Search for a program to convert ps to pdf
SEARCH_PROG([for a PS to PDF converter],ps_to_pdf_command,ps2pdf)
-test $ps_to_pdf_command = "ps2pdf" && ps_to_pdf_command="ps2pdf \$\$FName"
+test $ps_to_pdf_command = "ps2pdf" && ps_to_pdf_command="ps2pdf \$\$i"
# Search for a program to convert dvi to ps
SEARCH_PROG([for a DVI to PS converter],dvi_to_ps_command,dvips)
-test $dvi_to_ps_command = "dvips" && dvi_to_ps_command="dvips -o \$\$OutName \$\$FName"
+test $dvi_to_ps_command = "dvips" && dvi_to_ps_command="dvips -o \$\$o \$\$i"
+
+# Search for a program to convert dvi to pdf
+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)
-
-# Search a Fax handling program
-SEARCH_PROG([for a fax driver], FAX, sendfax faxsend fax)
-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
+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)
+dnl if test $FAX = sendfax ; then
+dnl fax_command="sendfax -n -h '\$\$Host' -c '\$\$Comment' -x '\$\$Enterprise' -d '\$\$Name'@'\$\$Phone' '\$\$FName'"
+dnl elif test $FAX = faxsend ; then
+dnl fax_command="faxsend '\$\$Phone' '\$\$FName'"
+dnl elif test $FAX = fax ; then
+dnl fax_command="fax send '\$\$Phone' '\$\$FName'"
+dnl else
+dnl fax_command="none"
+dnl fi
+
+# Search a GUI Fax program
+SEARCH_PROG([for a fax program], fax_command, ksendfax)
+test $fax_command = "ksendfax" && fax_command="ksendfax \$\$i"
# Search for LinuxDoc support
SEARCH_PROG([for SGML-tools 1.x (LinuxDoc)], LINUXDOC, sgml2lyx)
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";;
+ linuxdoc_to_latex_command="sgml2latex \$\$i"
+ linuxdoc_to_dvi_command="sgml2latex -o dvi \$\$i"
+ linuxdoc_to_html_command="sgml2html \$\$i"
+ linuxdoc_to_lyx_command="sgml2lyx \$\$i";;
none)
linuxdoc_to_latex_command="none"
linuxdoc_to_dvi_command="none"
case $DOCBOOK in
sgmltools)
- docbook_to_dvi_command="sgmltools -b dvi \$\$FName"
- docbook_to_html_command="sgmltools -b html \$\$FName";;
+ docbook_to_dvi_command="sgmltools -b dvi \$\$i"
+ docbook_to_html_command="sgmltools -b html \$\$i";;
db2dvi)
- docbook_to_dvi_command="db2dvi \$\$FName"
- docbook_to_html_command="db2html \$\$FName";;
+ docbook_to_dvi_command="db2dvi \$\$i"
+ docbook_to_html_command="db2html \$\$i";;
none)
docbook_to_dvi_command="none"
docbook_to_html_command="none";;
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 for a latex to html converter
-SEARCH_PROG([for an HTML converter], TOHTML, tth latex2html hevea)
-latex_to_html_command = $TOHTML
+SEARCH_PROG([for a LaTeX -> HTML converter], TOHTML, tth latex2html hevea)
+latex_to_html_command=$TOHTML
case $TOHTML in
- 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";;
+ tth) latex_to_html_command="tth -t -e2 -L\$\$b < \$\$i > \$\$o";;
+ latex2html) latex_to_html_command="latex2html -no_subdir -split 0 -show_section_numbers \$\$i";;
+ hevea) latex_to_html_command="hevea -s \$\$i";;
+esac
+
+#### 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" xbm_to_eps="convert XBM:\$\$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
+
+SEARCH_PROG([for a Image -> PNG converter], TOPNG, convert pnmtopng)
+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";;
+esac
+
+SEARCH_PROG([for a Image -> XPM converter], TOXPM, convert)
+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"
+ xbm_to_xpm="convert XBM:\$\$i XPM:\$\$o"
+fi
+
+SEARCH_PROG([For an EPS -> PDF converter], EPSTOPDF, epstopdf)
+case $EPSTOPDF in
+ epstopdf) eps_to_pdf="epstopdf --outfile=\$\$o \$\$i";;
esac
#### Explore the LaTeX configuration
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
# 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.
-\\converter tex dvi "$LATEX" ""
-\\converter tex pdf "$PDFLATEX" ""
+\\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 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
+\\Format linuxdoc sgml LinuxDoc x
+\\Format lyx lyx LyX ""
+\\Format literate nw NoWeb N
+\\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 xbm xbm XBM ""
+\\Format xpm xpm XPM ""
+\\Format xwd xwd XWD ""
+\\Format word doc Word W
+
+\\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" ""
\\converter dvi ps "$dvi_to_ps_command" ""
\\converter ps pdf "$ps_to_pdf_command" ""
-\\converter sgml tex "$linuxdoc_to_latex_command" ""
-\\converter sgml dvi "$linuxdoc_to_dvi_command" ""
-\\converter sgml html "$linuxdoc_to_html_command" ""
+\\converter ps fax "$fax_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 tex html "$latex_to_html_command"
- "originaldir,needaux"
-\\converter $LITERATE_EXT tex "$LITERATE" ""
+
+\\converter latex lyx "$tex_to_lyx_command" ""
+\\converter literate lyx "$literate_to_lyx_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 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 xbm eps "$xbm_to_eps" ""
+\\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" ""
+\\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 ps xpm "$ps_to_xpm" ""
+\\converter xbm xpm "$xbm_to_xpm" ""
+
+\\converter eps pdf "$eps_to_pdf" ""
+\\converter epsi pdf "$eps_to_pdf" ""
\\viewer dvi "$DVI_VIEWER"
\\viewer html "$HTML_VIEWER"
\\viewer ps "$GHOSTVIEW -swap"
\\viewer eps "$GHOSTVIEW"
-\\relyx_command "$RELYX"
-\\linuxdoc_to_lyx_command "$linuxdoc_to_lyx_command"
-\\literate_extension "$LITERATE_EXT"
-\\ps_command "$GS"
-\\ascii_roff_command "$ascii_roff_command"
-\\chktex_command "$chktex_command"
-\\spell_command "$SPELL"
-\\fax_command "$fax_command"
-\\print_spool_command "$print_spool_command"
-\\print_spool_printerprefix "$print_spool_printerprefix"
+$rc_entries
+dnl \\fax_command "$fax_command"
\\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