define(SEARCH_PROG,[dnl
changequote([,])dnl
MSG_CHECKING($1)
-MSG_RESULT(($3))
+MSG_RESULT()
$2=
for ac_prog in $3
do
fi
#### Adjust PATH for Win32 (Cygwin)
+use_cygwin_path_fix=''
case `uname -s` in
CYGWIN*)
tmpfname="/tmp/x$$.ltx";
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
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"
+SEARCH_PROG([for a FEN viewer and editor], FEN_EDITOR, "xboard -lpf \$\$i -mode EditPosition")
FEN_VIEWER="$FEN_EDITOR"
SEARCH_PROG([for a raster image viewer], RASTERIMAGE_VIEWER, xv kview gimp)
# Search for an installed reLyX or a ready-to-install one
save_PATH=${PATH}
PATH=${PATH}:./reLyX/
-SEARCH_PROG([for a LaTeX -> LyX converter],tex_to_lyx_command,reLyX)
+SEARCH_PROG([for a LaTeX -> LyX converter],tex_to_lyx_command, "reLyX -f \$\$i")
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$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"
+SEARCH_PROG([for a Noweb -> LyX converter],literate_to_lyx_command,"noweb2lyx \$\$i \$\$o")
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)
-test $literate_to_tex_command = "noweave" && literate_to_tex_command="noweave -delay -index \$\$i > \$\$o"
+SEARCH_PROG([for a Noweb -> LaTeX converter],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 HTML -> Latex converter],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 a MSWord -> Latex converter],word_to_latex_command, "wvCleanLatex \$\$i \$\$o" "wvCleanLatex \$\$i \$\$o")
-SEARCH_PROG([for Image converter],image_command,convert)
-test $image_command = "convert" && image_command="convert \$\$i \$\$o"
+SEARCH_PROG([for Image converter],image_command, "convert \$\$i \$\$o")
-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"
+SEARCH_PROG([for an OpenOffice.org -> Latex converter],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_PROG([for an Latex -> OpenOffice.org converter],latex_to_sxw_command, "oolatex \$\$i" "oolatex.sh \$\$i")
# Search something to preview postscript
-SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gsview32 gv ghostview kghostview)
-case $GHOSTVIEW in
- gv|ghostview) PS_VIEWER="$GHOSTVIEW -swap" ;;
- *) PS_VIEWER="$GHOSTVIEW";;
-esac
-EPS_VIEWER=$GHOSTVIEW
+SEARCH_PROG([for a Postscript previewer],PS_VIEWER,gsview32 gv "ghostview -swap" kghostview)
+EPS_VIEWER=$PS_VIEWER
# Search for a program to preview pdf
-SEARCH_PROG([for a PDF preview],PDF_VIEWER, acrobat acrord32 gsview32 acroread gv ghostview xpdf kpdf kghostview)
+SEARCH_PROG([for a PDF previewer],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 kdvi)
SEARCH_PROG([for a HTML previewer],HTML_VIEWER, "mozilla file://\$\$p\$\$i" 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 -dCompatibilityLevel=1.3 \$\$i"
+SEARCH_PROG([for a PS to PDF converter],ps_to_pdf_command, "ps2pdf13 \$\$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 \$\$o \$\$i"
+SEARCH_PROG([for a DVI to PS converter],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_PROG([for a DVI to PDF converter],dvi_to_pdf_command, "dvipdfm \$\$i")
# We have a script to convert previewlyx to ppm or to png
-lyxpreview_to_bitmap_command='python $$s/lyxpreview2bitmap.py'
+lyxpreview_to_bitmap_command='python $$s/scripts/lyxpreview2bitmap.py'
# Search for 'dvipng'. Only enable the conversion from lyxpreview -> png
# if dvipng is found.
dnl fi
# Search a GUI Fax program
-SEARCH_PROG([for a fax program], fax_command, kdeprintfax ksendfax)
-test $fax_command != "none" && fax_command="$fax_command \$\$i"
+SEARCH_PROG([for a fax program], fax_command, "kdeprintfax \$\$i" "ksendfax \$\$i")
# Search for LinuxDoc support
SEARCH_PROG([for SGML-tools 1.x (LinuxDoc)], LINUXDOC, sgml2lyx)
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
-case $TOHTML in
- 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_PROG([for a LaTeX -> HTML converter], latex_to_html_command,dnl
+ "tth -t -e2 -L\$\$b < \$\$i > \$\$o" dnl
+ "latex2html -no_subdir -split 0 -show_section_numbers \$\$i" dnl
+ "hevea -s \$\$i")
#### Explore the LaTeX configuration
MSG_CHECKING(LaTeX configuration)
if test x`[eval] echo $ac_n '${found_'$cleanclass'}'` = x ; then
[eval] "found_$cleanclass=yes"
changequote(,)dnl
- # The sed commands below are a bit scary. Here is what they do:
- # 1-3: remove the \DeclareFOO macro and add the correct boolean
- # at the end of the line telling whether the class is
- # available
- # 4: if the macro had an optional argument with several
- # parameters, only keep the first one
- # 5: if the macro did not have an optional argument, provide one
- # (equal to the class name)
- # 6: remove brackets and replace with correctly quoted entries
- grep '\\Declare\(LaTeX\|DocBook\|LinuxDoc\)Class' "$file" \
- | sed -e 's/^.*\DeclareLaTeXClass *\(.*\)/\1 "false"/' \
- -e 's/^.*\DeclareDocBookClass *\(.*\)/\1 "'$bool_docbook'"/' \
- -e 's/^.*\DeclareLinuxDocClass *\(.*\)/\1 "'$bool_linuxdoc'"/' \
- -e 's/\[\([^,]*\),[^]]*\]/[\1]/' \
- -e 's/^{/['$class']{/' \
- -e 's/\[\([^]]*\)\] *{\([^}]*\)}/"'$class'" "\1" "\2"/' \
- >>textclass.lst
+ sed -n '
+# We manipulate only those lines that contain
+# "\Declare(LaTeX|DocBook|LinuxDoc)Class"
+/\\DeclareLaTeXClass/bmatch
+/\\DeclareDocBookClass/bmatch
+/\\DeclareLinuxDocClass/bmatch
+b
+
+:match
+# Remove the \DeclareFOOClass macro and add the correct boolean
+# at the end of the line telling whether the class is
+# available
+s/^.*\DeclareLaTeXClass *\(.*\)/\1 "false"/
+s/^.*\DeclareDocBookClass *\(.*\)/\1 "'$bool_docbook'"/
+s/^.*\DeclareLinuxDocClass *\(.*\)/\1 "'$bool_linuxdoc'"/
+# If the macro had an optional argument with several
+# parameters, only keep the first one
+s/\[\([^,]*\),[^]]*\]/[\1]/
+# If the macro did not have an optional argument, provide one
+# (equal to the class name)
+s/^{/['$class']{/
+# Remove brackets and replace with correctly quoted entries
+s/\[\([^]]*\)\] *{\([^}]*\)}/"'$class'" "\1" "\2"/
+# Print the maninpulated text
+p
+# We are interested in the first instance of \DeclareFOOClass only,
+# so now quit
+q
+' "$file" >> textclass.lst
fi
fi ;;
esac
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
+ if test ! -r "chkconfig.ltx" ; then
+ cp "${srcdir}"/chkconfig.ltx .
+ rmcopy=true
fi
cat >wrap_chkconfig.ltx <<EOF
${linuxdoc_cmd}
*) if test -r "$file" ; then
class=`echo $file | sed -e 's%^.*layouts/\(.*\)\.layout$%\1%'`
# Generate the proper TestDocClass command for this layout
- grep '\\Declare\(LaTeX\|DocBook\|LinuxDoc\)Class' "$file" \
- | sed -e 's/^\# *\(.*\)$/\\TestDocClass{'${class}'}{\1}/'
+ sed -n '
+# We manipulate only those lines that contain
+# "\Declare(LaTeX|DocBook|LinuxDoc)Class"
+/\\DeclareLaTeXClass/bmatch
+/\\DeclareDocBookClass/bmatch
+/\\DeclareLinuxDocClass/bmatch
+b
+
+:match
+# Wrap the entire line (minus the leading "# ") inside a
+# "\TestDocClass{CLASS}{...}" command
+s/^\# *\(.*\)$/\\TestDocClass{'${class}'}{\1}/
+# Print the result and quit.
+p
+q
+' "$file"
fi ;;
esac
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
+ test -n "${rmcopy}" && rm -f chkconfig.ltx
fi
# Do we have all the files we need? Useful if latex did not run
echo "creating doc/LaTeXConfig.lyx"
echo "s/@chk_linuxdoc@/$chk_linuxdoc/g" >> chkconfig.sed
echo "s/@chk_docbook@/$chk_docbook/g" >> chkconfig.sed
+
+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 | grep 'working' >/dev/null ; then
+ MSG_RESULT(yes)
+ tex_allows_spaces=true
+ else
+ MSG_RESULT(no)
+ tex_allows_spaces=false
+ fi
+ rm -r "$fname".* texput.log
+fi
+
echo "creating $outfile"
cat >$outfile <<EOF
# This file has been automatically generated by LyX' lib/configure
# 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.
-\\Format asciichess asc "ASCII (chess output)" "" "" "$TEXT_EDITOR"
-\\Format asciiimage asc "ASCII (image)" "" "" "$TEXT_EDITOR"
-\\Format asciixfig asc "ASCII (xfig output)" "" "" "$TEXT_EDITOR"
+\\Format asciichess asc "Plain text (chess output)" "" "" "$TEXT_EDITOR"
+\\Format asciiimage asc "Plain text (image)" "" "" "$TEXT_EDITOR"
+\\Format asciixfig asc "Plain text (xfig output)" "" "" "$TEXT_EDITOR"
\\Format agr agr GRACE "" "$GRACE_VIEWER" "$GRACE_EDITOR"
\\Format bmp bmp BMP "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
\\Format date "" "date command" "" "" ""
\\Format pstex pstex_t PSTEX "" "" ""
\\Format tgif obj TGIF "" "$TGIF_VIEWER" "$TGIF_EDITOR"
\\Format sxw sxw "OpenOffice.Org Writer" O "" ""
-\\Format text txt ASCII A "" "$TEXT_EDITOR"
-\\Format textparagraph txt "ASCII (paragraphs)" "" "" "$TEXT_EDITOR"
+\\Format text txt "Plain text" a "" "$TEXT_EDITOR"
+\\Format textparagraph txt "Plain text (paragraphs)" "" "" "$TEXT_EDITOR"
\\Format tiff tif TIFF "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
\\Format word doc Word W "" ""
\\Format xbm xbm XBM "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
\\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/fen2ascii.py \$\$i \$\$o" ""
-\\converter fig pdftex "sh \$\$s/fig2pdftex.sh \$\$i \$\$o" ""
-\\converter fig pstex "sh \$\$s/fig2pstex.sh \$\$i \$\$o" ""
+\\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"
cat >>$outfile <<EOF
-\\copier fig "sh \$\$s/fig_copy.sh \$\$i \$\$o"
-\\copier pstex "python \$\$s/tex_copy.py \$\$i \$\$o \$\$l"
-\\copier pdftex "python \$\$s/tex_copy.py \$\$i \$\$o \$\$l"
+\\copier fig "sh \$\$s/scripts/fig_copy.sh \$\$i \$\$o"
+\\copier pstex "python \$\$s/scripts/tex_copy.py \$\$i \$\$o \$\$l"
+\\copier pdftex "python \$\$s/scripts/tex_copy.py \$\$i \$\$o \$\$l"
$rc_entries
\\font_encoding "$chk_fontenc"
+\\tex_allows_spaces $tex_allows_spaces
EOF
+if [ "x$use_cygwin_path_fix" != "x" ]
+then
+ echo "\\cygwin_path_fix_needed $use_cygwin_path_fix" >> $outfile
+fi
+
######## X FONTS
# create a fonts.dir file to make X fonts available to LyX
echo "checking for TeX fonts"