home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / lyx-0.13.2.tar.gz / lyx-0.13.2.tar / lyx-0.13.2 / config / lib_configure.m4 (.txt) < prev    next >
LaTeX Document  |  1998-04-23  |  9KB  |  239 lines

  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. dnl ######### Begin M4 macros #########################################
  7. dnl This is a template for my stripped-down configure script.
  8. dnl First, a few convenient macros.
  9. changequote([,])dnl
  10. dnl MSG_CHECKING(FEATURE-DESCRIPTION,PREFIX)
  11. define(MSG_CHECKING,
  12. [echo $ac_n "$2checking $1""... $ac_c"])dnl
  13. dnl MSG_RESULT(RESULT-DESCRIPTION)
  14. define(MSG_RESULT,
  15. [echo "$ac_t""$1"])dnl
  16. dnl SEARCH_PROG(FEATURE-DESCRIPTION,VARIABLE-NAME,PROGRAMS-LIST,
  17. dnl             ACTION-IF-FOUND,ACTION-IF-NOT-FOUND)
  18. define(SEARCH_PROG,[dnl
  19. changequote([,])dnl
  20. MSG_CHECKING($1)
  21. MSG_RESULT()
  22. for ac_prog in $3
  23. # Extract the first word of "$ac_prog", so it can be a program name with args.
  24. set dummy $ac_prog ; ac_word=$[2]
  25. if test -n "$ac_word"; then
  26.   MSG_CHECKING([for \"$ac_word\"],[+])
  27.   IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  28.   for ac_dir in $PATH; do
  29.     test -z "$ac_dir" && ac_dir=.
  30.     if test -x [$ac_dir/$ac_word]; then
  31.       $2="$ac_prog"
  32.       break
  33.     fi
  34.   done
  35.   IFS="$ac_save_ifs"
  36.   if test -n "[$]$2"; then
  37.     ac_result=yes
  38.   else
  39.     ac_result=no
  40.   ifelse($4,,,[$4])
  41.   MSG_RESULT($ac_result)
  42.   test -n "[$]$2" && break
  43. if test -z "[$]$2" ; then
  44.   $2=none
  45. ifelse($5,,,[  $5
  46. ])dnl
  47. changequote(,)dnl
  48. ])dnl
  49. changequote(,)dnl
  50. dnl ######### End M4 macros #############################################
  51. ####some configuration variables
  52. lyx_check_config=yes
  53. lyx_keep_temps=no
  54. lyx_called_from_configure=no;
  55. srcdir=
  56. #### Parse the command line
  57. for ac_option do
  58.   case "$ac_option" in
  59.     -help | --help | -h)
  60.       cat << EOF
  61. Usage: configure [options] 
  62. Options: 
  63.   --help                   show this help lines
  64.   --keep-temps             keep temporary files (for debug. purposes)
  65.   --without-latex-config   do not run LaTeX to determine configuration
  66.       exit 0;;
  67.     --without-latex-config)
  68.       lyx_check_config=no ;;
  69.     --keep-temps)
  70.       lyx_keep_temps=yes ;;
  71.     --srcdir*)
  72.       lyx_called_from_configure=yes;;
  73.   esac 
  74. #### Checking for some echo oddities
  75. if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
  76.   # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
  77.   if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
  78.     ac_n= ac_c='
  79. ' ac_t='    '
  80.   else
  81.     ac_n=-n ac_c= ac_t=
  82.   ac_n= ac_c='\c' ac_t=
  83. #### I do not really know why this is useful, but we might as well keep it.
  84. # NLS nuisances.
  85. # Only set these to C if already set.  These must not be set unconditionally
  86. # because not all systems understand e.g. LANG=C (notably SCO).
  87. # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
  88. # Non-C LC_CTYPE values break the ctype check.
  89. if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
  90. if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
  91. if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
  92. if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
  93. #### Guess the directory in which configure is located.
  94. changequote([,])dnl
  95. ac_prog=[$]0
  96. changequote(,)dnl
  97. srcdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` 
  98. srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
  99. test "x$srcdir" = "x$ac_prog" && srcdir=.
  100. if test ! -r ${srcdir}/chkconfig.ltx ; then
  101.   echo "configure: error: cannot find chkconfig.ltx script"
  102.   exit 1
  103. #### Create the build directories if necessary
  104. for dir in bind doc kbd layouts templates ; do
  105.   test ! -d $dir && mkdir $dir
  106. #### Searching some useful programs
  107. define(CHECKLATEX2E,[
  108. ## Check whether this is really LaTeX2e
  109. rm -f chklatex.ltx
  110. cat >chklatex.ltx <<EOF
  111. \\nonstopmode\\makeatletter
  112. \\ifx\\undefined\\documentclass\\else
  113.   \\message{ThisIsLaTeX2e}
  114. \\@@end
  115. if eval ${LATEX} chklatex.ltx </dev/null 2>/dev/null \
  116.                        | grep 'ThisIsLaTeX2e' >/dev/null; then
  117.   LATEX=
  118.   ac_result="not useable"
  119. rm -f chklatex.ltx chklatex.log])dnl
  120. # Search LaTeX2e
  121. SEARCH_PROG([for a LaTeX2e program],LATEX,latex latex2e,CHECKLATEX2E,dnl
  122.   [lyx_check_config=no])
  123. # Search for a Postscript interpreter
  124. SEARCH_PROG([for a Postscript interpreter],GS, gs)
  125. # Search something to preview postscript
  126. SEARCH_PROG([for a Postscript previewer],GHOSTVIEW,gv ghostview)
  127. # Search a *roff program (used to translate tables in ASCII export)
  128. SEARCH_PROG([for a *roff formatter],ROFF,groff nroff)
  129. ascii_roff_command=$ROFF
  130. test $ROFF = "groff" && ascii_roff_command="groff -t -Tlatin1 \$\$FName"
  131. test $ROFF = "nroff" && ascii_roff_command="tbl \$\$FName | nroff"
  132. # Search the ChkTeX program
  133. SEARCH_PROG([for ChkTeX],CHKTEX,chktex)
  134. chktex_command=$CHKTEX
  135. test $CHKTEX = "chktex" && chktex_command="$CHKTEX -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38"
  136. # Search a Fax handling program
  137. SEARCH_PROG([for a fax driver], FAX, sendfax faxsend fax)
  138. if test $FAX = sendfax ; then
  139.   fax_command="sendfax -n -h '\$\$Host' -c '\$\$Comment' -x '\$\$Enterprise' -d '\$\$Name'@'\$\$Phone' '\$\$FName'"
  140. elif test $FAX = faxsend ; then
  141.   fax_command="faxsend '\$\$Phone' '\$\$FName'"
  142. elif test $FAX = fax ; then
  143.   fax_command="fax send '\$\$Phone' '\$\$FName'"
  144.   fax_command="none"
  145. # Search for LinuxDoc/SGML-tools
  146. SEARCH_PROG([for SGML-tools (aka LinuxDoc-SGML)], SGMLTOOLS, sgml2lyx)
  147. chk_sgmltools=no
  148. if test $SGMLTOOLS != none; then
  149.   chk_sgmltools=yes
  150.   sgmltools_cmd="\\def\\hassgmltools{}"
  151. # Search for a spool command
  152. SEARCH_PROG([for a spool command], LPR, lp lpr)
  153. case $LPR in
  154.   lp) print_spool_command=lp
  155.       print_spool_printerprefix="-d ";;
  156.  lpr) print_spool_command=lpr
  157.       print_spool_printerprefix="-P";;
  158.    *) :;; # leave to empty values
  159. #### Explore the LaTeX configuration
  160. MSG_CHECKING(LaTeX configuration)
  161. if test ${lyx_check_config} = no ; then
  162.   MSG_RESULT(default)
  163.   # Create dumb versions of the different files.
  164.   cat >textclass.lst <<EOF
  165. # This file declares layouts and their associated definition files
  166. # (include dir. relative to the place where this file is).
  167. # It contains only default values, since chkconfig.ltx could not be run 
  168. # for some reason. Run ./configure if you need to update it after a
  169. # configuration change.  
  170. article    article    article
  171. report    report    report
  172. book    book    book
  173. linuxdoc    linuxdoc    linuxdoc
  174. letter    letter    letter
  175.   cat >chkconfig.sed <<EOF
  176. s/@.*@/???/g
  177.   touch packages.lst
  178.   MSG_RESULT(auto)
  179.   rm -f wrap_chkconfig.ltx chkconfig.vars chkconfig.classes chklayouts.tex
  180.   cat >wrap_chkconfig.ltx <<EOF
  181. \\newcommand\\srcdir{${srcdir}}
  182. ${sgmltools_cmd}
  183. \\input{${srcdir}/chkconfig.ltx}
  184.   ## Construct the list of classes to test for.
  185.   # build the list of available layout files and convert it to commands 
  186.   # for chkconfig.ltx 
  187.   for file in ./layouts/*.layout ${srcdir}/layouts/*.layout ; do 
  188.     case $file in
  189.       */\*.layout) ;;
  190.       *) echo $file ;;
  191.     esac
  192.   done | sed -e 's%^.*layouts/\(.*\)\.layout$%\\TestDocClass{\1}%'\
  193.              > chklayouts.tex
  194. changequote([,])dnl
  195.   [eval] ${LATEX} wrap_chkconfig.ltx 2>/dev/null | grep '^\+'
  196.   [eval] `cat chkconfig.vars | sed 's/-/_/g'`
  197. changequote(,)dnl
  198. # This is a bit of cheating since chkconfig.ltx did it for us, but it
  199. # is better to have some output 
  200. echo creating textclass.lst 
  201. echo creating packages.lst
  202. echo creating doc/LaTeXConfig.lyx
  203. echo "s/@chk_sgmltools@/$chk_sgmltools/g" >> chkconfig.sed
  204. sed -f chkconfig.sed ${srcdir}/doc/LaTeXConfig.lyx.in >doc/LaTeXConfig.lyx
  205. echo creating lyxrc.defaults
  206. rm -f lyxrc.defaults
  207. cat >lyxrc.defaults <<EOF
  208. # This file has been automatically generated by LyX' lib/configure
  209. # script. It contains default settings that have been determined by
  210. # examining your system. PLEASE DO NOT MODIFY ANYTHING HERE! If you
  211. # want to customize LyX, make a copy of the file LYXDIR/lyxrc as
  212. # ~/.lyx/lyxrc and edit this file instead. Any setting in lyxrc will
  213. # override the values given here.
  214. \\latex_command "$LATEX"
  215. \\ps_command "$GS"
  216. \\view_ps_command "$GHOSTVIEW -swap"
  217. \\view_pspic_command "$GHOSTVIEW"
  218. \\ascii_roff_command "$ascii_roff_command"
  219. \\chktex_command "$chktex_command"
  220. \\fax_command "$fax_command"
  221. \\print_spool_command "$print_spool_command"
  222. \\print_spool_printerprefix "$print_spool_printerprefix"
  223. \\font_encoding "$chk_fontenc"
  224. # Remove superfluous files if we are not writing in the main lib
  225. # directory (i.e. if chkconfig.ltx is *not* in the current directory).
  226. if test $lyx_called_from_configure = no ; then
  227.   for file in lyxrc.defaults textclass.lst packages.lst \
  228.               doc/LaTeXConfig.lyx ; do
  229.     if test -r $srcdir/$file && diff $file $srcdir/$file >/dev/null 2>/dev/null ; 
  230.     then 
  231.       echo "removing $file, which is identical to the system global version"
  232.       rm -f $file
  233.     fi
  234.   done
  235. # Final clean-up
  236. if test $lyx_keep_temps = no ; then
  237. rm -f chkconfig.sed chkconfig.vars wrap_chkconfig.* chklayouts.tex \
  238.       missfont.log
  239.