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
LATEX=
ac_result="not useable"
fi
+# Grab the list of languages avaliable to LaTeX by parsing the LaTeX log file, chklatex.log.
+LANGUAGES=`sed -n '/hyphenation patterns/{
+:loop
+/loaded\.$/!{
+$!{
+N
+s/\n//
+s/^.*for\ //
+tloop
+}
+}
+/loaded\.$/p
+}' chklatex.log`
rm -f chklatex.ltx chklatex.log])dnl
dnl
# Search LaTeX2e
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 editor], RASTERIMAGE_EDITOR, gimp)
+SEARCH_PROG([for a text editor], TEXT_EDITOR, xemacs gvim kedit kwrite kate nedit gedit)
+
# Search for an installed reLyX or a ready-to-install one
save_PATH=${PATH}
PATH=${PATH}:./reLyX/
SEARCH_PROG([for Image converter],image_command,convert)
test $image_command = "convert" && 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"
+
+# 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,gsview32 gv ghostview)
+SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gsview32 gv ghostview kghostview)
case $GHOSTVIEW in
gv|ghostview) PS_VIEWER="$GHOSTVIEW -swap" ;;
*) PS_VIEWER="$GHOSTVIEW";;
EPS_VIEWER=$GHOSTVIEW
# Search for a program to preview pdf
-SEARCH_PROG([for a PDF preview],PDF_VIEWER, acrobat acrord32 gsview32 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)
SEARCH_PROG([for dvipng],DVIPNG,dvipng)
test "$DVIPNG" = "dvipng" && \
- lyxpreview_to_png_command = $lyxpreview_to_bitmap_command
+ 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
# for some reason. Run ./configure if you need to update it after a
# configuration change.
EOF
- # 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 entries
+ # for the default textclass.lst file
+ for file in ./layouts/*.layout "${srcdir}"/layouts/*.layout ; do
case $file in
*/\*.layout) ;;
*) if test -r "$file" ; 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
+ # 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
+ # 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
+ # 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" \
fi
fi ;;
esac
- done
+ 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 <<EOF
-\\newcommand\\srcdir{${srcdir}}
${linuxdoc_cmd}
${docbook_cmd}
-\\input{${srcdir}/chkconfig.ltx}
+\\input{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
+ for file in ./layouts/*.layout "${srcdir}"/layouts/*.layout ; do
case $file in
*/\*.layout) ;;
- *) test -r "$file" && echo $file ;;
+ *) 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}/'
+ fi ;;
esac
- done | sed -e 's%^.*layouts/\(.*\)\.layout$%\\TestDocClass{\1}%'\
- > chklayouts.tex
+ done > chklayouts.tex
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
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
+# Add a line to chkconfig.sed so that the placeholder in
+# LaTeXConfig.lyx.in will be replaced by the list of available
+# languages.
+test "${LANGUAGES}" != "" && \
+ echo "s/@chk_languages@/${LANGUAGES}/g" >> chkconfig.sed
+sed -f chkconfig.sed "${srcdir}"/doc/LaTeXConfig.lyx.in >doc/LaTeXConfig.lyx
echo "creating $outfile"
cat >$outfile <<EOF
# 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)" "" "" ""
-\\Format asciiimage asc "ASCII (image)" "" "" ""
-\\Format asciixfig asc "ASCII (xfig output)" "" "" ""
-\\Format agr agr GRACE "" "" ""
+\\Format asciichess asc "ASCII (chess output)" "" "" "$TEXT_EDITOR"
+\\Format asciiimage asc "ASCII (image)" "" "" "$TEXT_EDITOR"
+\\Format asciixfig asc "ASCII (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 dateout tmp "date (output)" "" "" ""
-\\Format docbook sgml DocBook B "" ""
-\\Format docbook-xml xml "Docbook (xml)" "" "" ""
+\\Format dateout tmp "date (output)" "" "" "$TEXT_EDITOR"
+\\Format docbook sgml DocBook B "" "$TEXT_EDITOR"
+\\Format docbook-xml xml "Docbook (xml)" "" "" "$TEXT_EDITOR"
\\Format dvi dvi DVI D "$DVI_VIEWER" ""
\\Format eps eps EPS "" "$EPS_VIEWER" ""
\\Format fax "" Fax "" "" ""
\\Format gif gif GIF "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
\\Format html html HTML H "$HTML_VIEWER" ""
\\Format jpg jpg JPG "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
-\\Format latex tex LaTeX L "" ""
-\\Format linuxdoc sgml LinuxDoc x "" ""
-\\Format lyx lyx LyX "" "" ""
+\\Format latex tex LaTeX L "" "$TEXT_EDITOR"
+\\Format linuxdoc sgml LinuxDoc x "" "$TEXT_EDITOR"
+\\Format lyx lyx LyX "" "lyx" "lyx"
\\Format lyxpreview lyxpreview "LyX Preview" "" "" ""
-\\Format literate nw NoWeb N "" ""
+\\Format literate nw NoWeb N "" "$TEXT_EDITOR"
\\Format pbm pbm PBM "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
\\Format pdf pdf "PDF (ps2pdf)" P "$PDF_VIEWER" ""
\\Format pdf2 pdf "PDF (pdflatex)" F "$PDF_VIEWER" ""
\\Format program "" Program "" "" ""
\\Format ps ps Postscript t "$PS_VIEWER" ""
\\Format pstex pstex_t PSTEX "" "" ""
-\\Format text txt ASCII A "" ""
-\\Format textparagraph txt "ASCII (paragraphs)" "" "" ""
\\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 tiff tif TIFF "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
\\Format word doc Word W "" ""
\\Format xbm xbm XBM "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
\\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 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
SEARCH_PROG([for an TIFF -> PS converter], TIFF2PS, tiff2ps)
if test "$TIFF2PS" = "tiff2ps"; then
cat >>$outfile <<EOF
-\\converter tiff eps "tiff2ps \$\$i > \$\$o" ""
+\\converter tiff eps "tiff2ps \$\$i > \$\$o" ""
EOF
fi
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"
+
$rc_entries
\\font_encoding "$chk_fontenc"
EOF
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