X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.m4;h=b3734852a2c9cbc5d41a354cde763a99cd62d460;hb=f7e97284cbbab098cf3bf99976ec8af3146df8d3;hp=f95f6337f2b9309940d1cbcbb30f73f93ffeee88;hpb=055fe2604d9cf4121737d7bace7af3f6237347cd;p=lyx.git diff --git a/lib/configure.m4 b/lib/configure.m4 index f95f6337f2..b3734852a2 100644 --- a/lib/configure.m4 +++ b/lib/configure.m4 @@ -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= @@ -157,18 +167,34 @@ ac_prog=[$]0 changequote(,)dnl srcdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` -test "x$srcdir" = "x$ac_prog" && srcdir=. -if test ! -r ${srcdir}/chkconfig.ltx ; then +test "x${srcdir}" = "x$ac_prog" && srcdir=. +if test ! -r "${srcdir}"/chkconfig.ltx ; then echo "configure: error: cannot find chkconfig.ltx script" exit 1 fi #### Adjust PATH for Win32 (Cygwin) +use_cygwin_path_fix='' 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}" + use_cygwin_path_fix='true' + else + echo "configure: cygwin detected; path correction is not needed" + use_cygwin_path_fix='false' + fi + ;; esac #### Create the build directories if necessary @@ -199,7 +225,7 @@ fi rm -f chklatex.ltx chklatex.log])dnl dnl # Search LaTeX2e -SEARCH_PROG([for a LaTeX2e program],LATEX,latex latex2e,CHECKLATEX2E,dnl +SEARCH_PROG([for a LaTeX2e program],LATEX,pplatex latex2e latex,CHECKLATEX2E,dnl [lyx_check_config=no]) latex_to_dvi=$LATEX test -z "$latex_to_dvi" && latex_to_dvi="none" @@ -214,6 +240,25 @@ 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_PROG([for a TGIF viewer and editor], TGIF_EDITOR, tgif) +TGIF_VIEWER="$TGIF_EDITOR" + +SEARCH_PROG([for a FIG viewer and editor], FIG_EDITOR, xfig) +FIG_VIEWER="$FIG_EDITOR" + +SEARCH_PROG([for a GRACE viewer and editor], GRACE_EDITOR, xmgrace) +GRACE_VIEWER="$GRACE_EDITOR" + +SEARCH_PROG([for a FEN viewer and editor], FEN_EDITOR, xboard) +test "$FEN" = "xboard" && FEN_EDITOR="xboard -lpf \$\$i -mode EditPosition" +FEN_VIEWER="$FEN_EDITOR" + +SEARCH_PROG([for a raster image viewer], RASTERIMAGE_VIEWER, xv kview gimp) + +SEARCH_PROG([for a raster image editor], RASTERIMAGE_EDITOR, gimp) + +SEARCH_PROG([for a text editor], TEXT_EDITOR, xemacs gvim kedit kwrite kate nedit gedit notepad) + # Search for an installed reLyX or a ready-to-install one save_PATH=${PATH} PATH=${PATH}:./reLyX/ @@ -240,17 +285,26 @@ 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_PROG([for an OpenOffice.org -> Latex converter],sxw_to_latex_command,w2l) +test "$sxw_to_latex_command" = "w2l" && sxw_to_latex_command="w2l -clean \$\$i" + +# oolatex is the original name, SuSE has oolatex.sh +SEARCH_PROG([for an Latex -> OpenOffice.org converter],latex_to_sxw_command,oolatex oolatex.sh) +test "$latex_to_sxw_command" != "none" && latex_to_sxw_command="$latex_to_sxw_command \$\$i" # Search something to preview postscript -SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gv ghostview) +SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gsview32 gv ghostview kghostview) +case $GHOSTVIEW in + 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 kpdf kghostview) # Search something to preview dvi -SEARCH_PROG([for a DVI previewer],DVI_VIEWER, xdvi windvi yap) +SEARCH_PROG([for a DVI previewer],DVI_VIEWER, xdvi windvi yap kdvi) # Search something to preview html SEARCH_PROG([for a HTML previewer],HTML_VIEWER, "mozilla file://\$\$p\$\$i" netscape) @@ -267,12 +321,19 @@ 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" +# We have a script to convert previewlyx to ppm or to png +lyxpreview_to_bitmap_command='python $$s/scripts/lyxpreview2bitmap.py' + +# Search for 'dvipng'. Only enable the conversion from lyxpreview -> png +# if dvipng is found. +SEARCH_PROG([for dvipng],DVIPNG,dvipng) + +test "$DVIPNG" = "dvipng" && \ + lyxpreview_to_png_command=$lyxpreview_to_bitmap_command # Search a *roff program (used to translate tables in ASCII export) LYXRC_PROG([for a *roff formatter], \ascii_roff_command, dnl - 'groff -t -Tlatin1 $$FName' nroff,dnl + "groff -t -Tlatin1 \$\$FName" nroff,dnl test "$prog" = "nroff" && prog='tbl $$FName | nroff') # Search the ChkTeX program @@ -300,15 +361,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 +389,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,45 +433,110 @@ 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 <> textclass.lst + fi + fi ;; + esac + done + MSG_RESULT(done) else MSG_RESULT(auto) rm -f wrap_chkconfig.ltx chkconfig.vars chkconfig.classes chklayouts.tex + if test ! -r "chkconfig.ltx" ; then + ln -s "${srcdir}"/chkconfig.ltx . + rmlink=true + fi cat >wrap_chkconfig.ltx < chklayouts.tex + done > chklayouts.tex + ${LATEX} wrap_chkconfig.ltx 2>/dev/null | grep '^\+' changequote([,])dnl - [eval] ${LATEX} wrap_chkconfig.ltx 2>/dev/null | grep '^\+' [eval] `cat chkconfig.vars | sed 's/-/_/g'` changequote(,)dnl + test -n "${rmlink}" && rm -f chkconfig.ltx 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]) @@ -421,7 +552,33 @@ changequote(,)dnl 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 + +if test `uname -s | grep 'MINGW'` ; then + # Before running chkconfig.sed, remove the trailing '\r' + # characters that can bugger up various versions of sed. + tr -d '\r' < chkconfig.sed > chkconfig2.sed + mv -f chkconfig2.sed chkconfig.sed +fi + +sed -f chkconfig.sed "${srcdir}"/doc/LaTeXConfig.lyx.in >doc/LaTeXConfig.lyx + +### Let's check whether spaces are allowed in TeX file names +MSG_CHECKING(whether TeX allows spaces in file names) +if test ${lyx_check_config} = no ; then + tex_allows_spaces=false +else + fname="a b" + rm -f "$fname".tex + echo "\\message{working^^J}" >"$fname".tex + if ${LATEX} "$fname" /dev/null ; then + MSG_RESULT(yes) + tex_allows_spaces=true + else + MSG_RESULT(no) + tex_allows_spaces=false + fi + rm -r "$fname".* +fi echo "creating $outfile" cat >$outfile <$outfile < \$\$o" "" +\\converter docbook docbook-xml "cp \$\$i \$\$o" "xml" +\\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 fen asciichess "python \$\$s/scripts/fen2ascii.py \$\$i \$\$o" "" +\\converter fig pdftex "sh \$\$s/scripts/fig2pdftex.sh \$\$i \$\$o" "" +\\converter fig pstex "sh \$\$s/scripts/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 latex sxw "$latex_to_sxw_command" "latex" +\\converter linuxdoc dvi "$linuxdoc_to_dvi_command" "" +\\converter linuxdoc html "$linuxdoc_to_html_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 lyxpreview png "$lyxpreview_to_png_command" "" +\\converter lyxpreview ppm "$lyxpreview_to_bitmap_command" "" +\\converter ps fax "$fax_command" "" +\\converter ps pdf "$ps_to_pdf_command" "" +\\converter sxw latex "$sxw_to_latex_command" "" +\\converter word latex "$word_to_latex_command" "" EOF ### the graphic converter part with the predefined ones -#### Search for tne nonstandard converting progs +#### Search for the nonstandard converting progs # SEARCH_PROG([for an FIG -> EPS/PPM converter], FIG2DEV, fig2dev) if test "$FIG2DEV" = "fig2dev"; then cat >>$outfile < PS converter], TIFF2PS, tiff2ps) if test "$TIFF2PS" = "tiff2ps"; then cat >>$outfile < \$\$o" "" +\\converter tiff eps "tiff2ps \$\$i > \$\$o" "" EOF fi SEARCH_PROG([for an TGIF -> EPS/PPM converter], TGIF, tgif) if test "$TGIF" = "tgif"; then cat >>$outfile < \$\$o" "" +\\converter tgif eps "tgif -stdout -print -color -eps \$\$i > \$\$o" "" +\\converter tgif pdf "tgif -stdout -print -color -pdf \$\$i > \$\$o" "" EOF fi SEARCH_PROG([for an EPS -> PDF converter], EPSTOPDF, epstopdf) if test "$EPSTOPDF" = "epstopdf"; 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 jpg "gracebat -hardcopy -printfile \$\$o -hdevice JPEG \$\$i 2>/dev/null" "" +\\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 +cat >>$outfile <> $outfile +fi + ######## X FONTS # create a fonts.dir file to make X fonts available to LyX echo "checking for TeX fonts" @@ -549,7 +730,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 +749,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 @@ -578,7 +761,7 @@ 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 ; + 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