]> git.lyx.org Git - lyx.git/blobdiff - lib/configure.m4
Add Jean-Pierre Chr��tien to our list of contributers
[lyx.git] / lib / configure.m4
index 070bb8fdc7c509bdde6c8dbfa3571c7d3c829f0d..b3734852a2c9cbc5d41a354cde763a99cd62d460 100644 (file)
@@ -454,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
@@ -479,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
@@ -497,8 +509,22 @@ 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
@@ -526,6 +552,14 @@ 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
@@ -554,9 +588,9 @@ 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)"  "" ""       "$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"          "" ""       ""
@@ -589,8 +623,8 @@ cat >$outfile <<EOF
 \\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"