X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.m4;h=f69946572154a5640906d805a451689c87c2b096;hb=2312ee83b1d81588586baec9331e09491c24f649;hp=d167639af4098c72a6f217149dbe6d1f829d1806;hpb=ba61c3aa4cbb168b8c70a6393b3d8d79aea8d131;p=lyx.git diff --git a/lib/configure.m4 b/lib/configure.m4 index d167639af4..f699465721 100644 --- a/lib/configure.m4 +++ b/lib/configure.m4 @@ -37,7 +37,7 @@ do set dummy $ac_prog ; ac_word=$[2] if test -n "$ac_word"; then MSG_CHECKING([for \"$ac_word\"],[+]) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + 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 @@ -67,10 +67,23 @@ 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 -# if $1 does not exist (because LaTeX did not run), +# if $1 does not exist (because LaTeX did not run), # then provide a standard version. if test ! -f $1 ; then cat >$1 <chklatex.ltx </dev/null \ - | grep 'ThisIsLaTeX2e' >/dev/null; then + | grep 'ThisIsLaTeX2e' >/dev/null; then : else LATEX= @@ -204,11 +220,11 @@ PATH=${PATH}:./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,"` +tex_to_lyx_command=`echo $tex_to_lyx_command | sed "s,reLyX,reLyX$version_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,"` +literate_to_lyx_command=`echo $literate_to_lyx_command | sed "s,noweb2lyx,noweb2lyx$version_suffix,"` # Search something to process a literate document SEARCH_PROG([for a Noweb -> LaTeX converter],literate_to_tex_command,noweave) @@ -225,7 +241,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) @@ -237,11 +253,14 @@ SEARCH_PROG([for a PDF preview],PDF_VIEWER,acroread gv ghostview xpdf) 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_PROG([for a HTML previewer],HTML_VIEWER, "mozilla file://\$\$p\$\$i" netscape) + +# Search for a program to preview latex code +SEARCH_PROG([for a LaTeX preview],LATEX_VIEWER, "xterm -e less") # 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 \$\$i" +test $ps_to_pdf_command = "ps2pdf" && ps_to_pdf_command="ps2pdf -dCompatibilityLevel=1.3 \$\$i" # Search for a program to convert dvi to ps SEARCH_PROG([for a DVI to PS converter],dvi_to_ps_command,dvips) @@ -251,19 +270,24 @@ test $dvi_to_ps_command = "dvips" && dvi_to_ps_command="dvips -o \$\$o \$\$i" 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" + # 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) + +# Search for computer algebra systems +SEARCH_PROG([for Octave],OCTAVE,octave) +SEARCH_PROG([for Maple],MAPLE,maple) dnl # Search a Fax handling program dnl SEARCH_PROG([for a fax driver], FAX, sendfax faxsend fax) @@ -278,7 +302,8 @@ dnl fax_command="none" dnl fi # Search a GUI Fax program -SEARCH_PROG([for a fax program], fax_command, ksendfax) +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" # Search for LinuxDoc support @@ -323,14 +348,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 @@ -340,32 +364,6 @@ case $TOHTML in 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) gif_to_eps="convert GIF:\$\$i EPS:\$\$o" png_to_eps="convert PNG:\$\$i EPS:\$\$o" jpg_to_eps="convert JPG:\$\$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" -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 MSG_CHECKING(LaTeX configuration) # First, remove the files that we want to re-create @@ -382,15 +380,15 @@ ${docbook_cmd} \\input{${srcdir}/chkconfig.ltx} EOF ## Construct the list of classes to test for. - # build the list of available layout files and convert it to commands - # for chkconfig.ltx - for file in ./layouts/*.layout ${srcdir}/layouts/*.layout ; do + # 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) ;; *) test -r "$file" && echo $file ;; esac done | sed -e 's%^.*layouts/\(.*\)\.layout$%\\TestDocClass{\1}%'\ - > chklayouts.tex + > chklayouts.tex changequote([,])dnl [eval] ${LATEX} wrap_chkconfig.ltx 2>/dev/null | grep '^\+' [eval] `cat chkconfig.vars | sed 's/-/_/g'` @@ -399,13 +397,13 @@ fi # Do we have all the files we need? Useful if latex did not run changequote([,])dnl -echo creating textclass.lst +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 +# 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. +# configuration change. article article article report report report book book book @@ -414,7 +412,7 @@ letter letter letter]) PROVIDE_DEFAULT_FILE(chkconfig.sed,[s/@.*@/???/g]) -echo creating packages.lst +echo "creating packages.lst" PROVIDE_DEFAULT_FILE(packages.lst,dnl [# This file should contain the list of LaTeX packages that have been # recognized by LyX. Unfortunately, since configure could not find @@ -423,14 +421,13 @@ PROVIDE_DEFAULT_FILE(packages.lst,dnl ]) changequote(,)dnl -echo creating doc/LaTeXConfig.lyx +echo "creating doc/LaTeXConfig.lyx" 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 <$outfile <lyxrc.defaults <lyxrc.defaults <lyxrc.defaults < EPS/XPM converter], FIG2DEV, fig2dev) +if test "$FIG2DEV" = "fig2dev"; then +cat >>$outfile < PS converter], TIFF2PS, tiff2ps) +if test "$TIFF2PS" = "tiff2ps"; then +cat >>$outfile < \$\$o" "" +EOF +fi + +SEARCH_PROG([for an TGIF -> EPS/XPM converter], TGIF, tgif) +if test "$TGIF" = "tgif"; then +cat >>$outfile < \$\$o" "" +EOF +fi + +SEARCH_PROG([for an EPS -> PDF converter], EPSTOPDF, epstopdf) +if test "$EPSTOPDF" = "epstopdf"; then +cat >>$outfile < EPS/XPM converter], EPS2EPS, eps2eps) +if test "$EPS2EPS" = "eps2eps"; then +cat >>$outfile < Image converter], GRACE, gracebat) +if test "$GRACE" = "gracebat"; then +cat >>$outfile </dev/null" "" +\\converter agr png "gracebat -hardcopy -printfile \$\$o -hdevice PNG \$\$i 2>/dev/null" "" +\\converter agr xpm "gracebat -hardcopy -printfile - -hdevice PNG \$\$i 2>/dev/null | convert - \$\$o" "" +EOF +fi + +######## X FONTS +# create a fonts.dir file to make X fonts available to LyX +echo "checking for TeX fonts" + +fontlist="cmex10 cmmi10 cmr10 cmsy10 eufm10 msam10 msbm10 wasy10" +rm -f xfonts/fonts.dir xfonts/fonts.scale xfonts/tmpfonts + +num=0 +touch xfonts/tmpfonts +for font in $fontlist ; do + MSG_CHECKING([for $font]) + result=no + for ext in pfb pfa ttf ; do + if filepath=`kpsewhich $font.$ext` ; then + result="yes ($ext)" + rm -f xfonts/$font.$ext + ln -s $filepath xfonts 2>/dev/null + echo "$font.$ext -unknown-$font-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific" >>xfonts/tmpfonts + num=`expr $num + 1` + break + fi + done + MSG_RESULT($result) +done + +if test ! $num = 0 ; then + echo $num >xfonts/fonts.scale + cat xfonts/tmpfonts >>xfonts/fonts.scale + cp xfonts/fonts.scale xfonts/fonts.dir +fi +rm -f xfonts/tmpfonts + + # Remove superfluous files if we are not writing in the main lib -# directory -for file in lyxrc.defaults textclass.lst packages.lst \ - doc/LaTeXConfig.lyx ; do +# directory +for file in $outfile textclass.lst packages.lst \ + doc/LaTeXConfig.lyx xfonts/fonts.dir ; do # we rename the file first, so that we avoid comparing a file with itself mv $file $file.new - if test -r $srcdir/$file && diff $file.new $srcdir/$file >/dev/null 2>/dev/null ; - then + if test -r $srcdir/$file && diff $file.new $srcdir/$file >/dev/null 2>/dev/null ; + then echo "removing $file, which is identical to the system global version" rm -f $file.new else mv $file.new $file fi done - +if test ! -r xfonts/fonts.dir ; then + echo "removing font links" + rm -r xfonts/*.pfb xfonts/fonts.scale +fi # Final clean-up if test $lyx_keep_temps = no ; then