X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.m4;h=addc8a8d40678dab47126a380a300f99c52f00fd;hb=98c966c64594611e469313314abd1e59524adb4a;hp=1e564869ef09b4f8be53fec830efbfb26266fb95;hpb=d467c47d318e04350eefc23711c97b089a0c7621;p=lyx.git diff --git a/lib/configure.m4 b/lib/configure.m4 index 1e564869ef..addc8a8d40 100644 --- a/lib/configure.m4 +++ b/lib/configure.m4 @@ -49,10 +49,10 @@ if test -n "$ac_word"; then 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 @@ -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= @@ -148,10 +163,16 @@ if test ! -r ${srcdir}/chkconfig.ltx ; then 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 \ - scripts templates ui ; do +for dir in bind clipart doc examples help images kbd layouts reLyX \ + scripts templates ui xfonts; do test ! -d $dir && mkdir $dir done @@ -179,10 +200,19 @@ dnl # 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/ @@ -210,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) @@ -219,7 +249,7 @@ SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,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) @@ -232,19 +262,21 @@ test $ps_to_pdf_command = "ps2pdf" && ps_to_pdf_command="ps2pdf \$\$i" 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 \$\$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) +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) @@ -304,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 @@ -321,6 +352,34 @@ 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) 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 MSG_CHECKING(LaTeX configuration) # First, remove the files that we want to re-create @@ -354,7 +413,7 @@ 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). @@ -369,7 +428,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 @@ -378,14 +437,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 < \$\$o" "" +\\converter xbm eps "$xbm_to_eps" "" +\\converter xwd eps "$xwd_to_eps" "" + +\\converter tgif xpm "tgif -print -stdout -xpm \$\$i > \$\$o" "" +\\converter tgif png "tgif -print -stdout -png \$\$i > \$\$o" "" +\\converter tgif pdf "tgif -print -stdout -pdf \$\$i > \$\$o" "" + +\\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" @@ -443,20 +545,47 @@ cat >lyxrc.defaults </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 +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 ;