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
# We have a script to convert previewlyx to ppm or to png
lyxpreview_to_bitmap_command='python $$s/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
# 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
+sed -f chkconfig.sed "${srcdir}"/doc/LaTeXConfig.lyx.in >doc/LaTeXConfig.lyx
echo "creating $outfile"
cat >$outfile <<EOF
\\Format date "" "date command" "" "" ""
\\Format dateout tmp "date (output)" "" "" ""
\\Format docbook sgml DocBook B "" ""
+\\Format docbook-xml xml "Docbook (xml)" "" "" ""
\\Format dvi dvi DVI D "$DVI_VIEWER" ""
\\Format eps eps EPS "" "$EPS_VIEWER" ""
\\Format fax "" Fax "" "" ""
\\Format xpm xpm XPM "" "$RASTERIMAGE_VIEWER" "$RASTERIMAGE_EDITOR"
\\converter date dateout "date +%d-%m-%Y > \$\$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 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_bitmap_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" ""
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