2 dnl Use 'make' to create configure from this m4 script.
3 # This script is a hand-made configure script. It contains a lot of
4 # code stolen from GNU autoconf. I removed all the code that was not
5 # useful for configuring a LyX installation.
8 dnl ######### Begin M4 macros #########################################
9 dnl This is a template for my stripped-down configure script.
10 dnl First, a few convenient macros.
14 dnl MSG_CHECKING(FEATURE-DESCRIPTION,PREFIX)
17 [echo $ac_n "$2checking $1""... $ac_c"])dnl
20 dnl MSG_RESULT(RESULT-DESCRIPTION)
23 [echo "$ac_t""$1"])dnl
26 dnl SEARCH_PROG(FEATURE-DESCRIPTION,VARIABLE-NAME,PROGRAMS-LIST,
27 dnl ACTION-IF-FOUND,ACTION-IF-NOT-FOUND)
29 define(SEARCH_PROG,[dnl
36 # Extract the first word of "$ac_prog", so it can be a program name with args.
37 set dummy $ac_prog ; ac_word=$[2]
38 if test -n "$ac_word"; then
39 MSG_CHECKING([for \"$ac_word\"],[+])
40 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
41 for ac_dir in $PATH; do
42 test -z "$ac_dir" && ac_dir=.
43 if test -x [$ac_dir/$ac_word]; then
50 if test -n "[$]$2"; then
56 MSG_RESULT($ac_result)
57 test -n "[$]$2" && break
61 if test -z "[$]$2" ; then
70 dnl LYXRC_VAR(VARIABLE_NAME, VALUE)
72 rc_entries="$rc_entries
76 dnl LYXRC_PROG(FEATURE-DESCRIPTION,VARIABLE-NAME,PROGRAMS-LIST,
77 dnl ACTION-IF-FOUND,ACTION-IF-NOT-FOUND)
78 define(LYXRC_PROG,[dnl
79 SEARCH_PROG($1,prog,$3,$4,$5)
83 dnl PROVIDE_DEFAULT_FILE(FILE, DEFAULT-VALUE)
85 define(PROVIDE_DEFAULT_FILE,[dnl
86 # if $1 does not exist (because LaTeX did not run),
87 # then provide a standard version.
88 if test ! -f $1 ; then
94 dnl ######### End M4 macros #############################################
97 # Be Bourne compatible (taken from autoconf 2.53)
98 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
101 elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
107 ####some configuration variables
108 outfile=lyxrc.defaults
115 #### Parse the command line
120 Usage: configure [options]
122 --help show this help lines
123 --keep-temps keep temporary files (for debug. purposes)
124 --without-latex-config do not run LaTeX to determine configuration
125 --with-version-suffix=suffix suffix of binary installed files
128 --without-latex-config)
129 lyx_check_config=no ;;
131 lyx_keep_temps=yes ;;
132 --with-version-suffix*)
133 version_suffix=`echo "$ac_option" | sed 's,--with-version-suffix=,,'`
138 #### Checking for some echo oddities
139 if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
140 # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
141 if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
148 ac_n= ac_c='\c' ac_t=
152 #### I do not really know why this is useful, but we might as well keep it.
154 # Only set these to C if already set. These must not be set unconditionally
155 # because not all systems understand e.g. LANG=C (notably SCO).
156 # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
157 # Non-C LC_CTYPE values break the ctype check.
158 if test "${LANG+set}" = set; then LANG=C; export LANG; fi
159 if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
160 if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
161 if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
164 #### Guess the directory in which configure is located.
168 srcdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
169 srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
170 test "x$srcdir" = "x$ac_prog" && srcdir=.
171 if test ! -r ${srcdir}/chkconfig.ltx ; then
172 echo "configure: error: cannot find chkconfig.ltx script"
176 #### Adjust PATH for Win32 (Cygwin)
179 tmpfname="/tmp/x$$.ltx";
180 echo "\\documentstyle{article}" > $tmpfname
181 echo "\\begin{document}\\end{document}" >> $tmpfname
182 inpname=`cygpath -w $tmpfname | tr '\\\\' /`
183 echo "\\input{$inpname}" > wrap_temp$$.ltx
184 check_err=`latex wrap_temp$$.ltx 2>&1 < /dev/null | grep Error`
185 rm -f wrap_temp$$.* /tmp/x$$.*
186 if [ x"$check_err" = "x" ]
188 echo "configure: cygwin detected; path correction"
189 srcdir=`cygpath -w "${srcdir}" | tr '\\\\' /`
190 echo "srcdir=${srcdir}"
192 echo "configure: cygwin detected; path correction is not needed"
197 #### Create the build directories if necessary
198 for dir in bind clipart doc examples help images kbd layouts reLyX \
199 scripts templates ui xfonts; do
200 test ! -d $dir && mkdir $dir
204 #### Searching some useful programs
205 define(CHECKLATEX2E,[
206 ## Check whether this is really LaTeX2e
208 cat >chklatex.ltx <<EOF
209 \\nonstopmode\\makeatletter
210 \\ifx\\undefined\\documentclass\\else
211 \\message{ThisIsLaTeX2e}
215 if eval ${LATEX} chklatex.ltx </dev/null 2>/dev/null \
216 | grep 'ThisIsLaTeX2e' >/dev/null; then
220 ac_result="not useable"
222 rm -f chklatex.ltx chklatex.log])dnl
225 SEARCH_PROG([for a LaTeX2e program],LATEX,pplatex latex2e latex,CHECKLATEX2E,dnl
226 [lyx_check_config=no])
228 test -z "$latex_to_dvi" && latex_to_dvi="none"
230 # Search for pdflatex
231 if test ${lyx_check_config} = no ; then
234 SEARCH_PROG([for the pdflatex program],latex_to_pdf,pdflatex)
237 test $latex_to_dvi != "none" && latex_to_dvi="$latex_to_dvi \$\$i"
238 test $latex_to_pdf != "none" && latex_to_pdf="$latex_to_pdf \$\$i"
240 # Search for an installed reLyX or a ready-to-install one
242 PATH=${PATH}:./reLyX/
243 SEARCH_PROG([for a LaTeX -> LyX converter],tex_to_lyx_command,reLyX)
245 test $tex_to_lyx_command = "reLyX" && tex_to_lyx_command="reLyX -f \$\$i"
246 tex_to_lyx_command=`echo $tex_to_lyx_command | sed "s,reLyX,reLyX$version_suffix,"`
248 SEARCH_PROG([for a Noweb -> LyX converter],literate_to_lyx_command,noweb2lyx)
249 test $literate_to_lyx_command = "noweb2lyx" && literate_to_lyx_command="noweb2lyx \$\$i \$\$o"
250 literate_to_lyx_command=`echo $literate_to_lyx_command | sed "s,noweb2lyx,noweb2lyx$version_suffix,"`
252 # Search something to process a literate document
253 SEARCH_PROG([for a Noweb -> LaTeX converter],literate_to_tex_command,noweave)
254 test $literate_to_tex_command = "noweave" && literate_to_tex_command="noweave -delay -index \$\$i > \$\$o"
256 SEARCH_PROG([for a HTML -> Latex converter],html_to_latex_command,html2latex)
257 test $html_to_latex_command = "html2latex" && html_to_latex_command="html2latex \$\$i"
259 SEARCH_PROG([for a MSWord -> Latex converter],word_to_latex_command,wvCleanLatex word2x)
260 test "$word_to_latex_command" = "wvCleanLatex" && word_to_latex_command="wvCleanLatex \$\$i \$\$o"
261 test "$word_to_latex_command" = "word2x" && word_to_latex_command="word2x -f latex \$\$i"
263 SEARCH_PROG([for Image converter],image_command,convert)
264 test $image_command = "convert" && image_command="convert \$\$i \$\$o"
266 # Search for a Postscript interpreter
267 LYXRC_PROG([for a Postscript interpreter], \ps_command, gs)
269 # Search something to preview postscript
270 SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gv ghostview)
272 # Search for a program to preview pdf
273 SEARCH_PROG([for a PDF preview],PDF_VIEWER,acroread gv ghostview xpdf)
275 # Search something to preview dvi
276 SEARCH_PROG([for a DVI previewer],DVI_VIEWER, xdvi windvi yap)
278 # Search something to preview html
279 SEARCH_PROG([for a HTML previewer],HTML_VIEWER, "mozilla file://\$\$p\$\$i" netscape)
281 # Search for a program to convert ps to pdf
282 SEARCH_PROG([for a PS to PDF converter],ps_to_pdf_command,ps2pdf)
283 test $ps_to_pdf_command = "ps2pdf" && ps_to_pdf_command="ps2pdf -dCompatibilityLevel=1.3 \$\$i"
285 # Search for a program to convert dvi to ps
286 SEARCH_PROG([for a DVI to PS converter],dvi_to_ps_command,dvips)
287 test $dvi_to_ps_command = "dvips" && dvi_to_ps_command="dvips -o \$\$o \$\$i"
289 # Search for a program to convert dvi to pdf
290 SEARCH_PROG([for a DVI to PDF converter],dvi_to_pdf_command,dvipdfm)
291 test $dvi_to_pdf_command = "dvipdfm" && dvi_to_pdf_command="dvipdfm \$\$i"
293 # We have a script to convert previewlyx to ppm
294 lyxpreview_to_bitmap_command='$$s/lyxpreview2bitmap.sh'
296 # Search a *roff program (used to translate tables in ASCII export)
297 LYXRC_PROG([for a *roff formatter], \ascii_roff_command, dnl
298 'groff -t -Tlatin1 $$FName' nroff,dnl
299 test "$prog" = "nroff" && prog='tbl $$FName | nroff')
301 # Search the ChkTeX program
302 LYXRC_PROG([for ChkTeX], \chktex_command,dnl
303 "chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38")
305 # Search for a spellchecker
306 LYXRC_PROG([for a spell-checker], \spell_command, ispell)
308 # Search for computer algebra systems
309 SEARCH_PROG([for Octave],OCTAVE,octave)
310 SEARCH_PROG([for Maple],MAPLE,maple)
312 dnl # Search a Fax handling program
313 dnl SEARCH_PROG([for a fax driver], FAX, sendfax faxsend fax)
314 dnl if test $FAX = sendfax ; then
315 dnl fax_command="sendfax -n -h '\$\$Host' -c '\$\$Comment' -x '\$\$Enterprise' -d '\$\$Name'@'\$\$Phone' '\$\$FName'"
316 dnl elif test $FAX = faxsend ; then
317 dnl fax_command="faxsend '\$\$Phone' '\$\$FName'"
318 dnl elif test $FAX = fax ; then
319 dnl fax_command="fax send '\$\$Phone' '\$\$FName'"
321 dnl fax_command="none"
324 # Search a GUI Fax program
325 SEARCH_PROG([for a fax program], fax_command, kdeprintfax ksendfax)
326 test $fax_command != "none" && fax_command="$fax_command \$\$i"
328 # Search for LinuxDoc support
329 SEARCH_PROG([for SGML-tools 1.x (LinuxDoc)], LINUXDOC, sgml2lyx)
331 if test $LINUXDOC != none; then
333 linuxdoc_cmd="\\def\\haslinuxdoc{yes}"
338 linuxdoc_to_latex_command="sgml2latex \$\$i"
339 linuxdoc_to_dvi_command="sgml2latex -o dvi \$\$i"
340 linuxdoc_to_html_command="sgml2html \$\$i"
341 linuxdoc_to_lyx_command="sgml2lyx \$\$i";;
343 linuxdoc_to_latex_command="none"
344 linuxdoc_to_dvi_command="none"
345 linuxdoc_to_html_command="none"
346 linuxdoc_to_lyx_command="none";;
349 # Search for DocBook support
350 SEARCH_PROG([for SGML-tools 2.x (DocBook) or db2x scripts], DOCBOOK, sgmltools db2dvi)
352 if test $DOCBOOK != none; then
354 docbook_cmd="\\def\\hasdocbook{yes}"
359 docbook_to_dvi_command="sgmltools -b dvi \$\$i"
360 docbook_to_html_command="sgmltools -b html \$\$i";;
362 docbook_to_dvi_command="db2dvi \$\$i"
363 docbook_to_html_command="db2html \$\$i";;
365 docbook_to_dvi_command="none"
366 docbook_to_html_command="none";;
369 # Search for a spool command
370 LYXRC_PROG([for a spool command], \print_spool_command, lp lpr)
372 lp) print_spool_printerprefix="-d ";;
373 lpr) print_spool_printerprefix="-P";;
374 *) :;; # leave to empty values
376 LYXRC_VAR(\print_spool_printerprefix, $print_spool_printerprefix)
378 SEARCH_PROG([for a LaTeX -> HTML converter], TOHTML, tth latex2html hevea)
379 latex_to_html_command=$TOHTML
381 tth) latex_to_html_command="tth -t -e2 -L\$\$b < \$\$i > \$\$o";;
382 latex2html) latex_to_html_command="latex2html -no_subdir -split 0 -show_section_numbers \$\$i";;
383 hevea) latex_to_html_command="hevea -s \$\$i";;
386 #### Explore the LaTeX configuration
387 MSG_CHECKING(LaTeX configuration)
388 # First, remove the files that we want to re-create
389 rm -f textclass.lst packages.lst chkconfig.sed
390 if test ${lyx_check_config} = no ; then
391 MSG_RESULT(default values)
394 rm -f wrap_chkconfig.ltx chkconfig.vars chkconfig.classes chklayouts.tex
395 cat >wrap_chkconfig.ltx <<EOF
396 \\newcommand\\srcdir{${srcdir}}
399 \\input{${srcdir}/chkconfig.ltx}
401 ## Construct the list of classes to test for.
402 # build the list of available layout files and convert it to commands
404 for file in ./layouts/*.layout ${srcdir}/layouts/*.layout ; do
407 *) test -r "$file" && echo $file ;;
409 done | sed -e 's%^.*layouts/\(.*\)\.layout$%\\TestDocClass{\1}%'\
412 [eval] ${LATEX} wrap_chkconfig.ltx 2>/dev/null | grep '^\+'
413 [eval] `cat chkconfig.vars | sed 's/-/_/g'`
417 # Do we have all the files we need? Useful if latex did not run
419 echo "creating textclass.lst"
420 PROVIDE_DEFAULT_FILE(textclass.lst,dnl
421 [# This file declares layouts and their associated definition files
422 # (include dir. relative to the place where this file is).
423 # It contains only default values, since chkconfig.ltx could not be run
424 # for some reason. Run ./configure if you need to update it after a
425 # configuration change.
426 article article article
429 linuxdoc linuxdoc linuxdoc
430 letter letter letter])
432 PROVIDE_DEFAULT_FILE(chkconfig.sed,[s/@.*@/???/g])
434 echo "creating packages.lst"
435 PROVIDE_DEFAULT_FILE(packages.lst,dnl
436 [# This file should contain the list of LaTeX packages that have been
437 # recognized by LyX. Unfortunately, since configure could not find
438 # your LaTeX2e program, the tests have not been run. Run ./configure
439 # if you need to update it after a configuration change.
443 echo "creating doc/LaTeXConfig.lyx"
444 echo "s/@chk_linuxdoc@/$chk_linuxdoc/g" >> chkconfig.sed
445 echo "s/@chk_docbook@/$chk_docbook/g" >> chkconfig.sed
446 sed -f chkconfig.sed ${srcdir}/doc/LaTeXConfig.lyx.in >doc/LaTeXConfig.lyx
448 echo "creating $outfile"
450 # This file has been automatically generated by LyX' lib/configure
451 # script. It contains default settings that have been determined by
452 # examining your system. PLEASE DO NOT MODIFY ANYTHING HERE! If you
453 # want to customize LyX, make a copy of the file LYXDIR/lyxrc as
454 # ~/.lyx/lyxrc and edit this file instead. Any setting in lyxrc will
455 # override the values given here.
456 \\Format asciichess asc "ASCII (chess output)" ""
457 \\Format asciiimage asc "ASCII (image)" ""
458 \\Format asciixfig asc "ASCII (xfig output)" ""
459 \\Format agr agr GRACE ""
460 \\Format bmp bmp BMP ""
461 \\Format date "" "date command" ""
462 \\Format dateout "tmp" "date (output)" ""
463 \\Format docbook sgml DocBook B
464 \\Format dvi dvi DVI D
465 \\Format eps eps EPS ""
466 \\Format fax "" Fax ""
467 \\Format fen fen FEN ""
468 \\Format fig fig XFig ""
469 \\Format gif gif GIF ""
470 \\Format html html HTML H
471 \\Format jpg jpg JPG ""
472 \\Format latex tex LaTeX L
473 \\Format linuxdoc sgml LinuxDoc x
474 \\Format lyx lyx LyX ""
475 \\Format lyxpreview lyxpreview "LyX Preview" ""
476 \\Format literate nw NoWeb N
477 \\Format pbm pbm PBM ""
478 \\Format pdf pdf "PDF (ps2pdf)" P
479 \\Format pdf2 pdf "PDF (pdflatex)" F
480 \\Format pdf3 pdf "PDF (dvipdfm)" m
481 \\Format pdftex pdftex_t PDFTEX ""
482 \\Format pgm pgm PGM ""
483 \\Format png png PNG ""
484 \\Format ppm ppm PPM ""
485 \\Format program "" Program ""
486 \\Format ps ps Postscript t
487 \\Format pstex pstex_t PSTEX ""
488 \\Format text txt ASCII A
489 \\Format textparagraph txt ASCII(paragraphs) ""
490 \\Format tgif obj TGIF ""
491 \\Format tiff tif TIFF ""
492 \\Format word doc Word W
493 \\Format xbm xbm XBM ""
494 \\Format xpm xpm XPM ""
496 \\converter date dateout "date +%d-%m-%Y > \$\$o" ""
497 \\converter docbook dvi "$docbook_to_dvi_command" ""
498 \\converter docbook html "$docbook_to_html_command" ""
499 \\converter dvi pdf3 "$dvi_to_pdf_command" ""
500 \\converter dvi ps "$dvi_to_ps_command" ""
501 \\converter fen asciichess "python \$\$s/fen2ascii.py \$\$i \$\$o" ""
502 \\converter fig pdftex "sh \$\$s/fig2pdftex.sh \$\$i \$\$o" ""
503 \\converter fig pstex "sh \$\$s/fig2pstex.sh \$\$i \$\$o" ""
504 \\converter html latex "$html_to_latex_command" ""
505 \\converter latex html "$latex_to_html_command" "originaldir,needaux"
506 \\converter latex dvi "$latex_to_dvi" "latex"
507 \\converter latex lyx "$tex_to_lyx_command" ""
508 \\converter latex pdf2 "$latex_to_pdf" "latex"
509 \\converter linuxdoc dvi "$linuxdoc_to_dvi_command" ""
510 \\converter linuxdoc html "$linuxdoc_to_html_command" ""
511 \\converter linuxdoc latex "$linuxdoc_to_latex_command" ""
512 \\converter linuxdoc lyx "$linuxdoc_to_lyx_command" ""
513 \\converter literate latex "$literate_to_tex_command" ""
514 \\converter literate lyx "$literate_to_lyx_command" ""
515 \\converter lyxpreview ppm "$lyxpreview_to_bitmap_command" ""
516 \\converter ps fax "$fax_command" ""
517 \\converter ps pdf "$ps_to_pdf_command" ""
518 \\converter word latex "$word_to_latex_command" ""
520 \\viewer dvi "$DVI_VIEWER"
521 \\viewer html "$HTML_VIEWER"
522 \\viewer pdf "$PDF_VIEWER"
523 \\viewer pdf2 "$PDF_VIEWER"
524 \\viewer pdf3 "$PDF_VIEWER"
525 \\viewer ps "$GHOSTVIEW -swap"
526 \\viewer eps "$GHOSTVIEW"
529 \\font_encoding "$chk_fontenc"
532 ### the graphic converter part with the predefined ones
533 #### Search for tne nonstandard converting progs
535 SEARCH_PROG([for an FIG -> EPS/PPM converter], FIG2DEV, fig2dev)
536 if test "$FIG2DEV" = "fig2dev"; then
538 \\converter fig eps "fig2dev -L eps \$\$i \$\$o" ""
539 \\converter fig ppm "fig2dev -L ppm \$\$i \$\$o" ""
540 \\converter fig png "fig2dev -L png \$\$i \$\$o" ""
544 SEARCH_PROG([for an TIFF -> PS converter], TIFF2PS, tiff2ps)
545 if test "$TIFF2PS" = "tiff2ps"; then
547 \\converter tiff eps "tiff2ps \$\$i > \$\$o" ""
551 SEARCH_PROG([for an TGIF -> EPS/PPM converter], TGIF, tgif)
552 if test "$TGIF" = "tgif"; then
554 \\converter tgif eps "tgif -stdout -print -color -eps \$\$i > \$\$o" ""
555 \\converter tgif png "tgif -stdout -print -color -xpm \$\$i | xpmtoppm | pnmtopng > \$\$o" ""
559 SEARCH_PROG([for an EPS -> PDF converter], EPSTOPDF, epstopdf)
560 if test "$EPSTOPDF" = "epstopdf"; then
562 \\converter eps pdf "epstopdf --outfile=\$\$o \$\$i" ""
566 #### Add Grace conversions (xmgrace needs an Xserver, gracebat doesn't.)
567 SEARCH_PROG([for a Grace -> Image converter], GRACE, gracebat)
568 if test "$GRACE" = "gracebat"; then
570 \\converter agr eps "gracebat -hardcopy -printfile \$\$o -hdevice EPS \$\$i 2>/dev/null" ""
571 \\converter agr png "gracebat -hardcopy -printfile \$\$o -hdevice PNG \$\$i 2>/dev/null" ""
572 \\converter agr jpg "gracebat -hardcopy -printfile \$\$o -hdevice JPEG \$\$i 2>/dev/null" ""
573 \\converter agr ppm "gracebat -hardcopy -printfile \$\$o -hdevice PNM \$\$i 2>/dev/null" ""
578 # create a fonts.dir file to make X fonts available to LyX
579 echo "checking for TeX fonts"
581 fontlist="cmex10 cmmi10 cmr10 cmsy10 eufm10 msam10 msbm10 wasy10"
582 rm -f xfonts/fonts.dir xfonts/fonts.scale xfonts/tmpfonts
585 touch xfonts/tmpfonts
586 for font in $fontlist ; do
587 MSG_CHECKING([for $font])
589 for ext in pfb pfa ttf ; do
590 if filepath=`kpsewhich $font.$ext` ; then
592 rm -f xfonts/$font.$ext
593 ln -s $filepath xfonts 2>/dev/null
594 echo "$font.$ext -unknown-$font-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific" >>xfonts/tmpfonts
602 if test ! $num = 0 ; then
603 echo $num >xfonts/fonts.scale
604 cat xfonts/tmpfonts >>xfonts/fonts.scale
605 cp xfonts/fonts.scale xfonts/fonts.dir
606 # create a resource list file for Display Postscript
607 (cd xfonts ; rm -f PSres.upr ; makepsres -q) || true
609 rm -f xfonts/tmpfonts
612 # Remove superfluous files if we are not writing in the main lib
614 for file in $outfile textclass.lst packages.lst \
615 doc/LaTeXConfig.lyx xfonts/fonts.dir ; do
616 # we rename the file first, so that we avoid comparing a file with itself
618 if test -r $srcdir/$file && diff $file.new $srcdir/$file >/dev/null 2>/dev/null ;
620 echo "removing $file, which is identical to the system global version"
626 if test ! -r xfonts/fonts.dir ; then
627 echo "removing font links"
628 rm -f xfonts/*.pfb xfonts/fonts.scale
632 if test $lyx_keep_temps = no ; then
633 rm -f chkconfig.sed chkconfig.vars wrap_chkconfig.* chklayouts.tex \