X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.m4;h=b3734852a2c9cbc5d41a354cde763a99cd62d460;hb=f7e97284cbbab098cf3bf99976ec8af3146df8d3;hp=9cd0801d8b9af319a6f635a7d981685fb3c7d9b1;hpb=242118065bcbe1a518ebfbb149baea47f37aaa76;p=lyx.git diff --git a/lib/configure.m4 b/lib/configure.m4 index 9cd0801d8b..b3734852a2 100644 --- a/lib/configure.m4 +++ b/lib/configure.m4 @@ -174,6 +174,7 @@ if test ! -r "${srcdir}"/chkconfig.ltx ; then fi #### Adjust PATH for Win32 (Cygwin) +use_cygwin_path_fix='' case `uname -s` in CYGWIN*) tmpfname="/tmp/x$$.ltx"; @@ -188,8 +189,10 @@ case `uname -s` in 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 @@ -254,7 +257,7 @@ 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) +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} @@ -292,7 +295,7 @@ test "$latex_to_sxw_command" != "none" && latex_to_sxw_command="$latex_to_sxw_co # 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" ;; + ghostview) PS_VIEWER="$GHOSTVIEW -swap" ;; *) PS_VIEWER="$GHOSTVIEW";; esac EPS_VIEWER=$GHOSTVIEW @@ -319,7 +322,7 @@ 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 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. @@ -330,7 +333,7 @@ test "$DVIPNG" = "dvipng" && \ # 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 @@ -451,23 +454,35 @@ changequote([,])dnl 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 @@ -476,7 +491,7 @@ changequote(,)dnl else MSG_RESULT(auto) rm -f wrap_chkconfig.ltx chkconfig.vars chkconfig.classes chklayouts.tex - if ! test -r "chkconfig.ltx" ; then + if test ! -r "chkconfig.ltx" ; then ln -s "${srcdir}"/chkconfig.ltx . rmlink=true fi @@ -494,13 +509,27 @@ EOF *) 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 @@ -523,8 +552,34 @@ 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 + +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 <$outfile <$outfile <>$outfile <> $outfile +fi + ######## X FONTS # create a fonts.dir file to make X fonts available to LyX echo "checking for TeX fonts"