]> git.lyx.org Git - lyx.git/blob - lib/configure.m4
remove all forgotten traces of help/
[lyx.git] / lib / configure.m4
1 #! /bin/sh
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.
6
7
8 dnl ######### Begin M4 macros #########################################
9 dnl This is a template for my stripped-down configure script.
10 dnl First, a few convenient macros.
11 changequote([,])dnl
12 dnl
13 dnl
14 dnl MSG_CHECKING(FEATURE-DESCRIPTION,PREFIX)
15 dnl
16 define(MSG_CHECKING,
17 [echo $ac_n "$2checking $1""... $ac_c"])dnl
18 dnl
19 dnl
20 dnl MSG_RESULT(RESULT-DESCRIPTION)
21 dnl
22 define(MSG_RESULT,
23 [echo "$ac_t""$1"])dnl
24 dnl
25 dnl
26 dnl SEARCH_PROG(FEATURE-DESCRIPTION,VARIABLE-NAME,PROGRAMS-LIST,
27 dnl             ACTION-IF-FOUND,ACTION-IF-NOT-FOUND)
28 dnl
29 define(SEARCH_PROG,[dnl
30 changequote([,])dnl
31 MSG_CHECKING($1)
32 MSG_RESULT(($3))
33 $2=
34 for ac_prog in $3
35 do
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
44       $2="$ac_prog"
45       break
46     fi
47   done
48   IFS="$ac_save_ifs"
49
50   if test -n "[$]$2"; then
51     ac_result=yes
52     ifelse($4,,,[$4])
53   else
54     ac_result=no
55   fi
56   MSG_RESULT($ac_result)
57   test -n "[$]$2" && break
58 fi
59 done
60
61 if test -z "[$]$2" ; then
62   $2=none
63 ifelse($5,,,[  $5
64 ])dnl
65 fi
66 changequote(,)dnl
67 ])dnl
68 dnl
69 dnl
70 dnl LYXRC_VAR(VARIABLE_NAME, VALUE)
71 define(LYXRC_VAR,[dnl
72 rc_entries="$rc_entries
73 $1 \"$2\""])
74 dnl
75 dnl
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)
80 LYXRC_VAR($2,$prog)])
81 dnl
82 dnl
83 dnl PROVIDE_DEFAULT_FILE(FILE, DEFAULT-VALUE)
84 dnl
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
89   cat >$1 <<EOF
90 $2
91 EOF
92 fi])
93 changequote(,)dnl
94 dnl ######### End M4 macros #############################################
95
96
97 # Be Bourne compatible (taken from autoconf 2.53)
98 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
99   emulate sh
100   NULLCMD=:
101 elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
102   set -o posix
103 fi
104
105
106
107 ####some configuration variables
108 outfile=lyxrc.defaults
109 rc_entries=
110 lyx_check_config=yes
111 lyx_keep_temps=no
112 srcdir=
113 version_suffix=
114
115 #### Parse the command line
116 for ac_option do
117   case "$ac_option" in
118     -help | --help | -h)
119       cat << EOF
120 Usage: configure [options]
121 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
126 EOF
127       exit 0;;
128     --without-latex-config)
129       lyx_check_config=no ;;
130     --keep-temps)
131       lyx_keep_temps=yes ;;
132     --with-version-suffix*)
133       version_suffix=`echo "$ac_option" | sed 's,--with-version-suffix=,,'`
134   esac
135 done
136
137
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
142     ac_n= ac_c='
143 ' ac_t='        '
144   else
145     ac_n=-n ac_c= ac_t=
146   fi
147 else
148   ac_n= ac_c='\c' ac_t=
149 fi
150
151
152 #### I do not really know why this is useful, but we might as well keep it.
153 # NLS nuisances.
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
162
163
164 #### Guess the directory in which configure is located.
165 changequote([,])dnl
166 ac_prog=[$]0
167 changequote(,)dnl
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"
173   exit 1
174 fi
175
176 #### Adjust PATH for Win32 (Cygwin)
177 case `uname -s` in
178    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" ]
187      then
188        echo "configure: cygwin detected; path correction"
189        srcdir=`cygpath -w "${srcdir}" | tr '\\\\' /`
190        echo "srcdir=${srcdir}"
191      else
192        echo "configure: cygwin detected; path correction is not needed"
193      fi
194      ;;
195 esac
196
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
201 done
202
203
204 #### Searching some useful programs
205 define(CHECKLATEX2E,[
206 ## Check whether this is really LaTeX2e
207 rm -f chklatex.ltx
208 cat >chklatex.ltx <<EOF
209 \\nonstopmode\\makeatletter
210 \\ifx\\undefined\\documentclass\\else
211   \\message{ThisIsLaTeX2e}
212 \\fi
213 \\@@end
214 EOF
215 if eval ${LATEX} chklatex.ltx </dev/null 2>/dev/null \
216                        | grep 'ThisIsLaTeX2e' >/dev/null; then
217   :
218 else
219   LATEX=
220   ac_result="not useable"
221 fi
222 rm -f chklatex.ltx chklatex.log])dnl
223 dnl
224 # Search LaTeX2e
225 SEARCH_PROG([for a LaTeX2e program],LATEX,pplatex latex2e latex,CHECKLATEX2E,dnl
226   [lyx_check_config=no])
227 latex_to_dvi=$LATEX
228 test -z "$latex_to_dvi" && latex_to_dvi="none"
229
230 # Search for pdflatex
231 if test ${lyx_check_config} = no ; then
232   latex_to_pdf=none
233 else
234   SEARCH_PROG([for the pdflatex program],latex_to_pdf,pdflatex)
235 fi
236
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"
239
240 # Search for an installed reLyX or a ready-to-install one
241 save_PATH=${PATH}
242 PATH=${PATH}:./reLyX/
243 SEARCH_PROG([for a LaTeX -> LyX converter],tex_to_lyx_command,reLyX)
244 PATH=${save_PATH}
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,"`
247
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,"`
251
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"
255
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"
258
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"
262
263 SEARCH_PROG([for Image converter],image_command,convert)
264 test $image_command = "convert" && image_command="convert \$\$i \$\$o"
265
266 # Search something to preview postscript
267 SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gsview32 gv ghostview)
268 case $GHOSTVIEW in
269   gv|ghostview) PS_VIEWER="$GHOSTVIEW -swap" ;;
270   *) PS_VIEWER="$GHOSTVIEW";;
271 esac
272 EPS_VIEWER=$GHOSTVIEW
273
274 # Search for a program to preview pdf
275 SEARCH_PROG([for a PDF preview],PDF_VIEWER, acrobat acrord32 gsview32 acroread gv ghostview xpdf)
276
277 # Search something to preview dvi
278 SEARCH_PROG([for a DVI previewer],DVI_VIEWER, xdvi windvi yap)
279
280 # Search something to preview html
281 SEARCH_PROG([for a HTML previewer],HTML_VIEWER, "mozilla file://\$\$p\$\$i" netscape)
282
283 # Search for a program to convert ps to pdf
284 SEARCH_PROG([for a PS to PDF converter],ps_to_pdf_command,ps2pdf)
285 test $ps_to_pdf_command = "ps2pdf" && ps_to_pdf_command="ps2pdf -dCompatibilityLevel=1.3 \$\$i"
286
287 # Search for a program to convert dvi to ps
288 SEARCH_PROG([for a DVI to PS converter],dvi_to_ps_command,dvips)
289 test $dvi_to_ps_command = "dvips" && dvi_to_ps_command="dvips -o \$\$o \$\$i"
290
291 # Search for a program to convert dvi to pdf
292 SEARCH_PROG([for a DVI to PDF converter],dvi_to_pdf_command,dvipdfm)
293 test $dvi_to_pdf_command = "dvipdfm" && dvi_to_pdf_command="dvipdfm \$\$i"
294
295 # We have a script to convert previewlyx to ppm
296 lyxpreview_to_bitmap_command='$$s/lyxpreview2bitmap.sh'
297
298 # Search a *roff program (used to translate tables in ASCII export)
299 LYXRC_PROG([for a *roff formatter], \ascii_roff_command, dnl
300   'groff -t -Tlatin1 $$FName' nroff,dnl
301   test "$prog" = "nroff" && prog='tbl $$FName | nroff')
302
303 # Search the ChkTeX program
304 LYXRC_PROG([for ChkTeX], \chktex_command,dnl
305    "chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38")
306
307 # Search for a spellchecker
308 LYXRC_PROG([for a spell-checker], \spell_command, ispell)
309
310 # Search for computer algebra systems
311 SEARCH_PROG([for Octave],OCTAVE,octave)
312 SEARCH_PROG([for Maple],MAPLE,maple)
313
314 dnl # Search a Fax handling program
315 dnl SEARCH_PROG([for a fax driver], FAX, sendfax faxsend fax)
316 dnl if test $FAX = sendfax ; then
317 dnl   fax_command="sendfax -n -h '\$\$Host' -c '\$\$Comment' -x '\$\$Enterprise' -d '\$\$Name'@'\$\$Phone' '\$\$FName'"
318 dnl elif test $FAX = faxsend ; then
319 dnl   fax_command="faxsend '\$\$Phone' '\$\$FName'"
320 dnl elif test $FAX = fax ; then
321 dnl   fax_command="fax send '\$\$Phone' '\$\$FName'"
322 dnl else
323 dnl   fax_command="none"
324 dnl fi
325
326 # Search a GUI Fax program
327 SEARCH_PROG([for a fax program], fax_command, kdeprintfax ksendfax)
328 test $fax_command != "none" && fax_command="$fax_command \$\$i"
329
330 # Search for LinuxDoc support
331 SEARCH_PROG([for SGML-tools 1.x (LinuxDoc)], LINUXDOC, sgml2lyx)
332 if test $LINUXDOC != none; then
333   chk_linuxdoc=yes
334   bool_linuxdoc=true
335   linuxdoc_cmd="\\def\\haslinuxdoc{yes}"
336 else
337   chk_linuxdoc=no
338   bool_linuxdoc=false
339 fi
340
341 case $LINUXDOC in
342   sgml2lyx)
343     linuxdoc_to_latex_command="sgml2latex \$\$i"
344     linuxdoc_to_dvi_command="sgml2latex -o dvi \$\$i"
345     linuxdoc_to_html_command="sgml2html \$\$i"
346     linuxdoc_to_lyx_command="sgml2lyx \$\$i";;
347   none)
348     linuxdoc_to_latex_command="none"
349     linuxdoc_to_dvi_command="none"
350     linuxdoc_to_html_command="none"
351     linuxdoc_to_lyx_command="none";;
352 esac
353
354 # Search for DocBook support
355 SEARCH_PROG([for SGML-tools 2.x (DocBook) or db2x scripts], DOCBOOK, sgmltools db2dvi)
356 if test $DOCBOOK != none; then
357   chk_docbook=yes
358   bool_docbook=true
359   docbook_cmd="\\def\\hasdocbook{yes}"
360 else
361   chk_docbook=no
362   bool_docbook=false
363 fi
364
365 case $DOCBOOK in
366   sgmltools)
367     docbook_to_dvi_command="sgmltools -b dvi \$\$i"
368     docbook_to_html_command="sgmltools -b html \$\$i";;
369   db2dvi)
370     docbook_to_dvi_command="db2dvi \$\$i"
371     docbook_to_html_command="db2html \$\$i";;
372   none)
373     docbook_to_dvi_command="none"
374     docbook_to_html_command="none";;
375 esac
376
377 # Search for a spool command
378 LYXRC_PROG([for a spool command], \print_spool_command, lp lpr)
379 case $prog in
380   lp) print_spool_printerprefix="-d ";;
381  lpr) print_spool_printerprefix="-P";;
382    *) :;; # leave to empty values
383 esac
384 LYXRC_VAR(\print_spool_printerprefix, $print_spool_printerprefix)
385
386 SEARCH_PROG([for a LaTeX -> HTML converter], TOHTML, tth latex2html hevea)
387 latex_to_html_command=$TOHTML
388 case $TOHTML in
389         tth) latex_to_html_command="tth -t -e2 -L\$\$b < \$\$i > \$\$o";;
390  latex2html) latex_to_html_command="latex2html -no_subdir -split 0 -show_section_numbers \$\$i";;
391       hevea) latex_to_html_command="hevea -s \$\$i";;
392 esac
393
394 #### Explore the LaTeX configuration
395 MSG_CHECKING(LaTeX configuration)
396 # First, remove the files that we want to re-create
397 rm -f textclass.lst packages.lst chkconfig.sed
398 if test ${lyx_check_config} = no ; then
399   MSG_RESULT(default values)
400   MSG_CHECKING(list of textclasses,+)
401   cat >textclass.lst <<EOF
402 # This file declares layouts and their associated definition files
403 # (include dir. relative to the place where this file is).
404 # It contains only default values, since chkconfig.ltx could not be run
405 # for some reason. Run ./configure if you need to update it after a
406 # configuration change.
407 EOF
408   # build the list of available layout files and convert it to commands
409   # for chkconfig.ltx
410   for file in ./layouts/*.layout ${srcdir}/layouts/*.layout ; do
411     case $file in
412       */\*.layout) ;;
413       *) if test -r "$file" ; then
414            class=`echo $file | sed -e 's%^.*layouts/\(.*\)\.layout$%\1%'`
415            cleanclass=`echo $class | tr ' -' '__'`
416 changequote([,])dnl
417            # make sure the same class is not considered twice
418            if test  x`[eval] echo $ac_n '${found_'$cleanclass'}'` = x ; then
419              [eval] "found_$cleanclass=yes"
420 changequote(,)dnl
421              # The sed commands below are a bit scary. Here is what they do:
422              # 1-3: remove the \DeclareFOO macro and add the correct boolean 
423              #      at the end of the line telling whether the class is 
424              #      available
425              # 4: if the macro had an optional argument with several 
426              #    parameters, only keep the first one
427              # 5: if the macro did not have an optional argument, provide one 
428              #    (equal to the class name)
429              # 6: remove brackets and replace with correctly quoted entries
430              grep '\\Declare\(LaTeX\|DocBook\|LinuxDoc\)Class' "$file" \
431               | sed -e 's/^.*\DeclareLaTeXClass *\(.*\)/\1 "false"/' \
432                     -e 's/^.*\DeclareDocBookClass *\(.*\)/\1 "'$bool_docbook'"/' \
433                     -e 's/^.*\DeclareLinuxDocClass *\(.*\)/\1 "'$bool_linuxdoc'"/' \
434                     -e 's/\[\([^,]*\),[^]]*\]/[\1]/' \
435                     -e 's/^{/['$class']{/' \
436                     -e 's/\[\([^]]*\)\] *{\([^}]*\)}/"'$class'" "\1" "\2"/' \
437                     >>textclass.lst
438            fi
439          fi ;;
440     esac
441   done 
442   MSG_RESULT(done)
443 else
444   MSG_RESULT(auto)
445   rm -f wrap_chkconfig.ltx chkconfig.vars chkconfig.classes chklayouts.tex
446   cat >wrap_chkconfig.ltx <<EOF
447 \\newcommand\\srcdir{${srcdir}}
448 ${linuxdoc_cmd}
449 ${docbook_cmd}
450 \\input{${srcdir}/chkconfig.ltx}
451 EOF
452   ## Construct the list of classes to test for.
453   # build the list of available layout files and convert it to commands
454   # for chkconfig.ltx
455   for file in ./layouts/*.layout ${srcdir}/layouts/*.layout ; do
456     case $file in
457       */\*.layout) ;;
458       *) test -r "$file" && echo $file ;;
459     esac
460   done | sed -e 's%^.*layouts/\(.*\)\.layout$%\\TestDocClass{\1}%'\
461              > chklayouts.tex
462 changequote([,])dnl
463   [eval] ${LATEX} wrap_chkconfig.ltx 2>/dev/null | grep '^\+'
464   [eval] `cat chkconfig.vars | sed 's/-/_/g'`
465 changequote(,)dnl
466 fi
467
468 # Do we have all the files we need? Useful if latex did not run
469 changequote([,])dnl
470
471 PROVIDE_DEFAULT_FILE(chkconfig.sed,[s/@.*@/???/g])
472
473 echo "creating packages.lst"
474 PROVIDE_DEFAULT_FILE(packages.lst,dnl
475 [# This file should contain the list of LaTeX packages that have been
476 # recognized by LyX. Unfortunately, since configure could not find
477 # your LaTeX2e program, the tests have not been run. Run ./configure
478 # if you need to update it after a configuration change.
479 ])
480 changequote(,)dnl
481
482 echo "creating doc/LaTeXConfig.lyx"
483 echo "s/@chk_linuxdoc@/$chk_linuxdoc/g" >> chkconfig.sed
484 echo "s/@chk_docbook@/$chk_docbook/g" >> chkconfig.sed
485 sed -f chkconfig.sed ${srcdir}/doc/LaTeXConfig.lyx.in >doc/LaTeXConfig.lyx
486
487 echo "creating $outfile"
488 cat >$outfile <<EOF
489 # This file has been automatically generated by LyX' lib/configure
490 # script. It contains default settings that have been determined by
491 # examining your system. PLEASE DO NOT MODIFY ANYTHING HERE! If you
492 # want to customize LyX, make a copy of the file LYXDIR/lyxrc as
493 # ~/.lyx/lyxrc and edit this file instead. Any setting in lyxrc will
494 # override the values given here.
495 \\Format asciichess asc "ASCII (chess output)" ""
496 \\Format asciiimage asc "ASCII (image)" ""
497 \\Format asciixfig  asc "ASCII (xfig output)" ""
498 \\Format agr      agr   GRACE           ""
499 \\Format bmp      bmp   BMP             ""
500 \\Format date     ""    "date command"  ""
501 \\Format dateout  "tmp" "date (output)" ""
502 \\Format docbook  sgml  DocBook         B
503 \\Format dvi      dvi   DVI             D
504 \\Format eps      eps   EPS             ""
505 \\Format fax      ""    Fax             ""
506 \\Format fen      fen   FEN             ""
507 \\Format fig      fig   XFig            ""
508 \\Format gif      gif   GIF             ""
509 \\Format html     html  HTML            H
510 \\Format jpg      jpg   JPG             ""
511 \\Format latex    tex   LaTeX           L
512 \\Format linuxdoc sgml  LinuxDoc        x
513 \\Format lyx      lyx   LyX             ""
514 \\Format lyxpreview     lyxpreview      "LyX Preview"           ""
515 \\Format literate nw    NoWeb           N
516 \\Format pbm      pbm   PBM             ""
517 \\Format pdf      pdf  "PDF (ps2pdf)"   P
518 \\Format pdf2     pdf  "PDF (pdflatex)" F
519 \\Format pdf3     pdf  "PDF (dvipdfm)"  m
520 \\Format pdftex   pdftex_t PDFTEX       ""
521 \\Format pgm      pgm   PGM             ""
522 \\Format png      png   PNG             ""
523 \\Format ppm      ppm   PPM             ""
524 \\Format program  ""    Program         ""
525 \\Format ps       ps    Postscript      t
526 \\Format pstex    pstex_t PSTEX         ""
527 \\Format text     txt   ASCII           A
528 \\Format textparagraph txt ASCII(paragraphs)    ""
529 \\Format tgif     obj   TGIF            ""
530 \\Format tiff     tif   TIFF            ""
531 \\Format word     doc   Word            W
532 \\Format xbm      xbm   XBM             ""
533 \\Format xpm      xpm   XPM             ""
534
535 \\converter date dateout "date +%d-%m-%Y > \$\$o" ""
536 \\converter docbook dvi "$docbook_to_dvi_command" ""
537 \\converter docbook html "$docbook_to_html_command" ""
538 \\converter dvi pdf3 "$dvi_to_pdf_command" ""
539 \\converter dvi ps "$dvi_to_ps_command" ""
540 \\converter fen asciichess "python \$\$s/fen2ascii.py \$\$i \$\$o" ""
541 \\converter fig pdftex "sh \$\$s/fig2pdftex.sh \$\$i \$\$o" ""
542 \\converter fig pstex  "sh \$\$s/fig2pstex.sh \$\$i \$\$o" ""
543 \\converter html latex "$html_to_latex_command" ""
544 \\converter latex html "$latex_to_html_command" "originaldir,needaux"
545 \\converter latex dvi "$latex_to_dvi" "latex"
546 \\converter latex lyx "$tex_to_lyx_command" ""
547 \\converter latex pdf2 "$latex_to_pdf" "latex"
548 \\converter linuxdoc dvi "$linuxdoc_to_dvi_command" ""
549 \\converter linuxdoc html "$linuxdoc_to_html_command" ""
550 \\converter linuxdoc latex "$linuxdoc_to_latex_command" ""
551 \\converter linuxdoc lyx "$linuxdoc_to_lyx_command" ""
552 \\converter literate latex "$literate_to_tex_command" ""
553 \\converter literate lyx "$literate_to_lyx_command" ""
554 \\converter lyxpreview ppm "$lyxpreview_to_bitmap_command" ""
555 \\converter ps fax "$fax_command" ""
556 \\converter ps pdf "$ps_to_pdf_command" ""
557 \\converter word latex "$word_to_latex_command" ""
558
559 \\viewer dvi "$DVI_VIEWER"
560 \\viewer html "$HTML_VIEWER"
561 \\viewer pdf "$PDF_VIEWER"
562 \\viewer pdf2 "$PDF_VIEWER"
563 \\viewer pdf3 "$PDF_VIEWER"
564 \\viewer ps "$PS_VIEWER"
565 \\viewer eps "$EPS_VIEWER"
566
567 $rc_entries
568 \\font_encoding "$chk_fontenc"
569 EOF
570
571 ### the graphic converter part with the predefined ones
572 #### Search for tne nonstandard converting progs
573 #
574 SEARCH_PROG([for an FIG -> EPS/PPM converter], FIG2DEV, fig2dev)
575 if test "$FIG2DEV" = "fig2dev"; then
576 cat >>$outfile <<EOF
577 \\converter fig eps "fig2dev -L eps \$\$i \$\$o" ""
578 \\converter fig ppm "fig2dev -L ppm \$\$i \$\$o" ""
579 \\converter fig png "fig2dev -L png \$\$i \$\$o" ""
580 EOF
581 fi
582
583 SEARCH_PROG([for an TIFF -> PS converter], TIFF2PS, tiff2ps)
584 if test "$TIFF2PS" = "tiff2ps"; then
585 cat >>$outfile <<EOF
586 \\converter tiff eps "tiff2ps \$\$i > \$\$o" ""
587 EOF
588 fi
589
590 SEARCH_PROG([for an TGIF -> EPS/PPM converter], TGIF, tgif)
591 if test "$TGIF" = "tgif"; then
592 cat >>$outfile <<EOF
593 \\converter tgif eps "tgif -stdout -print -color -eps \$\$i > \$\$o" ""
594 \\converter tgif png "tgif -stdout -print -color -xpm \$\$i | xpmtoppm | pnmtopng > \$\$o" ""
595 EOF
596 fi
597
598 SEARCH_PROG([for an EPS -> PDF converter], EPSTOPDF, epstopdf)
599 if test "$EPSTOPDF" = "epstopdf"; then
600 cat >>$outfile <<EOF
601 \\converter eps pdf "epstopdf --outfile=\$\$o \$\$i" ""
602 EOF
603 fi
604
605 #### Add Grace conversions (xmgrace needs an Xserver, gracebat doesn't.)
606 SEARCH_PROG([for a Grace -> Image converter], GRACE, gracebat)
607 if test "$GRACE" = "gracebat"; then
608 cat >>$outfile <<EOF
609 \\converter agr eps "gracebat -hardcopy -printfile \$\$o -hdevice EPS \$\$i 2>/dev/null" ""
610 \\converter agr png "gracebat -hardcopy -printfile \$\$o -hdevice PNG \$\$i 2>/dev/null" ""
611 \\converter agr jpg "gracebat -hardcopy -printfile \$\$o -hdevice JPEG \$\$i 2>/dev/null" ""
612 \\converter agr ppm "gracebat -hardcopy -printfile \$\$o -hdevice PNM \$\$i 2>/dev/null" ""
613 EOF
614 fi
615
616 ######## X FONTS
617 # create a fonts.dir file to make X fonts available to LyX
618 echo "checking for TeX fonts"
619
620 fontlist="cmex10 cmmi10 cmr10 cmsy10 eufm10 msam10 msbm10 wasy10"
621 rm -f xfonts/fonts.dir xfonts/fonts.scale xfonts/tmpfonts
622
623 num=0
624 touch xfonts/tmpfonts
625 for font in $fontlist ; do
626   MSG_CHECKING(for $font,+)
627   result=no
628   for ext in pfb pfa ttf ; do
629     if filepath=`kpsewhich $font.$ext` ; then
630       result="yes ($ext)"
631       rm -f xfonts/$font.$ext
632       ln -s $filepath xfonts 2>/dev/null
633       echo "$font.$ext -unknown-$font-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific" >>xfonts/tmpfonts
634       num=`expr $num + 1`
635       break
636     fi
637   done
638   MSG_RESULT($result)
639 done
640
641 if test ! $num = 0 ; then
642   echo $num >xfonts/fonts.scale
643   cat xfonts/tmpfonts >>xfonts/fonts.scale
644   cp xfonts/fonts.scale xfonts/fonts.dir
645   # create a resource list file for Display Postscript
646   (cd xfonts ; rm -f PSres.upr ; makepsres) 2>/dev/null || true
647 fi
648 rm -f xfonts/tmpfonts
649
650
651 # Remove superfluous files if we are not writing in the main lib
652 # directory
653 for file in $outfile textclass.lst packages.lst \
654             doc/LaTeXConfig.lyx xfonts/fonts.dir ; do
655   # we rename the file first, so that we avoid comparing a file with itself
656   mv $file $file.new
657   if test -r $srcdir/$file && diff $file.new $srcdir/$file >/dev/null 2>/dev/null ;
658   then
659     echo "removing $file, which is identical to the system global version"
660     rm -f $file.new
661   else
662     mv $file.new $file
663   fi
664 done
665 if test ! -r xfonts/fonts.dir ; then
666     echo "removing font links"
667     rm -f xfonts/*.pfb xfonts/fonts.scale
668 fi
669
670 # Final clean-up
671 if test $lyx_keep_temps = no ; then
672 rm -f chkconfig.sed chkconfig.vars wrap_chkconfig.* chklayouts.tex \
673       missfont.log
674 fi