Define `empty string' a second time, in a slightly more visible location.
[emacs.git] / configure.in
blob75e6fc6ef15f2088e6730487616959ba452a28e7
1 dnl  Autoconf script for GNU Emacs
2 dnl To rebuild the `configure' script from this, execute the command
3 dnl     autoconf
4 dnl in the directory containing this script.
5 dnl
6 dnl  Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001
7 dnl  Free Software Foundation, Inc.
8 dnl
9 dnl  This file is part of GNU Emacs.
10 dnl
11 dnl  GNU Emacs is free software; you can redistribute it and/or modify
12 dnl  it under the terms of the GNU General Public License as published by
13 dnl  the Free Software Foundation; either version 2, or (at your option)
14 dnl  any later version.
15 dnl
16 dnl  GNU Emacs is distributed in the hope that it will be useful,
17 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
18 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 dnl  GNU General Public License for more details.
20 dnl
21 dnl  You should have received a copy of the GNU General Public License
22 dnl  along with GNU Emacs; see the file COPYING.  If not, write to the
23 dnl  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24 dnl  Boston, MA 02111-1307, USA.
26 AC_PREREQ(2.51)dnl
27 AC_INIT(src/lisp.h)
28 AC_CONFIG_HEADER(src/config.h:src/config.in)
30 dnl Support for --program-prefix, --program-suffix and
31 dnl --program-transform-name options
32 AC_ARG_PROGRAM
34 lispdir='${datadir}/emacs/${version}/lisp'
35 locallisppath='${datadir}/emacs/${version}/site-lisp:'\
36 '${datadir}/emacs/site-lisp:${datadir}/emacs/${version}/leim'
37 lisppath='${locallisppath}:${lispdir}'
38 etcdir='${datadir}/emacs/${version}/etc'
39 archlibdir='${libexecdir}/emacs/${version}/${configuration}'
40 docdir='${datadir}/emacs/${version}/etc'
42 AC_ARG_WITH(gcc,
43 [  --without-gcc           don't use GCC to compile Emacs if GCC is found])
44 AC_ARG_WITH(pop,
45 [  --without-pop           don't support POP mail retrieval with movemail],
46 [if test "$withval" = yes; then
47    AC_DEFINE(MAIL_USE_POP)
48 else :
49 fi],
50 AC_DEFINE(MAIL_USE_POP))
51 AC_ARG_WITH(kerberos,
52 [  --with-kerberos         support Kerberos-authenticated POP],
53 [AC_DEFINE(KERBEROS)])
54 AC_ARG_WITH(kerberos5,
55 [  --with-kerberos5        support Kerberos version 5 authenticated POP],
56 [if test "${with_kerberos5+set}" = set; then
57   if test "${with_kerberos+set}" != set; then
58     with_kerberos=yes
59     AC_DEFINE(KERBEROS)
60   fi
62 AC_DEFINE(KERBEROS5)])
63 AC_ARG_WITH(hesiod,
64 [  --with-hesiod           support Hesiod to get the POP server host],
65 [AC_DEFINE(HESIOD)])
66 dnl This should be the last --with option, because --with-x is
67 dnl added later on when we find the path of X, and it's best to
68 dnl keep them together visually.
69 AC_ARG_WITH(x-toolkit,
70 [  --with-x-toolkit=KIT    use an X toolkit (KIT = yes/lucid/athena/motif/no)],
71 [         case "${withval}" in
72             y | ye | yes )      val=athena ;;
73             n | no )            val=no  ;;
74             l | lu | luc | luci | lucid )       val=lucid ;;
75             a | at | ath | athe | athen | athena )      val=athena ;;
76             m | mo | mot | moti | motif )       val=motif ;;
77 dnl These don't currently work.
78 dnl         o | op | ope | open | open- | open-l | open-lo \
79 dnl             | open-loo | open-look )        val=open-look ;;
80             * )
81 dnl AC_MSG_ERROR([the \`--with-x-toolkit' option is supposed to have a value
82 dnl which is \`yes', \`no', \`lucid', \`athena', \`motif' or \`open-look'.])
83 AC_MSG_ERROR([\`--with-x-toolkit=$withval' is invalid\;
84 this option's value should be \`yes', \`no', \`lucid', \`athena', or \`motif'.
85 Currently, \`yes', \`athena' and \`lucid' are synonyms.])
86             ;;
87           esac
88           with_x_toolkit=$val
90 AC_ARG_WITH(xpm,
91 [  --with-xpm              use -lXpm for displaying XPM images])
92 AC_ARG_WITH(jpeg,
93 [  --with-jpeg             use -ljpeg for displaying JPEG images])
94 AC_ARG_WITH(tiff,
95 [  --with-tiff             use -ltiff for displaying TIFF images])
96 AC_ARG_WITH(gif,
97 [  --with-gif              use -lungif for displaying GIF images])
98 AC_ARG_WITH(png,
99 [  --with-png              use -lpng for displaying PNG images])
100 AC_ARG_WITH(toolkit-scroll-bars,
101 [  --without-toolkit-scroll-bars
102                           don't use Motif or Xaw3d scroll bars])
103 AC_ARG_WITH(xim,
104 [  --without-xim           don't use X11 XIM])
106 #### Make srcdir absolute, if it isn't already.  It's important to
107 #### avoid running the path through pwd unnecessarily, since pwd can
108 #### give you automounter prefixes, which can go away.  We do all this
109 #### so Emacs can find its files when run uninstalled.
110 ## Make sure CDPATH doesn't affect cd (in case PWD is relative).
111 unset CDPATH
112 case "${srcdir}" in
113   /* ) ;;
114   . )
115     ## We may be able to use the $PWD environment variable to make this
116     ## absolute.  But sometimes PWD is inaccurate.
117     if test ".${PWD}" != "." && test ".`(cd ${PWD} ; sh -c pwd)`" = ".${PWD}"  ;
118     then
119       srcdir="$PWD"
120     else
121       srcdir="`(cd ${srcdir}; pwd)`"
122     fi
123   ;;
124   *  ) srcdir="`(cd ${srcdir}; pwd)`" ;;
125 esac
127 #### Check if the source directory already has a configured system in it.
128 if test `pwd` != `(cd ${srcdir} && pwd)` \
129    && test -f "${srcdir}/src/config.h" ; then
130   AC_MSG_WARN([The directory tree \`${srcdir}' is being used
131    as a build directory right now; it has been configured in its own
132    right.  To configure in another directory as well, you MUST
133    use GNU make.  If you do not have GNU make, then you must
134    now do \`make distclean' in ${srcdir},
135    and then run $0 again.])
137 changequote(, )dnl
138   extrasub='/^VPATH[     ]*=/c\
139 changequote([, ])dnl
140 vpath %.c $(srcdir)\
141 vpath %.h $(srcdir)\
142 vpath %.y $(srcdir)\
143 vpath %.l $(srcdir)\
144 vpath %.s $(srcdir)\
145 vpath %.in $(srcdir)\
146 vpath %.texi $(srcdir)'
149 #### Given the configuration name, set machfile and opsysfile to the
150 #### names of the m/*.h and s/*.h files we should use.
152 ### Canonicalize the configuration name.
154 AC_CANONICAL_HOST
155 canonical=$host
156 configuration=${host_alias-$host}
158 changequote(, )dnl
160 ### If you add support for a new configuration, add code to this
161 ### switch statement to recognize your configuration name and select
162 ### the appropriate operating system and machine description files.
164 ### You would hope that you could choose an m/*.h file pretty much
165 ### based on the machine portion of the configuration name, and an s-
166 ### file based on the operating system portion.  However, it turns out
167 ### that each m/*.h file is pretty manufacturer-specific - for
168 ### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are
169 ### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS
170 ### machines.  So we basically have to have a special case for each
171 ### configuration name.
173 ### As far as handling version numbers on operating systems is
174 ### concerned, make sure things will fail in a fixable way.  If
175 ### /etc/MACHINES doesn't say anything about version numbers, be
176 ### prepared to handle anything reasonably.  If version numbers
177 ### matter, be sure /etc/MACHINES says something about it.
179 ### Eric Raymond says we should accept strings like "sysvr4" to mean
180 ### "System V Release 4"; he writes, "The old convention encouraged
181 ### confusion between `system' and `release' levels'."
183 machine='' opsys='' unported=no
184 case "${canonical}" in
186   ## FreeBSD ports
187   *-*-freebsd* )
188     opsys=freebsd
189     case "${canonical}" in
190       alpha*-*-freebsd*)        machine=alpha ;;
191       i[3456]86-*-freebsd*)     machine=intel386 ;;
192     esac
193   ;;
195   ## NetBSD ports
196   *-*-netbsd* )
197     opsys=netbsd
198     case "${canonical}" in
199       alpha*-*-netbsd*) machine=alpha ;;
200       i[3456]86-*-netbsd*) machine=intel386 ;;
201       m68k-*-netbsd*)
202                         # This is somewhat bogus.
203                         machine=hp9000s300 ;;
204       powerpc-apple-netbsd*) machine=macppc ;;
205       mips-*-netbsd*)   machine=pmax ;;
206       mipsel-*-netbsd*) machine=pmax ;;
207       ns32k-*-netbsd*)  machine=ns32000 ;;
208       powerpc-*-netbsd*) machine=macppc ;;
209       sparc*-*-netbsd*) machine=sparc ;;
210       vax-*-netbsd*)    machine=vax ;;
211       arm-*-netbsd*)    machine=arm ;;
212     esac
213   ;;
215   ## OpenBSD ports
216   *-*-openbsd* )
217     opsys=openbsd
218     case "${canonical}" in
219       alpha*-*-openbsd*)        machine=alpha ;;
220       i386-*-openbsd*)  machine=intel386 ;;
221       m68k-*-openbsd*)  machine=hp9000s300 ;;
222       mipsel-*-openbsd*) machine=pmax ;;
223       ns32k-*-openbsd*) machine=ns32000 ;;
224       sparc-*-openbsd*) machine=sparc ;;
225       vax-*-openbsd*)   machine=vax ;;
226     esac
227   ;;
229   ## Acorn RISCiX:
230   arm-acorn-riscix1.1* )
231     machine=acorn opsys=riscix1-1
232   ;;
233   arm-acorn-riscix1.2* | arm-acorn-riscix )
234     ## This name is riscix12 instead of riscix1.2
235     ## to avoid a file name conflict on MSDOS.
236     machine=acorn opsys=riscix12
237   ;;
239   ## BSDI ports
240   *-*-bsdi* )
241     opsys=bsdi
242     case "${canonical}" in
243       i[345]86-*-bsdi*) machine=intel386 ;;
244       sparc-*-bsdi*)  machine=sparc ;;
245       powerpc-*-bsdi*)  machine=macppc ;;
246     esac
247     case "${canonical}" in
248       *-*-bsd386* | *-*-bsdi1* )        opsys=bsd386 ;;
249       *-*-bsdi2.0* )            opsys=bsdos2 ;;
250       *-*-bsdi2* )              opsys=bsdos2-1 ;;
251       *-*-bsdi3* )              opsys=bsdos3 ;;
252       *-*-bsdi4* )              opsys=bsdos4 ;;
253     esac
254   ;;
256   ## Alliant machines
257   ## Strictly speaking, we need the version of the alliant operating
258   ## system to choose the right machine file, but currently the
259   ## configuration name doesn't tell us enough to choose the right
260   ## one; we need to give alliants their own operating system name to
261   ## do this right.  When someone cares, they can help us.
262   fx80-alliant-* )
263     machine=alliant4 opsys=bsd4-2
264   ;;
265   i860-alliant-* )
266     machine=alliant-2800 opsys=bsd4-3
267   ;;
269   ## Alpha (DEC) machines.
270   alpha*-dec-osf* )
271     machine=alpha opsys=osf1
272     # This is needed to find X11R6.1 libraries for certain tests.
273     NON_GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
274     GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
275     # NON_GNU_CPP is necessary on 5.0 to avoid mangling src/Makefile
276     # due to non-traditional preprocessing with the current compiler
277     # defaults.  OSF 4 can also have that compiler version, and there
278     # seems always to have been a usable /usr/bin/cpp.
279     NON_GNU_CPP=/usr/bin/cpp
280     case "${canonical}" in
281     alpha*-dec-osf[5-9]*)
282       opsys=osf5-0 ;;
283     esac
284   ;;
286   alpha*-*-linux-gnu* )
287     machine=alpha opsys=gnu-linux
288   ;;
290   arm*-*-linux-gnu* )
291     machine=arm opsys=gnu-linux
292   ;;
294   ppc-*-linux | \
295   powerpc-*-linux* )
296     machine=macppc opsys=gnu-linux
297   ;;
299   ## Altos 3068
300   m68*-altos-sysv* )
301     machine=altos opsys=usg5-2
302   ;;
304   ## Amdahl UTS
305   580-amdahl-sysv* )
306     machine=amdahl opsys=usg5-2-2
307   ;;
309   ## Apollo, Domain/OS
310   m68*-apollo-* )
311     machine=apollo opsys=bsd4-3
312   ;;
314   ## AT&T 3b2, 3b5, 3b15, 3b20
315   we32k-att-sysv* )
316     machine=att3b opsys=usg5-2-2
317   ;;
319   ## AT&T 3b1 - The Mighty Unix PC!
320   m68*-att-sysv* )
321     machine=7300 opsys=usg5-2-2
322   ;;
324   ## Bull dpx20
325   rs6000-bull-bosx* )
326     machine=ibmrs6000 opsys=aix3-2
327   ;;
329   ## Bull dpx2
330   m68*-bull-sysv3* )
331     machine=dpx2 opsys=usg5-3
332   ;;
334   ## Bull sps7
335   m68*-bull-sysv2* )
336     machine=sps7 opsys=usg5-2
337   ;;
339   ## CCI 5/32, 6/32 -- see "Tahoe".
341   ## Celerity
342   ## I don't know what configuration name to use for this; config.sub
343   ## doesn't seem to know anything about it.  Hey, Celerity users, get
344   ## in touch with us!
345   celerity-celerity-bsd* )
346     machine=celerity opsys=bsd4-2
347   ;;
349   ## Clipper
350   ## What operating systems does this chip run that Emacs has been
351   ## tested on?
352   clipper-* )
353     machine=clipper
354     ## We'll use the catch-all code at the bottom to guess the
355     ## operating system.
356   ;;
358   ## Convex
359   *-convex-bsd* | *-convex-convexos* )
360     machine=convex opsys=bsd4-3
361     ## Prevents spurious white space in makefiles - d.m.cooke@larc.nasa.gov
362     NON_GNU_CPP="cc -E -P"
363   ;;
365   ## Cubix QBx/386
366   i[3456]86-cubix-sysv* )
367     machine=intel386 opsys=usg5-3
368   ;;
370   ## Cydra 5
371   cydra*-cydrome-sysv* )
372     machine=cydra5 opsys=usg5-3
373   ;;
375   ## Data General AViiON Machines
376   ## DG changed naming conventions with the release of 5.4.4.10, they
377   ## dropped the initial 5.4 but left the intervening R.  Because of the
378   ## R this shouldn't conflict with older versions of the OS (which I
379   ## think were named like dgux4.*). In addition, DG new AViiONs series
380   ## uses either Motorola M88k or Intel Pentium CPUs.
381   m88k-dg-dguxR4.* | m88k-dg-dgux4* )
382     machine=aviion opsys=dgux4
383   ;;
384   m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
385     ## This name is dgux5-4-3 instead of dgux5-4r3
386     ## to avoid a file name conflict on MSDOS.
387     machine=aviion opsys=dgux5-4-3
388   ;;
389   m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* )
390     machine=aviion opsys=dgux5-4r2
391   ;;
392   m88k-dg-dgux* )
393     machine=aviion opsys=dgux
394   ;;
396   ## Data General AViiON Intel (x86) Machines
397   ## Exists from 5.4.3 (current i586-dg-dguxR4.11)
398   ## Ehud Karni, 1998-may-30, ehud@unix.simonwiesel.co.il
399   i[345]86-dg-dguxR4* )
400     machine=aviion-intel opsys=dgux4
401   ;;
403   ## DECstations
404   mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
405     machine=pmax opsys=bsd4-2
406   ;;
407   mips-dec-ultrix4.[12]* | mips-dec-bsd* )
408     machine=pmax opsys=bsd4-3
409   ;;
410   mips-dec-ultrix* )
411     machine=pmax opsys=ultrix4-3
412   ;;
413   mips-dec-osf* )
414     machine=pmax opsys=osf1
415   ;;
416   mips-dec-mach_bsd4.3* )
417     machine=pmax opsys=mach-bsd4-3
418   ;;
420   ## Motorola Delta machines
421   m68k-motorola-sysv* | m68000-motorola-sysv* )
422     machine=delta opsys=usg5-3
423     if test -z "`type gnucc | grep 'not found'`"
424     then
425       if test -s /etc/167config
426       then CC="gnucc -m68040"
427       else CC="gnucc -m68881"
428       fi
429     else
430       if test -z "`type gcc | grep 'not found'`"
431       then CC=gcc
432       else CC=cc
433       fi
434     fi
435   ;;
436   m88k-motorola-sysv4* )
437     # jbotte@bnr.ca says that UNIX_System_V <hostName> 4.0 R40V4.3 m88k mc88110
438     # needs POSIX_SIGNALS and therefore needs usg5-4-2.
439     # I hope there are not other 4.0 versions for this machine
440     # which really need usg5-4 instead.
441     machine=delta88k opsys=usg5-4-2
442   ;;
443   m88k-motorola-sysv* | m88k-motorola-m88kbcs* )
444     machine=delta88k opsys=usg5-3
445   ;;
447   ## Dual machines
448   m68*-dual-sysv* )
449     machine=dual opsys=usg5-2
450   ;;
451   m68*-dual-uniplus* )
452     machine=dual opsys=unipl5-2
453   ;;
455   ## Elxsi 6400
456   elxsi-elxsi-sysv* )
457     machine=elxsi opsys=usg5-2
458   ;;
460   ## Encore machines
461   ns16k-encore-bsd* )
462     machine=ns16000 opsys=umax
463   ;;
465   ## The GEC 63 - apparently, this port isn't really finished yet.
466   #  I'm sure we finished off the last of the machines, though.  -- fx
468   ## Gould Power Node and NP1
469   pn-gould-bsd4.2* )
470     machine=gould opsys=bsd4-2
471   ;;
472   pn-gould-bsd4.3* )
473     machine=gould opsys=bsd4-3
474   ;;
475   np1-gould-bsd* )
476     machine=gould-np1 opsys=bsd4-3
477   ;;
479   ## Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000
480   ## as far as Emacs is concerned).
481   m88k-harris-cxux* )
482     # Build needs to be different on 7.0 and later releases
483     case "`uname -r`" in
484        [56].[0-9] ) machine=nh4000 opsys=cxux ;;
485        [7].[0-9] ) machine=nh4000 opsys=cxux7 ;;
486     esac
487     NON_GNU_CPP="/lib/cpp"
488   ;;
489   ## Harris ecx or gcx running CX/UX (Series 1200, Series 3000)
490   m68k-harris-cxux* )
491     machine=nh3000 opsys=cxux
492   ;;
493   ## Harris power pc NightHawk running Power UNIX (Series 6000)
494   powerpc-harris-powerunix )
495     machine=nh6000 opsys=powerunix
496     NON_GNU_CPP="cc -Xo -E -P"
497   ;;
498   ## SR2001/SR2201 running HI-UX/MPP
499   hppa1.1-hitachi-hiuxmpp* )
500     machine=sr2k opsys=hiuxmpp
501   ;;
502   hppa1.1-hitachi-hiuxwe2* )
503     machine=sr2k opsys=hiuxwe2
504   ;;
505   ## Honeywell XPS100
506   xps*-honeywell-sysv* )
507     machine=xps100 opsys=usg5-2
508   ;;
510   ## HP 9000 series 200 or 300
511   m68*-hp-bsd* )
512     machine=hp9000s300 opsys=bsd4-3
513   ;;
514   ## HP/UX 7, 8, 9, and 10 are supported on these machines.
515   m68*-hp-hpux* )
516     case "`uname -r`" in
517       ## Someone's system reports A.B8.05 for this.
518       ## I wonder what other possibilities there are.
519       *.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
520       *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
521       *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
522       *.1[0-9].* ) machine=hp9000s300 opsys=hpux9shr ;;
523       *) machine=hp9000s300 opsys=hpux ;;
524     esac
525   ;;
527   ## HP 9000 series 700 and 800, running HP/UX
528   hppa*-hp-hpux7* )
529     machine=hp800 opsys=hpux
530   ;;
531   hppa*-hp-hpux8* )
532     machine=hp800 opsys=hpux8
533   ;;
534   hppa*-hp-hpux9shr* )
535     machine=hp800 opsys=hpux9shr
536   ;;
537   hppa*-hp-hpux9* )
538     machine=hp800 opsys=hpux9
539   ;;
540   hppa*-hp-hpux10* )
541     machine=hp800 opsys=hpux10
542   ;;
543   hppa*-hp-hpux1[1-9]* )
544     machine=hp800 opsys=hpux11
545   ;;
547   hppa*-*-linux-gnu* )
548     machine=hp800 opsys=gnu-linux
549   ;;
551   ## HP 9000 series 700 and 800, running HP/UX
552   hppa*-hp-hpux* )
553     ## Cross-compilation?  Nah!
554     case "`uname -r`" in
555       ## Someone's system reports A.B8.05 for this.
556       ## I wonder what other possibilities there are.
557       *.B8.* ) machine=hp800 opsys=hpux8 ;;
558       *.08.* ) machine=hp800 opsys=hpux8 ;;
559       *.09.* ) machine=hp800 opsys=hpux9 ;;
560       *) machine=hp800 opsys=hpux10 ;;
561     esac
562   ;;
563   hppa*-*-nextstep* )
564     machine=hp800 opsys=nextstep
565   ;;
567   ## Orion machines
568   orion-orion-bsd* )
569     machine=orion opsys=bsd4-2
570   ;;
571   clipper-orion-bsd* )
572     machine=orion105 opsys=bsd4-2
573   ;;
575   ## IBM machines
576   i[3456]86-ibm-aix1.1* )
577     machine=ibmps2-aix opsys=usg5-2-2
578   ;;
579   i[3456]86-ibm-aix1.[23]* | i[3456]86-ibm-aix* )
580     machine=ibmps2-aix opsys=usg5-3
581   ;;
582   i370-ibm-aix*)
583     machine=ibm370aix opsys=usg5-3
584   ;;
585   s390-*-linux-gnu)
586     machine=ibms390 opsys=gnu-linux
587   ;;
588   rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1*  )
589     machine=ibmrs6000 opsys=aix3-1
590   ;;
591   rs6000-ibm-aix3.2.5 | powerpc-ibm-aix3.2.5 )
592     machine=ibmrs6000 opsys=aix3-2-5
593   ;;
594   rs6000-ibm-aix4.1* | powerpc-ibm-aix4.1*  )
595     machine=ibmrs6000 opsys=aix4-1
596   ;;
597   rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2*  )
598     machine=ibmrs6000 opsys=aix4-2
599   ;;
600   rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0*  )
601     machine=ibmrs6000 opsys=aix4
602   ;;
603   rs6000-ibm-aix4* | powerpc-ibm-aix4*  )
604     machine=ibmrs6000 opsys=aix4-1
605   ;;
606   rs6000-ibm-aix* | powerpc-ibm-aix* )
607     machine=ibmrs6000 opsys=aix3-2
608   ;;
609   romp-ibm-bsd4.3* )
610     machine=ibmrt opsys=bsd4-3
611   ;;
612   romp-ibm-bsd4.2* )
613     machine=ibmrt opsys=bsd4-2
614   ;;
615   romp-ibm-aos4.3* )
616     machine=ibmrt opsys=bsd4-3
617   ;;
618   romp-ibm-aos4.2* )
619     machine=ibmrt opsys=bsd4-2
620   ;;
621   romp-ibm-aos* )
622     machine=ibmrt opsys=bsd4-3
623   ;;
624   romp-ibm-bsd* )
625     machine=ibmrt opsys=bsd4-3
626   ;;
627   romp-ibm-aix* )
628     machine=ibmrt-aix opsys=usg5-2-2
629   ;;
631   ## Integrated Solutions `Optimum V'
632   m68*-isi-bsd4.2* )
633     machine=isi-ov opsys=bsd4-2
634   ;;
635   m68*-isi-bsd4.3* )
636     machine=isi-ov opsys=bsd4-3
637   ;;
639   ## Intel 386 machines where we do care about the manufacturer
640   i[3456]86-intsys-sysv* )
641     machine=is386 opsys=usg5-2-2
642   ;;
644   ## Prime EXL
645   i[3456]86-prime-sysv* )
646     machine=i386 opsys=usg5-3
647   ;;
649   ## Sequent Symmetry running Dynix
650   i[3456]86-sequent-bsd* )
651     machine=symmetry opsys=bsd4-3
652   ;;
654   ## Sequent Symmetry running ptx 4, which is a modified SVR4.
655   i[3456]86-sequent-ptx4* | i[3456]86-sequent-sysv4* )
656     machine=sequent-ptx opsys=ptx4
657     NON_GNU_CPP=/lib/cpp
658   ;;
660   ## Sequent Symmetry running DYNIX/ptx
661   ## Use the old cpp rather than the newer ANSI one.
662   i[3456]86-sequent-ptx* )
663     machine=sequent-ptx opsys=ptx
664     NON_GNU_CPP="/lib/cpp"
665   ;;
667   ## ncr machine running svr4.3.
668   i[3456]86-ncr-sysv4.3 )
669     machine=ncr386 opsys=usg5-4-3
670   ;;
672   ## Unspecified sysv on an ncr machine defaults to svr4.2.
673   ## (Plain usg5-4 doesn't turn on POSIX signals, which we need.)
674   i[3456]86-ncr-sysv* )
675     machine=ncr386 opsys=usg5-4-2
676   ;;
678   ## Intel Paragon OSF/1
679   i860-intel-osf1* )
680     machine=paragon opsys=osf1 NON_GNU_CPP=/usr/mach/lib/cpp
681   ;;
683   ## Intel 860
684   i860-*-sysv4* )
685     machine=i860 opsys=usg5-4
686     NON_GNU_CC="/bin/cc" # Ie, not the one in /usr/ucb/cc.
687     NON_GNU_CPP="/usr/ccs/lib/cpp" # cc -E tokenizes macro expansion.
688   ;;
690   ## Macintosh PowerPC
691   powerpc*-*-linux-gnu* )
692     machine=macppc opsys=gnu-linux
693   ;;
695   ## Masscomp machines
696   m68*-masscomp-rtu* )
697     machine=masscomp opsys=rtu
698   ;;
700   ## Megatest machines
701   m68*-megatest-bsd* )
702     machine=mega68 opsys=bsd4-2
703   ;;
705   ## Workstations sold by MIPS
706   ## This is not necessarily all workstations using the MIPS processor -
707   ## Irises are produced by SGI, and DECstations by DEC.
709   ## etc/MACHINES lists mips.h and mips4.h as possible machine files,
710   ## and usg5-2-2 and bsd4-3 as possible OS files.  The only guidance
711   ## it gives for choosing between the alternatives seems to be "Use
712   ## -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with
713   ## the BSD world."  I'll assume that these are instructions for
714   ## handling two odd situations, and that every other situation
715   ## should use mips.h and usg5-2-2, they being listed first.
716   mips-mips-usg* )
717     machine=mips4
718     ## Fall through to the general code at the bottom to decide on the OS.
719   ;;
720   mips-mips-riscos4* )
721     machine=mips4 opsys=bsd4-3
722     NON_GNU_CC="cc -systype bsd43"
723     NON_GNU_CPP="cc -systype bsd43 -E"
724   ;;
725   mips-mips-riscos5* )
726     machine=mips4 opsys=riscos5
727     NON_GNU_CC="cc -systype bsd43"
728     NON_GNU_CPP="cc -systype bsd43 -E"
729   ;;
730   mips-mips-bsd* )
731     machine=mips opsys=bsd4-3
732   ;;
733   mips-mips-* )
734     machine=mips opsys=usg5-2-2
735   ;;
737   ## NeXT
738   m68*-next-* | m68k-*-nextstep* )
739     machine=m68k opsys=nextstep
740   ;;
742   ## The complete machine from National Semiconductor
743   ns32k-ns-genix* )
744     machine=ns32000 opsys=usg5-2
745   ;;
747   ## NCR machines
748   m68*-ncr-sysv2* | m68*-ncr-sysvr2* )
749     machine=tower32 opsys=usg5-2-2
750   ;;
751   m68*-ncr-sysv3* | m68*-ncr-sysvr3* )
752     machine=tower32v3 opsys=usg5-3
753   ;;
755   ## NEC EWS4800
756   mips-nec-sysv4*)
757   machine=ews4800 opsys=ux4800
758   ;;
760   ## Nixdorf Targon 31
761   m68*-nixdorf-sysv* )
762     machine=targon31 opsys=usg5-2-2
763   ;;
765   ## Nu (TI or LMI)
766   m68*-nu-sysv* )
767     machine=nu opsys=usg5-2
768   ;;
770   ## Plexus
771   m68*-plexus-sysv* )
772     machine=plexus opsys=usg5-2
773   ;;
775   ## PowerPC reference platform
776   powerpcle-*-solaris2* )
777     machine=prep
778     opsys=sol2-5
779   ;;
781   ## Pyramid machines
782   ## I don't really have any idea what sort of processor the Pyramid has,
783   ## so I'm assuming it is its own architecture.
784   pyramid-pyramid-bsd* )
785     machine=pyramid opsys=bsd4-2
786   ;;
788   ## Sequent Balance
789   ns32k-sequent-bsd4.2* )
790     machine=sequent opsys=bsd4-2
791   ;;
792   ns32k-sequent-bsd4.3* )
793     machine=sequent opsys=bsd4-3
794   ;;
796   ## Siemens Nixdorf
797   mips-siemens-sysv* | mips-sni-sysv*)
798     machine=mips-siemens opsys=usg5-4
799     NON_GNU_CC=/usr/ccs/bin/cc
800     NON_GNU_CPP=/usr/ccs/lib/cpp
801   ;;
803   ## Silicon Graphics machines
804   ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
805   m68*-sgi-iris3.5* )
806     machine=irist opsys=iris3-5
807   ;;
808   m68*-sgi-iris3.6* | m68*-sgi-iris*)
809     machine=irist opsys=iris3-6
810   ;;
811   ## Iris 4D
812   mips-sgi-irix3* )
813     machine=iris4d opsys=irix3-3
814   ;;
815   mips-sgi-irix4* )
816     machine=iris4d opsys=irix4-0
817   ;;
818   mips-sgi-irix6.5 )
819     machine=iris4d opsys=irix6-5
820     # Without defining _LANGUAGE_C, things get masked out in the headers
821     # so that, for instance, grepping for `free' in stdlib.h fails and
822     # AC_HEADER_STD_C fails.   (MIPSPro 7.2.1.2m compilers, Irix 6.5.3m).
823     NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
824     NON_GCC_TEST_OPTIONS="-D_LANGUAGE_C"
825   ;;
826   mips-sgi-irix6* )
827     machine=iris4d opsys=irix6-0
828     # It's not clear whether -D_LANGUAGE_C is necessary as it is for 6.5,
829     # but presumably it does no harm.
830     NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
831     # -32 probably isn't necessary in later v.6s -- anyone know which?
832     NON_GCC_TEST_OPTIONS=-32
833   ;;
834   mips-sgi-irix5.[01]* )
835     machine=iris4d opsys=irix5-0
836   ;;
837   mips-sgi-irix5* | mips-sgi-irix* )
838     machine=iris4d opsys=irix5-2
839   ;;
841   ## SONY machines
842   m68*-sony-bsd4.2* )
843     machine=news opsys=bsd4-2
844   ;;
845   m68*-sony-bsd4.3* )
846     machine=news opsys=bsd4-3
847   ;;
848   m68*-sony-newsos3* | m68*-sony-news3*)
849     machine=news opsys=bsd4-3
850   ;;
851   mips-sony-bsd* | mips-sony-newsos4* | mips-sony-news4*)
852     machine=news-risc opsys=bsd4-3
853   ;;
854   mips-sony-newsos6* )
855     machine=news-r6 opsys=newsos6
856   ;;
857   mips-sony-news* )
858     machine=news-risc opsys=newsos5
859   ;;
861   ## Stride
862   m68*-stride-sysv* )
863     machine=stride opsys=usg5-2
864   ;;
866   ## Suns
867   sparc-*-linux-gnu* | sparc64-*-linux-gnu* )
868     machine=sparc opsys=gnu-linux
869   ;;
871   *-auspex-sunos* | *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \
872     | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
873     | rs6000-*-solaris2*)
874     case "${canonical}" in
875       m68*-sunos1* )    machine=sun1 ;;
876       m68*-sunos2* )    machine=sun2 ;;
877       m68* )            machine=sun3 ;;
878       i[3456]86-sun-sunos[34]* )        machine=sun386 ;;
879       i[3456]86-*-* )     machine=intel386 ;;
880       powerpcle* )      machine=powerpcle ;;
881       powerpc* | rs6000* )  machine=ibmrs6000 ;;
882       sparc* )          machine=sparc ;;
883       * )               unported=yes ;;
884     esac
885     case "${canonical}" in
886       ## The Sun386 didn't get past 4.0.
887       i[3456]86-*-sunos4          ) opsys=sunos4-0 ;;
888       *-sunos4.0*         ) opsys=sunos4-0 ;;
889       *-sunos4.1.[3-9]*noshare )
890                 ## This name is sunos413 instead of sunos4-1-3
891                 ## to avoid a file name conflict on MSDOS.
892                 opsys=sunos413
893                 NON_GNU_CPP=/usr/lib/cpp
894                 NON_GCC_TEST_OPTIONS=-Bstatic
895                 GCC_TEST_OPTIONS=-static
896                 ;;
897       *-sunos4.1.[3-9]* | *-sunos4shr*)
898                 opsys=sunos4shr
899                 NON_GNU_CPP=/usr/lib/cpp
900                 ;;
901       *-sunos4* | *-sunos )
902                 opsys=sunos4-1
903                 NON_GCC_TEST_OPTIONS=-Bstatic
904                 GCC_TEST_OPTIONS=-static
905                 ;;
906       *-sunos5.3* | *-solaris2.3* )
907                 opsys=sol2-3
908                 NON_GNU_CPP=/usr/ccs/lib/cpp
909                 ;;
910       *-sunos5.4* | *-solaris2.4* )
911                 opsys=sol2-4
912                 NON_GNU_CPP=/usr/ccs/lib/cpp
913                 RANLIB="ar -ts"
914                 ;;
915       *-sunos5.5* | *-solaris2.5* )
916                 opsys=sol2-5
917                 NON_GNU_CPP=/usr/ccs/lib/cpp
918                 RANLIB="ar -ts"
919                 ;;
920       *-sunos5* | *-solaris* )
921                 opsys=sol2-5
922                 NON_GNU_CPP=/usr/ccs/lib/cpp
923                 ;;
924       *                   ) opsys=bsd4-2   ;;
925     esac
926     ## Watch out for a compiler that we know will not work.
927     case "${canonical}" in
928      *-solaris* | *-sunos5* )
929                 if [ "x$CC" = x/usr/ucb/cc ]; then
930                   ## /usr/ucb/cc doesn't work;
931                   ## we should find some other compiler that does work.
932                   unset CC
933                 fi
934                 ;;
935       *) ;;
936     esac
937   ;;
938   sparc-*-nextstep* )
939     machine=sparc opsys=nextstep
940   ;;
942   ## Tadpole 68k
943   m68*-tadpole-sysv* )
944     machine=tad68k opsys=usg5-3
945   ;;
947   ## Tahoe machines
948   tahoe-tahoe-bsd4.2* )
949     machine=tahoe opsys=bsd4-2
950   ;;
951   tahoe-tahoe-bsd4.3* )
952     machine=tahoe opsys=bsd4-3
953   ;;
955   ## Tandem Integrity S2
956   mips-tandem-sysv* )
957     machine=tandem-s2 opsys=usg5-3
958   ;;
960   ## Tektronix XD88
961   m88k-tektronix-sysv3* )
962   machine=tekxd88 opsys=usg5-3
963   ;;
965   ## Tektronix 16000 box (6130?)
966   ns16k-tektronix-bsd* )
967     machine=ns16000 opsys=bsd4-2
968   ;;
969   ## Tektronix 4300
970   ## src/m/tek4300.h hints that this is a m68k machine.
971   m68*-tektronix-bsd* )
972     machine=tek4300 opsys=bsd4-3
973   ;;
975   ## Titan P2 or P3
976   ## We seem to have lost the machine-description file titan.h!
977   titan-titan-sysv* )
978     machine=titan opsys=usg5-3
979   ;;
981   ## Ustation E30 (SS5E)
982   m68*-unisys-uniplus* )
983     machine=ustation opsystem=unipl5-2
984   ;;
986   ## Vaxen.
987   vax-dec-* )
988     machine=vax
989     case "${canonical}" in
990       *-bsd4.1* )                                       opsys=bsd4-1 ;;
991       *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* )      opsys=bsd4-2 ;;
992       *-bsd4.3* | *-ultrix* )                           opsys=bsd4-3 ;;
993       *-sysv[01]* | *-sysvr[01]* )                      opsys=usg5-0 ;;
994       *-sysv2* | *-sysvr2* )                            opsys=usg5-2 ;;
995       *-vms* )                                          opsys=vms ;;
996       * )                                               unported=yes
997     esac
998   ;;
1000   ## Whitechapel MG1
1001   ns16k-whitechapel-* )
1002     machine=mg1
1003     ## We don't know what sort of OS runs on these; we'll let the
1004     ## operating system guessing code below try.
1005   ;;
1007   ## Wicat
1008   m68*-wicat-sysv* )
1009     machine=wicat opsys=usg5-2
1010   ;;
1012   ## IA-64
1013   ia64*-*-linux* )
1014     machine=ia64 opsys=gnu-linux
1015   ;;
1017   ## Intel 386 machines where we don't care about the manufacturer
1018   i[3456]86-*-* )
1019     machine=intel386
1020     case "${canonical}" in
1021       *-lynxos* )               opsys=lynxos ;;
1022       *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
1023       *-isc2.2* )               opsys=isc2-2 ;;
1024       *-isc4.0* )               opsys=isc4-0 ;;
1025       *-isc4.* )                opsys=isc4-1
1026                                 GCC_TEST_OPTIONS=-posix
1027                                 NON_GCC_TEST_OPTIONS=-Xp
1028                                 ;;
1029       *-isc* )                  opsys=isc3-0 ;;
1030       *-esix5* )                opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;;
1031       *-esix* )                 opsys=esix ;;
1032       *-xenix* )                opsys=xenix ;;
1033       *-linux-gnu* )            opsys=gnu-linux ;;
1034       *-sco3.2v4* )             opsys=sco4 ; NON_GNU_CPP=/lib/cpp  ;;
1035       *-sco3.2v5* )             opsys=sco5 
1036                                 NON_GNU_CPP=/lib/cpp
1037                                 # Prevent -belf from being passed to $CPP.
1038                                 # /lib/cpp does not accept it.
1039                                 OVERRIDE_CPPFLAGS=" "
1040                                 ;;
1041       *-sysv4.2uw* )            opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
1042       *-386bsd* )               opsys=386bsd ;;
1043       *-nextstep* )             opsys=nextstep ;;
1044       ## Otherwise, we'll fall through to the generic opsys code at the bottom.
1045     esac
1046   ;;
1048   ## m68k Linux-based GNU system
1049   m68k-*-linux-gnu* )
1050     machine=m68k opsys=gnu-linux
1051   ;;
1053   ## Mips Linux-based GNU system
1054   mips-*-linux-gnu* )
1055     machine=mips opsys=gnu-linux
1056   ;;
1058   ## UXP/DS
1059   sparc-fujitsu-sysv4* )
1060     machine=sparc opsys=uxpds
1061     NON_GNU_CPP=/usr/ccs/lib/cpp
1062     RANLIB="ar -ts"
1063   ;;
1065   ## UXP/V
1066   f301-fujitsu-uxpv4.1)
1067     machine=f301 opsys=uxpv
1068   ;;
1070   * )
1071     unported=yes
1072   ;;
1073 esac
1075 ### If the code above didn't choose an operating system, just choose
1076 ### an operating system based on the configuration name.  You really
1077 ### only want to use this when you have no idea what the right
1078 ### operating system is; if you know what operating systems a machine
1079 ### runs, it's cleaner to make it explicit in the case statement
1080 ### above.
1081 if test x"${opsys}" = x; then
1082   case "${canonical}" in
1083     *-gnu* )                            opsys=gnu ;;
1084     *-bsd4.[01] )                       opsys=bsd4-1 ;;
1085     *-bsd4.2 )                          opsys=bsd4-2 ;;
1086     *-bsd4.3 )                          opsys=bsd4-3 ;;
1087     *-sysv0 | *-sysvr0 )                opsys=usg5-0 ;;
1088     *-sysv2 | *-sysvr2 )                opsys=usg5-2 ;;
1089     *-sysv2.2 | *-sysvr2.2 )            opsys=usg5-2-2 ;;
1090     *-sysv3* | *-sysvr3* )              opsys=usg5-3 ;;
1091     *-sysv4.2uw* )                      opsys=unixware ;;
1092     *-sysv4.1* | *-sysvr4.1* )
1093         NON_GNU_CPP=/usr/lib/cpp
1094         opsys=usg5-4 ;;
1095     *-sysv4.[2-9]* | *-sysvr4.[2-9]* )
1096         if [ x$NON_GNU_CPP = x ]; then
1097           if [ -f /usr/ccs/lib/cpp ]; then
1098             NON_GNU_CPP=/usr/ccs/lib/cpp
1099           else
1100             NON_GNU_CPP=/lib/cpp
1101           fi
1102         fi
1103         opsys=usg5-4-2 ;;
1104     *-sysv4* | *-sysvr4* )              opsys=usg5-4 ;;
1105     * )
1106       unported=yes
1107     ;;
1108   esac
1111 changequote([, ])dnl
1113 if test $unported = yes; then
1114   AC_MSG_ERROR([Emacs hasn't been ported to \`${canonical}' systems.
1115 Check \`etc/MACHINES' for recognized configuration names.])
1118 machfile="m/${machine}.h"
1119 opsysfile="s/${opsys}.h"
1122 #### Choose a compiler.
1123 test -n "$CC" && cc_specified=yes
1125 # Save the value of CFLAGS that the user specified.
1126 SPECIFIED_CFLAGS="$CFLAGS"
1128 case ${with_gcc} in
1129   "yes" ) CC="gcc" GCC=yes ;;
1130   "no"  ) : ${CC=cc} ;;
1131   * )
1132 esac
1133 AC_PROG_CC
1135 # On Suns, sometimes $CPP names a directory.
1136 if test -n "$CPP" && test -d "$CPP"; then
1137   CPP=
1140 #### Some systems specify a CPP to use unless we are using GCC.
1141 #### Now that we know whether we are using GCC, we can decide whether
1142 #### to use that one.
1143 if test "x$NON_GNU_CPP" != x && test x$GCC != xyes && test "x$CPP" = x
1144 then
1145   CPP="$NON_GNU_CPP"
1148 #### Some systems specify a CC to use unless we are using GCC.
1149 #### Now that we know whether we are using GCC, we can decide whether
1150 #### to use that one.
1151 if test "x$NON_GNU_CC" != x && test x$GCC != xyes &&
1152   test x$cc_specified != xyes
1153 then
1154   CC="$NON_GNU_CC"
1157 if test x$GCC = xyes && test "x$GCC_TEST_OPTIONS" != x
1158 then
1159   CC="$CC $GCC_TEST_OPTIONS"
1162 if test x$GCC = x && test "x$NON_GCC_TEST_OPTIONS" != x
1163 then
1164   CC="$CC $NON_GCC_TEST_OPTIONS"
1167 if test x$GCC = xyes && test "x$GCC_LINK_TEST_OPTIONS" != x
1168 then
1169   ac_link="$ac_link $GCC_LINK_TEST_OPTIONS"
1172 if test x$GCC = x && test "x$NON_GCC_LINK_TEST_OPTIONS" != x
1173 then
1174   ac_link="$ac_link $NON_GCC_LINK_TEST_OPTIONS"
1177 #### Some other nice autoconf tests.  If you add a test here which
1178 #### should make an entry in src/config.h, don't forget to add an
1179 #### #undef clause to src/config.h.in for autoconf to modify.
1181 dnl checks for programs
1182 AC_PROG_LN_S
1183 AC_PROG_CPP
1184 AC_PROG_INSTALL
1185 AC_PROG_YACC
1186 if test "x$RANLIB" = x; then
1187   AC_PROG_RANLIB
1190 dnl checks for Unix variants
1191 AC_AIX
1193 #### Extract some information from the operating system and machine files.
1195 AC_CHECKING([the machine- and system-dependent files to find out
1196  - which libraries the lib-src programs will want, and
1197  - whether the GNU malloc routines are usable])
1199 ### First figure out CFLAGS (which we use for running the compiler here)
1200 ### and REAL_CFLAGS (which we use for real compilation).
1201 ### The two are the same except on a few systems, where they are made
1202 ### different to work around various lossages.  For example,
1203 ### GCC 2.5 on GNU/Linux needs them to be different because it treats -g
1204 ### as implying static linking.
1206 ### If the CFLAGS env var is specified, we use that value
1207 ### instead of the default.
1209 ### It's not important that this name contain the PID; you can't run
1210 ### two configures in the same directory and have anything work
1211 ### anyway.
1212 tempcname="conftest.c"
1214 echo '
1215 #include "'${srcdir}'/src/'${opsysfile}'"
1216 #include "'${srcdir}'/src/'${machfile}'"
1217 #ifndef LIBS_MACHINE
1218 #define LIBS_MACHINE
1219 #endif
1220 #ifndef LIBS_SYSTEM
1221 #define LIBS_SYSTEM
1222 #endif
1223 #ifndef C_SWITCH_SYSTEM
1224 #define C_SWITCH_SYSTEM
1225 #endif
1226 #ifndef C_SWITCH_MACHINE
1227 #define C_SWITCH_MACHINE
1228 #endif
1229 configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
1230 configure___ c_switch_system=C_SWITCH_SYSTEM
1231 configure___ c_switch_machine=C_SWITCH_MACHINE
1233 #ifndef LIB_X11_LIB
1234 #define LIB_X11_LIB -lX11
1235 #endif
1237 #ifndef LIBX11_MACHINE
1238 #define LIBX11_MACHINE
1239 #endif
1241 #ifndef LIBX11_SYSTEM
1242 #define LIBX11_SYSTEM
1243 #endif
1244 configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
1246 #ifdef UNEXEC
1247 configure___ unexec=UNEXEC
1248 #else
1249 configure___ unexec=unexec.o
1250 #endif
1252 #ifdef SYSTEM_MALLOC
1253 configure___ system_malloc=yes
1254 #else
1255 configure___ system_malloc=no
1256 #endif
1258 #ifdef USE_MMAP_FOR_BUFFERS
1259 configure___ use_mmap_for_buffers=yes
1260 #else
1261 configure___ use_mmap_for_buffers=no
1262 #endif
1264 #ifndef C_DEBUG_SWITCH
1265 #define C_DEBUG_SWITCH -g
1266 #endif
1268 #ifndef C_OPTIMIZE_SWITCH
1269 #ifdef __GNUC__
1270 #define C_OPTIMIZE_SWITCH -O2
1271 #else
1272 #define C_OPTIMIZE_SWITCH -O
1273 #endif
1274 #endif
1276 #ifndef LD_SWITCH_MACHINE
1277 #define LD_SWITCH_MACHINE
1278 #endif
1280 #ifndef LD_SWITCH_SYSTEM
1281 #define LD_SWITCH_SYSTEM
1282 #endif
1284 #ifndef LD_SWITCH_X_SITE_AUX
1285 #define LD_SWITCH_X_SITE_AUX
1286 #endif  
1288 configure___ ld_switch_system=LD_SWITCH_SYSTEM
1289 configure___ ld_switch_machine=LD_SWITCH_MACHINE
1291 #ifdef THIS_IS_CONFIGURE
1293 /* Get the CFLAGS for tests in configure.  */
1294 #ifdef __GNUC__
1295 configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
1296 #else
1297 configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
1298 #endif
1300 #else /* not THIS_IS_CONFIGURE */
1302 /* Get the CFLAGS for real compilation.  */
1303 #ifdef __GNUC__
1304 configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
1305 #else
1306 configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
1307 #endif
1309 #endif /* not THIS_IS_CONFIGURE */
1310 ' > ${tempcname}
1312 # The value of CPP is a quoted variable reference, so we need to do this
1313 # to get its actual value...
1314 CPP=`eval "echo $CPP"`
1315 changequote(, )dnl
1316 eval `${CPP} -Isrc ${tempcname} \
1317        | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
1318 if test "x$SPECIFIED_CFLAGS" = x; then
1319   eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \
1320          | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
1321 else
1322   REAL_CFLAGS="$CFLAGS"
1324 changequote([, ])dnl
1325 rm ${tempcname}
1327 ac_link="$ac_link $ld_switch_machine $ld_switch_system"
1329 ### Make sure subsequent tests use flags consistent with the build flags.
1331 if test x"${OVERRIDE_CPPFLAGS}" != x; then
1332   CPPFLAGS="${OVERRIDE_CPPFLAGS}"
1333 else
1334   CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS"
1337 dnl Do this early because it can frob feature test macros for Unix-98 &c.
1338 AC_SYS_LARGEFILE
1340 # Sound support for GNU/Linux and the free BSDs.
1341 AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h soundcard.h)
1342 # Emulation library used on NetBSD.
1343 AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=)
1344 AC_SUBST(LIBSOUND)
1346 dnl checks for header files
1347 AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \
1348   linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
1349   termcap.h stdio_ext.h fcntl.h term.h strings.h coff.h)
1350 AC_HEADER_STDC
1351 AC_HEADER_TIME
1352 AC_DECL_SYS_SIGLIST
1353 AC_HEADER_SYS_WAIT
1355 dnl Some systems have utime.h but don't declare the struct anyplace.
1356 AC_CACHE_CHECK(for struct utimbuf, emacs_cv_struct_utimbuf,
1357 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
1358 #include <sys/time.h>
1359 #include <time.h>
1360 #else
1361 #ifdef HAVE_SYS_TIME_H
1362 #include <sys/time.h>
1363 #else
1364 #include <time.h>
1365 #endif
1366 #endif
1367 #ifdef HAVE_UTIME_H
1368 #include <utime.h>
1369 #endif], [static struct utimbuf x; x.actime = x.modtime;],
1370   emacs_cv_struct_utimbuf=yes, emacs_cv_struct_utimbuf=no))
1371 if test $emacs_cv_struct_utimbuf = yes; then
1372   AC_DEFINE(HAVE_STRUCT_UTIMBUF)
1375 dnl checks for typedefs
1376 AC_TYPE_SIGNAL
1378 dnl Check for speed_t typedef.
1379 AC_CACHE_CHECK(for speed_t, emacs_cv_speed_t,
1380 AC_TRY_COMPILE([#include <termios.h>], [speed_t x = 1;],
1381   emacs_cv_speed_t=yes, emacs_cv_speed_t=no))
1382 if test $emacs_cv_speed_t = yes; then
1383   AC_DEFINE(HAVE_SPEED_T)
1386 AC_CACHE_CHECK(for struct timeval, emacs_cv_struct_timeval,
1387 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
1388 #include <sys/time.h>
1389 #include <time.h>
1390 #else
1391 #ifdef HAVE_SYS_TIME_H
1392 #include <sys/time.h>
1393 #else
1394 #include <time.h>
1395 #endif
1396 #endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
1397   emacs_cv_struct_timeval=yes, emacs_cv_struct_timeval=no))
1398 HAVE_TIMEVAL=$emacs_cv_struct_timeval
1399 if test $emacs_cv_struct_timeval = yes; then
1400   AC_DEFINE(HAVE_TIMEVAL)
1403 AC_CACHE_CHECK(for struct exception, emacs_cv_struct_exception,
1404 AC_TRY_COMPILE([#include <math.h>], 
1405 [static struct exception x; x.arg1 = x.arg2 = x.retval; x.name = ""; x.type = 1;],
1406   emacs_cv_struct_exception=yes, emacs_cv_struct_exception=no))
1407 HAVE_EXCEPTION=$emacs_cv_struct_exception
1408 if test $emacs_cv_struct_exception != yes; then
1409   AC_DEFINE(NO_MATHERR)
1412 dnl checks for structure members
1413 AC_STRUCT_TM
1414 AC_STRUCT_TIMEZONE
1415 AC_CACHE_CHECK(for tm_gmtoff in struct tm, emacs_cv_tm_gmtoff,
1416 AC_TRY_LINK([#include <time.h>], [struct tm t; t.tm_gmtoff = 0],
1417   emacs_cv_tm_gmtoff=yes,
1418   emacs_cv_tm_gmtoff=no))
1419 if test $emacs_cv_tm_gmtoff = yes; then
1420   AC_DEFINE(HAVE_TM_GMTOFF)
1423 dnl checks for compiler characteristics
1425 dnl Testing __STDC__ to determine prototype support isn't good enough.
1426 dnl DEC C, for instance, doesn't define it with default options, and
1427 dnl is used on 64-bit systems (OSF Alphas).  Similarly for volatile
1428 dnl and void *.
1429 AC_C_PROTOTYPES
1430 AC_C_VOLATILE
1431 AC_C_CONST
1432 dnl This isn't useful because we can't turn on use of `inline' unless
1433 dnl the compiler groks `extern inline'.
1434 dnl AC_C_INLINE
1435 AC_CACHE_CHECK([for void * support], emacs_cv_void_star,
1436   [AC_TRY_COMPILE(, [void * foo;], 
1437                    emacs_cv_void_star=yes, emacs_cv_void_star=no)])
1438 if test $emacs_cv_void_star = yes; then
1439   AC_DEFINE(POINTER_TYPE, void)
1440 else
1441   AC_DEFINE(POINTER_TYPE, char)
1444 dnl check for Make feature
1445 AC_PROG_MAKE_SET
1447 dnl checks for operating system services
1448 AC_SYS_LONG_FILE_NAMES
1450 #### Choose a window system.
1452 AC_PATH_X
1453 if test "$no_x" = yes; then
1454   window_system=none
1455 else
1456   window_system=x11
1459 if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then
1460   LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
1461   LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
1462   x_default_search_path=""
1463   for x_library in `echo ${x_libraries} | sed -e "s/:/ /g"`; do
1464     x_search_path="\
1465 ${x_library}/X11/%L/%T/%N%C%S:\
1466 ${x_library}/X11/%l/%T/%N%C%S:\
1467 ${x_library}/X11/%T/%N%C%S:\
1468 ${x_library}/X11/%L/%T/%N%S:\
1469 ${x_library}/X11/%l/%T/%N%S:\
1470 ${x_library}/X11/%T/%N%S"
1471     if test x"${x_default_search_path}" = x; then
1472       x_default_search_path=${x_search_path}
1473     else
1474       x_default_search_path="${x_search_path}:${x_default_search_path}"
1475     fi
1476   done
1478 if test "${x_includes}" != NONE && test -n "${x_includes}"; then
1479   C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"`
1482 if test x"${x_includes}" = x; then
1483   bitmapdir=/usr/include/X11/bitmaps
1484 else
1485   # accumulate include directories that have X11 bitmap subdirectories
1486   bmd_acc="dummyval"
1487   for bmd in `echo ${x_includes} | sed -e "s/:/ /g"`; do
1488     if test -d "${bmd}/X11/bitmaps"; then
1489       bmd_acc="${bmd_acc}:${bmd}/X11/bitmaps"
1490     fi
1491     if test -d "${bmd}/bitmaps"; then
1492       bmd_acc="${bmd_acc}:${bmd}/bitmaps"
1493     fi
1494   done
1495   if test ${bmd_acc} != "dummyval"; then
1496     bitmapdir=`echo ${bmd_acc} | sed -e "s/^dummyval://"`
1497   fi
1500 case "${window_system}" in
1501   x11 )
1502     HAVE_X_WINDOWS=yes
1503     HAVE_X11=yes
1504     case "${with_x_toolkit}" in
1505       athena | lucid ) USE_X_TOOLKIT=LUCID ;;
1506       motif ) USE_X_TOOLKIT=MOTIF ;;
1507 dnl      open-look ) USE_X_TOOLKIT=OPEN_LOOK ;;
1508       no ) USE_X_TOOLKIT=none ;;
1509 dnl If user did not say whether to use a toolkit,
1510 dnl make this decision later: use the toolkit if we have X11R5 or newer.
1511       * ) USE_X_TOOLKIT=maybe ;;
1512     esac
1513   ;;
1514   none )
1515     HAVE_X_WINDOWS=no
1516     HAVE_X11=no
1517     USE_X_TOOLKIT=none
1518   ;;
1519 esac
1521 ### If we're using X11, we should use the X menu package.
1522 HAVE_MENUS=no
1523 case ${HAVE_X11} in
1524   yes ) HAVE_MENUS=yes ;;
1525 esac
1526   
1527 if test "${opsys}" = "hpux9"; then
1528   case "${x_libraries}" in
1529     *X11R4* )
1530       opsysfile="s/hpux9-x11r4.h"
1531       ;;
1532   esac
1535 if test "${opsys}" = "hpux9shr"; then
1536   case "${x_libraries}" in
1537     *X11R4* )
1538       opsysfile="s/hpux9shxr4.h"
1539       ;;
1540   esac
1543 ### Compute the unexec source name from the object name.
1544 UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
1546 # Do the opsystem or machine files prohibit the use of the GNU malloc?
1547 # Assume not, until told otherwise.
1548 GNU_MALLOC=yes
1549 doug_lea_malloc=yes
1550 AC_CHECK_FUNC(malloc_get_state, ,doug_lea_malloc=no)
1551 AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
1552 AC_CACHE_CHECK(whether __after_morecore_hook exists,
1553                emacs_cv_var___after_morecore_hook,
1554 [AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
1555   emacs_cv_var___after_morecore_hook=yes,
1556   emacs_cv_var___after_morecore_hook=no)])
1557 if test $emacs_cv_var___after_morecore_hook = no; then
1558   doug_lea_malloc=no
1560 if test "${system_malloc}" = "yes"; then
1561   GNU_MALLOC=no
1562   GNU_MALLOC_reason="
1563     (The GNU allocators don't work with this system configuration.)"
1565 if test "$doug_lea_malloc" = "yes" ; then
1566   if test "$GNU_MALLOC" = yes ; then
1567     GNU_MALLOC_reason="
1568       (Using Doug Lea's new malloc from the GNU C Library.)"
1569   fi
1570   AC_DEFINE(DOUG_LEA_MALLOC)
1573 if test x"${REL_ALLOC}" = x; then
1574   REL_ALLOC=${GNU_MALLOC}
1577 dnl For now, need to use an explicit `#define USE_MMAP_FOR_BUFFERS 1'
1578 dnl the system configuration file (s/*.h) to turn the use of mmap
1579 dnl in the relocating allocator on.
1581 AC_FUNC_MMAP
1582 if test $use_mmap_for_buffers = yes; then
1583   REL_ALLOC=no
1586 LIBS="$libsrc_libs $LIBS"
1588 dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks,
1589 dnl and also adds -ldnet to LIBS, which Autoconf uses for checks.
1590 AC_CHECK_LIB(dnet, dnet_ntoa)
1591 dnl This causes -lresolv to get used in subsequent tests,
1592 dnl which causes failures on some systems such as HPUX 9.
1593 dnl AC_CHECK_LIB(resolv, gethostbyname)
1595 dnl FIXME replace main with a function we actually want from this library.
1596 AC_CHECK_LIB(Xbsd, main, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd")
1598 AC_CHECK_LIB(pthreads, cma_open)
1600 AC_MSG_CHECKING(for XFree86 in /usr/X386)
1601 if test -d /usr/X386/include; then
1602   HAVE_XFREE386=yes
1603   : ${C_SWITCH_X_SITE="-I/usr/X386/include"}
1604 else
1605   HAVE_XFREE386=no
1607 AC_MSG_RESULT($HAVE_XFREE386)
1609 # Change CFLAGS temporarily so that C_SWITCH_X_SITE gets used
1610 # for the tests that follow.  We set it back to REAL_CFLAGS later on.
1612 REAL_CPPFLAGS="$CPPFLAGS"
1614 if test "${HAVE_X11}" = "yes"; then
1615   DEFS="$C_SWITCH_X_SITE $DEFS"
1616   LDFLAGS="$LDFLAGS $LD_SWITCH_X_SITE"
1617   LIBS="$LIBX $LIBS"
1618   CFLAGS="$C_SWITCH_X_SITE $CFLAGS"
1619   CPPFLAGS="$C_SWITCH_X_SITE $CPPFLAGS"
1621   # On Solaris, arrange for LD_RUN_PATH to point to the X libraries for tests.
1622   # This is handled by LD_SWITCH_X_SITE_AUX during the real build,
1623   # but it's more convenient here to set LD_RUN_PATH
1624   # since this also works on hosts that don't understand LD_SWITCH_X_SITE_AUX.
1625   if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then
1626     LD_RUN_PATH=$x_libraries${LD_RUN_PATH+:}$LD_RUN_PATH
1627     export LD_RUN_PATH
1628   fi
1630   if test "${opsys}" = "gnu-linux"; then
1631     AC_MSG_CHECKING(whether X on GNU/Linux needs -b to link)
1632     AC_TRY_LINK([],
1633      [XOpenDisplay ("foo");],
1634      [xlinux_first_failure=no],
1635      [xlinux_first_failure=yes])
1636     if test "${xlinux_first_failure}" = "yes"; then
1637       OLD_LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE"
1638       OLD_C_SWITCH_X_SITE="$C_SWITCH_X_SITE"
1639       OLD_CPPFLAGS="$CPPFLAGS"
1640       OLD_LIBS="$LIBS"
1641       LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -b i486-linuxaout"
1642       C_SWITCH_X_SITE="$C_SWITCH_X_SITE -b i486-linuxaout"
1643       CPPFLAGS="$CPPFLAGS -b i486-linuxaout"
1644       LIBS="$LIBS -b i486-linuxaout"
1645       AC_TRY_LINK([],
1646        [XOpenDisplay ("foo");],
1647        [xlinux_second_failure=no],
1648        [xlinux_second_failure=yes])
1649       if test "${xlinux_second_failure}" = "yes"; then
1650         # If we get the same failure with -b, there is no use adding -b.
1651         # So take it out.  This plays safe.
1652         LD_SWITCH_X_SITE="$OLD_LD_SWITCH_X_SITE"
1653         C_SWITCH_X_SITE="$OLD_C_SWITCH_X_SITE"
1654         CPPFLAGS="$OLD_CPPFLAGS"
1655         LIBS="$OLD_LIBS"
1656         AC_MSG_RESULT(no)
1657       else
1658         AC_MSG_RESULT(yes)
1659       fi
1660     else
1661       AC_MSG_RESULT(no)
1662     fi
1663   fi
1665   # Reportedly, some broken Solaris systems have XKBlib.h but are missing
1666   # header files included from there.
1667   AC_MSG_CHECKING(for Xkb)
1668   AC_TRY_LINK([#include <X11/Xlib.h>
1669 #include <X11/XKBlib.h>],
1670         [XkbDescPtr kb = XkbGetKeyboard (0, XkbAllComponentsMask, XkbUseCoreKbd);],
1671         emacs_xkb=yes, emacs_xkb=no)
1672   AC_MSG_RESULT($emacs_xkb)
1673   if test $emacs_xkb = yes; then
1674     AC_DEFINE(HAVE_XKBGETKEYBOARD)
1675   fi
1677   AC_CHECK_FUNCS(XrmSetDatabase XScreenResourceString \
1678 XScreenNumberOfScreen XSetWMProtocols)
1681 if test "${window_system}" = "x11"; then
1682   AC_MSG_CHECKING(X11 version 6)
1683   AC_CACHE_VAL(emacs_cv_x11_version_6,
1684   [AC_TRY_LINK([#include <X11/Xlib.h>],
1685 [#if XlibSpecificationRelease < 6
1686 fail;
1687 #endif
1688 ], emacs_cv_x11_version_6=yes, emacs_cv_x11_version_6=no)])
1689   if test $emacs_cv_x11_version_6 = yes; then
1690     AC_MSG_RESULT(6 or newer)
1691     AC_DEFINE(HAVE_X11R6)
1692   else
1693     AC_MSG_RESULT(before 6)
1694   fi
1697 if test "${window_system}" = "x11"; then
1698   AC_MSG_CHECKING(X11 version 5)
1699   AC_CACHE_VAL(emacs_cv_x11_version_5,
1700   [AC_TRY_LINK([#include <X11/Xlib.h>],
1701 [#if XlibSpecificationRelease < 5
1702 fail;
1703 #endif
1704 ], emacs_cv_x11_version_5=yes, emacs_cv_x11_version_5=no)])
1705   if test $emacs_cv_x11_version_5 = yes; then
1706     AC_MSG_RESULT(5 or newer)
1707     HAVE_X11R5=yes
1708     AC_DEFINE(HAVE_X11R5)
1709   else
1710     HAVE_X11R5=no
1711     AC_MSG_RESULT(before 5)
1712   fi
1715 dnl Do not put whitespace before the #include statements below.
1716 dnl Older compilers (eg sunos4 cc) choke on it.
1717 if test x"${USE_X_TOOLKIT}" = xmaybe; then
1718   if test x"${HAVE_X11R5}" = xyes; then
1719     AC_MSG_CHECKING(X11 version 5 with Xaw)
1720     AC_CACHE_VAL(emacs_cv_x11_version_5_with_xaw,
1721     [AC_TRY_LINK([
1722 #include <X11/Intrinsic.h>
1723 #include <X11/Xaw/Simple.h>],
1724       [],
1725       emacs_cv_x11_version_5_with_xaw=yes,
1726       emacs_cv_x11_version_5_with_xaw=no)])
1727     if test $emacs_cv_x11_version_5_with_xaw = yes; then
1728       AC_MSG_RESULT([5 or newer, with Xaw; use toolkit by default])
1729       USE_X_TOOLKIT=LUCID
1730     else
1731       AC_MSG_RESULT(before 5 or no Xaw; do not use toolkit by default)
1732       USE_X_TOOLKIT=none
1733     fi
1734   else
1735     USE_X_TOOLKIT=none
1736   fi
1739 X_TOOLKIT_TYPE=$USE_X_TOOLKIT
1741 if test "${USE_X_TOOLKIT}" != "none"; then
1742   AC_MSG_CHECKING(X11 toolkit version)
1743   AC_CACHE_VAL(emacs_cv_x11_toolkit_version_6,
1744   [AC_TRY_LINK([#include <X11/Intrinsic.h>],
1745 [#if XtSpecificationRelease < 6
1746 fail;
1747 #endif
1748 ], emacs_cv_x11_toolkit_version_6=yes, emacs_cv_x11_toolkit_version_6=no)])
1749   HAVE_X11XTR6=$emacs_cv_x11_toolkit_version_6
1750   if test $emacs_cv_x11_toolkit_version_6 = yes; then
1751     AC_MSG_RESULT(6 or newer)
1752     AC_DEFINE(HAVE_X11XTR6)
1753   else
1754     AC_MSG_RESULT(before 6)
1755   fi
1757 dnl If using toolkit, check whether libXmu.a exists.
1758 dnl tranle@intellicorp.com says libXmu.a can need XtMalloc in libXt.a to link.
1759   OLDLIBS="$LIBS"
1760   if test x$HAVE_X11XTR6 = xyes; then
1761     LIBS="-lXt -lSM -lICE $LIBS"
1762   else
1763     LIBS="-lXt $LIBS"
1764   fi
1765   AC_CHECK_LIB(Xmu, XmuConvertStandardSelection)
1766   test $ac_cv_lib_Xmu_XmuConvertStandardSelection = no && LIBS="$OLDLIBS"
1769 # On Irix 6.5, at least, we need XShapeQueryExtension from -lXext for Xaw3D.
1770 if test "${HAVE_X11}" = "yes"; then
1771   if test "${USE_X_TOOLKIT}" != "none"; then
1772     AC_CHECK_LIB(Xext, XShapeQueryExtension)
1773   fi
1776 if test "${USE_X_TOOLKIT}" = "MOTIF"; then
1777   AC_CACHE_CHECK(for Motif version 2.1, emacs_cv_motif_version_2_1,
1778   [AC_TRY_COMPILE([#include <Xm/Xm.h>],
1779     [#if XmVERSION > 2 || (XmVERSION == 2 && XmREVISION >= 1)
1780 int x = 5;
1781 #else
1782 Motif version prior to 2.1.
1783 #endif],
1784     emacs_cv_motif_version_2_1=yes, emacs_cv_motif_version_2_1=no)])
1785   HAVE_MOTIF_2_1=$emacs_cv_motif_version_2_1
1786   if test $emacs_cv_motif_version_2_1 = yes; then
1787     HAVE_LIBXP=no
1788     AC_DEFINE(HAVE_MOTIF_2_1)
1789     AC_CHECK_LIB(Xp, XpCreateContext, HAVE_LIBXP=yes)
1790     if test ${HAVE_LIBXP} = yes; then
1791       AC_DEFINE(HAVE_LIBXP)
1792     fi  
1793   fi
1796 ### Is -lXaw3d available?
1797 HAVE_XAW3D=no
1798 if test "${HAVE_X11}" = "yes"; then
1799   if test "${USE_X_TOOLKIT}" != "none"; then
1800     AC_CHECK_HEADER(X11/Xaw3d/Scrollbar.h,
1801         AC_CHECK_LIB(Xaw3d, XawScrollbarSetThumb, HAVE_XAW3D=yes))
1802     if test "${HAVE_XAW3D}" = "yes"; then
1803         AC_DEFINE(HAVE_XAW3D)
1804     fi
1805   fi
1807   
1808 dnl Use toolkit scroll bars if configured for X toolkit and either
1809 dnl using Motif or Xaw3d is available, and unless
1810 dnl --with-toolkit-scroll-bars=no was specified.
1812 USE_TOOLKIT_SCROLL_BARS=no
1813 if test "${with_toolkit_scroll_bars}" != "no"; then
1814   if test "${USE_X_TOOLKIT}" != "none"; then
1815     if test "${USE_X_TOOLKIT}" = "MOTIF"; then
1816       AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
1817       HAVE_XAW3D=no
1818       USE_TOOLKIT_SCROLL_BARS=yes
1819     elif test "${HAVE_XAW3D}" = "yes"; then
1820       AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
1821       USE_TOOLKIT_SCROLL_BARS=yes
1822     fi
1823   fi
1826 dnl Don't use X11 input methods if user specifies he doesn't want it
1827 dnl with `--with-xim=no'.
1829 if test "${with_xim}" != "no"; then
1830   AC_DEFINE(USE_XIM)
1833 ### Use -lXpm if available, unless `--with-xpm=no'.
1834 HAVE_XPM=no
1835 if test "${HAVE_X11}" = "yes"; then
1836   if test "${with_xpm}" != "no"; then
1837     AC_CHECK_HEADER(X11/xpm.h,
1838       AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, HAVE_XPM=yes, , -lX11))
1839     if test "${HAVE_XPM}" = "yes"; then
1840       AC_MSG_CHECKING(for XpmReturnAllocPixels preprocessor define)
1841       AC_EGREP_CPP(no_return_alloc_pixels,
1842       [#include "X11/xpm.h"
1843 #ifndef XpmReturnAllocPixels
1844 no_return_alloc_pixels
1845 #endif
1846       ], HAVE_XPM=no, HAVE_XPM=yes)
1848       if test "${HAVE_XPM}" = "yes"; then
1849         AC_MSG_RESULT(yes)
1850       else
1851         AC_MSG_RESULT(no)
1852       fi
1853     fi
1854   fi
1856   if test "${HAVE_XPM}" = "yes"; then
1857     AC_DEFINE(HAVE_XPM)
1858   fi
1860   
1861 ### Use -ljpeg if available, unless `--with-jpeg=no'.
1862 HAVE_JPEG=no
1863 if test "${HAVE_X11}" = "yes"; then
1864   if test "${with_jpeg}" != "no"; then
1865     dnl Checking for jpeglib.h can lose becsue of a redefinition of
1866     dnl  HAVE_STDLIB_H.
1867     AC_CHECK_HEADER(jerror.h,
1868       AC_CHECK_LIB(jpeg, jpeg_destroy_compress, HAVE_JPEG=yes))
1869   fi
1871   if test "${HAVE_JPEG}" = "yes"; then
1872     AC_DEFINE(HAVE_JPEG)
1873   fi
1875   
1876 ### Use -lpng if available, unless `--with-png=no'.
1877 HAVE_PNG=no
1878 if test "${HAVE_X11}" = "yes"; then
1879   if test "${with_png}" != "no"; then
1880     AC_CHECK_HEADER(png.h,
1881       AC_CHECK_LIB(png, png_get_channels, HAVE_PNG=yes, , -lz -lm))
1882   fi
1884   if test "${HAVE_PNG}" = "yes"; then
1885     AC_DEFINE(HAVE_PNG)
1886   fi
1888   
1889 ### Use -ltiff if available, unless `--with-tiff=no'.
1890 HAVE_TIFF=no
1891 if test "${HAVE_X11}" = "yes"; then
1892   if test "${with_tiff}" != "no"; then
1893     AC_CHECK_HEADER(tiffio.h,
1894       tifflibs="-lz -lm"
1895       # At least one tiff package requires the jpeg library.
1896       if test "${HAVE_JPEG}" = yes; then tifflibs="-ljpeg $tifflibs"; fi
1897       AC_CHECK_LIB(tiff, TIFFGetVersion, HAVE_TIFF=yes, , $tifflibs))
1898   fi
1900   if test "${HAVE_TIFF}" = "yes"; then
1901     AC_DEFINE(HAVE_TIFF)
1902   fi
1904   
1905 ### Use -lgif if available, unless `--with-gif=no'.
1906 HAVE_GIF=no
1907 if test "${HAVE_X11}" = "yes"; then
1908   if test "${with_gif}" != "no"; then
1909     AC_CHECK_HEADER(gif_lib.h,
1910       AC_CHECK_LIB(ungif, DGifOpen, HAVE_GIF=yes))
1911   fi
1913   if test "${HAVE_GIF}" = "yes"; then
1914     AC_DEFINE(HAVE_GIF)
1915   fi
1918 # If netdb.h doesn't declare h_errno, we must declare it by hand.
1919 AC_CACHE_CHECK(whether netdb declares h_errno,
1920                emacs_cv_netdb_declares_h_errno,
1921 [AC_TRY_LINK([#include <netdb.h>],
1922   [return h_errno;],
1923   emacs_cv_netdb_declares_h_errno=yes, emacs_cv_netdb_declares_h_errno=no)])
1924 if test $emacs_cv_netdb_declares_h_errno = yes; then
1925   AC_DEFINE(HAVE_H_ERRNO)
1928 AC_FUNC_ALLOCA
1930 # fmod, logb, and frexp are found in -lm on most systems.
1931 # On HPUX 9.01, -lm does not contain logb, so check for sqrt.
1932 AC_CHECK_LIB(m, sqrt)
1934 # Check for mail-locking functions in a "mail" library
1935 AC_CHECK_LIB(mail, maillock)
1936 dnl Debian, at least:
1937 dnl AC_CHECK_LIB(lockfile, maillock, [AC_DEFINE(HAVE_LIBMAIL)])
1938 AC_CHECK_LIB(lockfile, maillock)
1939 # If we have the shared liblockfile, assume we must use it for mail
1940 # locking (e.g. Debian).  If we couldn't link against liblockfile
1941 # (no liblockfile.a installed), ensure that we don't need to.
1942 if test "$ac_cv_lib_lockfile_maillock" = no; then
1943   dnl This works for files generally, not just executables.
1944   dnl Should we look elsewhere for it?  Maybe examine /etc/ld.so.conf?
1945   AC_CHECK_PROG(liblockfile, liblockfile.so, yes, no,
1946                 /usr/lib:/lib:/usr/local/lib:$LD_LIBRARY_PATH)
1947   if test $ac_cv_prog_liblockfile = yes; then
1948     AC_MSG_ERROR([Shared liblockfile found but can't link against it.
1949 This probably means that movemail could lose mail.
1950 There may be a \`development' package to install containing liblockfile.])
1951   else AC_DEFINE(LIBMAIL, -llockfile)
1952   fi
1953   else :
1955 AC_CHECK_FUNCS(touchlock)
1956 AC_CHECK_HEADERS(maillock.h)
1958 AC_CHECK_FUNCS(gethostname getdomainname dup2 \
1959 rename closedir mkdir rmdir sysinfo \
1960 random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \
1961 strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
1962 utimes setrlimit setpgid getcwd getwd shutdown strftime getaddrinfo \
1963 __fpending mblen mbrlen strsignal setitimer ualarm index rindex \
1964 gai_strerror mkstemp)
1966 AC_FUNC_MKTIME
1967 if test "$ac_cv_func_working_mktime" = no; then
1968   AC_DEFINE(BROKEN_MKTIME)
1971 AC_FUNC_GETLOADAVG
1973 AC_FUNC_FSEEKO
1975 # UNIX98 PTYs.
1976 AC_CHECK_FUNCS(grantpt)
1978 # PTY-related GNU extensions.
1979 AC_CHECK_FUNCS(getpt)
1981 # Check this now, so that we will NOT find the above functions in ncurses.
1982 # That is because we have not set up to link ncurses in lib-src.
1983 # It's better to believe a function is not available
1984 # than to expect to find it in ncurses.
1985 AC_CHECK_LIB(ncurses, tparm)
1987 # Do we need the Hesiod library to provide the support routines?
1988 if test "$with_hesiod" = yes ; then
1989   # Don't set $LIBS here -- see comments above.
1990   resolv=no
1991   AC_CHECK_FUNC(res_send, , [AC_CHECK_FUNC(__res_send, ,
1992      [AC_CHECK_LIB(resolv, res_send, resolv=yes,
1993                   [AC_CHECK_LIB(resolv, __res_send, resolv=yes)])])])
1994   if test "$resolv" = yes ; then
1995     RESOLVLIB=-lresolv
1996     AC_DEFINE(HAVE_LIBRESOLV)
1997   else
1998     RESOLVLIB=
1999   fi
2000   AC_CHECK_FUNC(hes_getmailhost, , [AC_CHECK_LIB(hesiod, hes_getmailhost,
2001         AC_DEFINE(HAVE_LIBHESIOD), :, $RESOLVLIB)])
2004 # These tell us which Kerberos-related libraries to use.
2005 if test "${with_kerberos+set}" = set; then
2006   AC_CHECK_LIB(com_err, com_err)
2007   AC_CHECK_LIB(k5crypto, mit_des_cbc_encrypt)
2008   AC_CHECK_LIB(crypto, mit_des_cbc_encrypt)
2009   AC_CHECK_LIB(krb5, krb5_init_context)
2010   if test "${with_kerberos5+set}" != set; then
2011     AC_CHECK_LIB(des425, des_cbc_encrypt,,
2012                  AC_CHECK_LIB(des, des_cbc_encrypt))
2013     AC_CHECK_LIB(krb4, krb_get_cred,,
2014                  AC_CHECK_LIB(krb, krb_get_cred))
2015   fi
2017   if test "${with_kerberos5+set}" = set; then
2018     AC_CHECK_HEADERS(krb5.h)
2019   else
2020     AC_CHECK_HEADERS(des.h,,
2021                      [AC_CHECK_HEADERS(kerberosIV/des.h,,
2022                                        [AC_CHECK_HEADERS(kerberos/des.h)])])
2023     AC_CHECK_HEADERS(krb.h,,
2024                      [AC_CHECK_HEADERS(kerberosIV/krb.h,,
2025                                        [AC_CHECK_HEADERS(kerberos/krb.h)])])
2026   fi
2027   AC_CHECK_HEADERS(com_err.h)
2030 # Solaris requires -lintl if you want strerror (which calls dgettext)
2031 # to return localized messages.
2032 AC_CHECK_LIB(intl, dgettext)
2034 AC_MSG_CHECKING(whether localtime caches TZ)
2035 AC_CACHE_VAL(emacs_cv_localtime_cache,
2036 [if test x$ac_cv_func_tzset = xyes; then
2037 AC_TRY_RUN([#include <time.h>
2038 extern char **environ;
2039 unset_TZ ()
2041   char **from, **to;
2042   for (to = from = environ; (*to = *from); from++)
2043     if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '='))
2044       to++;
2046 char TZ_GMT0[] = "TZ=GMT0";
2047 char TZ_PST8[] = "TZ=PST8";
2048 main()
2050   time_t now = time ((time_t *) 0);
2051   int hour_GMT0, hour_unset;
2052   if (putenv (TZ_GMT0) != 0)
2053     exit (1);
2054   hour_GMT0 = localtime (&now)->tm_hour;
2055   unset_TZ ();
2056   hour_unset = localtime (&now)->tm_hour;
2057   if (putenv (TZ_PST8) != 0)
2058     exit (1);
2059   if (localtime (&now)->tm_hour == hour_GMT0)
2060     exit (1);
2061   unset_TZ ();
2062   if (localtime (&now)->tm_hour != hour_unset)
2063     exit (1);
2064   exit (0);
2065 }], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes,
2066 [# If we have tzset, assume the worst when cross-compiling.
2067 emacs_cv_localtime_cache=yes])
2068 else
2069         # If we lack tzset, report that localtime does not cache TZ,
2070         # since we can't invalidate the cache if we don't have tzset.
2071         emacs_cv_localtime_cache=no
2072 fi])dnl
2073 AC_MSG_RESULT($emacs_cv_localtime_cache)
2074 if test $emacs_cv_localtime_cache = yes; then
2075   AC_DEFINE(LOCALTIME_CACHE)
2078 if test "x$HAVE_TIMEVAL" = xyes; then
2079   AC_CHECK_FUNCS(gettimeofday)
2080   AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
2081                  emacs_cv_gettimeofday_two_arguments,
2082   [AC_TRY_COMPILE([
2083 #ifdef TIME_WITH_SYS_TIME
2084 #include <sys/time.h>
2085 #include <time.h>
2086 #else
2087 #ifdef HAVE_SYS_TIME_H
2088 #include <sys/time.h>
2089 #else
2090 #include <time.h>
2091 #endif
2092 #endif],
2093     [struct timeval time;
2094      gettimeofday (&time, 0);],
2095     emacs_cv_gettimeofday_two_arguments=yes,
2096     emacs_cv_gettimeofday_two_arguments=no)])
2097   if test $emacs_cv_gettimeofday_two_arguments = no; then
2098     AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)
2099   fi
2102 dnl Note that AC_STRUCT_TIMEZONE doesn't do what you might expect.
2103 if test "$ac_cv_func_gettimeofday" = yes; then
2104   AC_CACHE_CHECK([for struct timezone], emacs_cv_struct_timezone,
2105     [AC_TRY_COMPILE([#include <sys/time.h>],
2106     [struct timezone tz;],
2107     dnl It may be that we can't call gettimeofday with a non-null pointer,
2108     dnl even though we have struct timezone (e.g. HPUX).  In that case
2109     dnl we'll lie about struct timezone.
2110     [AC_TRY_RUN([
2111 #ifdef TIME_WITH_SYS_TIME
2112 #include <sys/time.h>
2113 #include <time.h>
2114 #else
2115 #ifdef HAVE_SYS_TIME_H
2116 #include <sys/time.h>
2117 #else
2118 #include <time.h>
2119 #endif
2120 #endif
2121 main () {
2122   struct timeval time;
2123   struct timezone dummy;
2124   exit (gettimeofday (&time, &dummy));
2126       emacs_cv_struct_timezone=yes,
2127       emacs_cv_struct_timezone=no, emacs_cv_struct_timezone=yes)],
2128     emacs_cv_struct_timezone=no)])
2131 ok_so_far=yes
2132 AC_CHECK_FUNC(socket, , ok_so_far=no)
2133 if test $ok_so_far = yes; then
2134   AC_CHECK_HEADER(netinet/in.h, , ok_so_far=no)
2136 if test $ok_so_far = yes; then
2137   AC_CHECK_HEADER(arpa/inet.h, , ok_so_far=no)
2139 if test $ok_so_far = yes; then
2140   AC_DEFINE(HAVE_INET_SOCKETS)
2143 if test -f /usr/lpp/X11/bin/smt.exp; then
2144   AC_DEFINE(HAVE_AIX_SMT_EXP)
2147 AC_MSG_CHECKING(whether system supports dynamic ptys)
2148 if test -d /dev/pts && ls -d /dev/ptmx > /dev/null 2>&1 ; then
2149   AC_MSG_RESULT(yes)
2150   AC_DEFINE(HAVE_DEV_PTMX)
2151 else
2152   AC_MSG_RESULT(no)
2155 AC_FUNC_FORK
2157 # Fixme: This should be replaced when we have autoconf 2.14.
2158 AC_SIZE_T
2160 # Set up the CFLAGS for real compilation, so we can substitute it.
2161 CFLAGS="$REAL_CFLAGS"
2162 CPPFLAGS="$REAL_CPPFLAGS"
2164 changequote(, )dnl
2165 #### Find out which version of Emacs this is.
2166 version=`grep 'defconst[         ]*emacs-version' ${srcdir}/lisp/version.el \
2167          | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
2168 changequote([, ])dnl
2169 if test x"${version}" = x; then
2170   AC_MSG_ERROR(can't find current emacs version in \`${srcdir}/lisp/version.el'.)
2173 ### Specify what sort of things we'll be editing into Makefile and config.h.
2174 ### Use configuration here uncanonicalized to avoid exceeding size limits.
2175 AC_SUBST(version)
2176 AC_SUBST(configuration)
2177 AC_SUBST(canonical)
2178 AC_SUBST(srcdir)
2179 AC_SUBST(prefix)
2180 AC_SUBST(exec_prefix)
2181 AC_SUBST(bindir)
2182 AC_SUBST(datadir)
2183 AC_SUBST(sharedstatedir)
2184 AC_SUBST(libexecdir)
2185 AC_SUBST(mandir)
2186 AC_SUBST(infodir)
2187 AC_SUBST(lispdir)
2188 AC_SUBST(locallisppath)
2189 AC_SUBST(lisppath)
2190 AC_SUBST(x_default_search_path)
2191 AC_SUBST(etcdir)
2192 AC_SUBST(archlibdir)
2193 AC_SUBST(docdir)
2194 AC_SUBST(bitmapdir)
2195 AC_SUBST(c_switch_system)
2196 AC_SUBST(c_switch_machine)
2197 AC_SUBST(LD_SWITCH_X_SITE)
2198 AC_SUBST(LD_SWITCH_X_SITE_AUX)
2199 AC_SUBST(C_SWITCH_X_SITE)
2200 AC_SUBST(CFLAGS)
2201 AC_SUBST(X_TOOLKIT_TYPE)
2202 AC_SUBST(machfile)
2203 AC_SUBST(opsysfile)
2204 AC_SUBST(GETLOADAVG_LIBS)
2206 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION,  "${canonical}")
2207 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}")
2208 AC_DEFINE_UNQUOTED(config_machfile,  "${machfile}")
2209 AC_DEFINE_UNQUOTED(config_opsysfile, "${opsysfile}")
2210 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE})
2211 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, ${LD_SWITCH_X_SITE_AUX})
2212 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE,  ${C_SWITCH_X_SITE})
2213 AC_DEFINE_UNQUOTED(UNEXEC_SRC,       ${UNEXEC_SRC})
2215 if test "${HAVE_X_WINDOWS}" = "yes" ; then
2216   AC_DEFINE(HAVE_X_WINDOWS)
2218 if test "${USE_X_TOOLKIT}" != "none" ; then
2219   AC_DEFINE(USE_X_TOOLKIT)
2221 if test "${HAVE_X11}" = "yes" ; then
2222   AC_DEFINE(HAVE_X11)
2224 if test "${HAVE_XFREE386}" = "yes" ; then
2225   AC_DEFINE(HAVE_XFREE386)
2227 if test "${HAVE_MENUS}" = "yes" ; then
2228   AC_DEFINE(HAVE_MENUS)
2230 if test "${GNU_MALLOC}" = "yes" ; then
2231   AC_DEFINE(GNU_MALLOC)
2233 if test "${REL_ALLOC}" = "yes" ; then
2234   AC_DEFINE(REL_ALLOC)
2237 AC_CHECK_HEADERS(nlist.h, [AC_DEFINE(NLIST_STRUCT, 1,
2238                  [Define if you have <nlist.h>.])])
2240 #### Report on what we decided to do.
2241 echo "
2242 Configured for \`${canonical}'.
2244   Where should the build process find the source code?    ${srcdir}
2245   What operating system and machine description files should Emacs use?
2246         \`${opsysfile}' and \`${machfile}'
2247   What compiler should emacs be built with?               ${CC} ${CFLAGS}
2248   Should Emacs use the GNU version of malloc?             ${GNU_MALLOC}${GNU_MALLOC_reason}
2249   Should Emacs use a relocating allocator for buffers?    ${REL_ALLOC}
2250   Should Emacs use mmap(2) for buffer allocation?         $use_mmap_for_buffers
2251   What window system should Emacs use?                    ${window_system}
2252   What toolkit should Emacs use?                          ${USE_X_TOOLKIT}"
2254 if test -n "${x_includes}"; then
2255 echo "  Where do we find X Windows header files?                ${x_includes}"
2256 else
2257 echo "  Where do we find X Windows header files?                Standard dirs"
2259 if test -n "${x_libraries}"; then
2260 echo "  Where do we find X Windows libraries?                   ${x_libraries}"
2261 else
2262 echo "  Where do we find X Windows libraries?                   Standard dirs"
2265 echo "  Does Emacs use -lXaw3d?                                 ${HAVE_XAW3D}"
2266 echo "  Does Emacs use -lXpm?                                   ${HAVE_XPM}"
2267 echo "  Does Emacs use -ljpeg?                                  ${HAVE_JPEG}"
2268 echo "  Does Emacs use -ltiff?                                  ${HAVE_TIFF}"
2269 echo "  Does Emacs use -lungif?                                 ${HAVE_GIF}"
2270 echo "  Does Emacs use -lpng?                                   ${HAVE_PNG}"
2271 echo "  Does Emacs use X toolkit scroll bars?                   ${USE_TOOLKIT_SCROLL_BARS}"
2272 echo
2274 # Remove any trailing slashes in these variables.
2275 changequote(, )dnl
2276 test "${prefix}" != NONE &&
2277   prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'`
2278 test "${exec_prefix}" != NONE &&
2279   exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`
2280 changequote([, ])dnl
2282 ## Check if the C preprocessor will convert `..' to `. .'.  If so, set
2283 ## CPP_NEED_TRADITIONAL to `yes' so that the code to generate Makefile
2284 ## from Makefile.c can correctly provide the arg `-traditional' to the
2285 ## C preprocessor.
2287 AC_EGREP_CPP(yes..yes,
2288         [yes..yes],
2289         CPP_NEED_TRADITIONAL=no,
2290         CPP_NEED_TRADITIONAL=yes)
2292 AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \
2293         man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in \
2294         lisp/Makefile lispref/Makefile lispintro/Makefile leim/Makefile, [
2296 ### Make the necessary directories, if they don't exist.
2297 for dir in etc lisp ; do
2298   test -d ${dir} || mkdir ${dir}
2299 done
2301 # Build src/Makefile from ${srcdir}/src/Makefile.c
2302 # and lib-src/Makefile from ${srcdir}/lib-src/Makefile.c
2303 # This must be done after src/config.h is built, since we rely on that file.
2305 changequote(, )dnl The horror, the horror.
2306 # Now get this: Some word that is part of the ${srcdir} directory name
2307 # or the ${configuration} value might, just might, happen to be an
2308 # identifier like `sun4' or `i386' or something, and be predefined by
2309 # the C preprocessor to some helpful value like 1, or maybe the empty
2310 # string.  Needless to say consequent macro substitutions are less
2311 # than conducive to the makefile finding the correct directory.
2312 undefs="`echo $top_srcdir $configuration $canonical |
2313 sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/  *$//' \
2314     -e 's/  */ -U/g' -e 's/-U[0-9][^ ]*//g' \
2316 changequote([, ])dnl
2318 echo creating src/epaths.h
2319 ${MAKE-make} epaths-force
2321 # As of 2000-11-19, newest development versions of GNU cpp preprocess
2322 # `..' to `. .'  unless invoked with -traditional
2324 if test "x$GCC" = xyes && test "x$CPP_NEED_TRADITIONAL" = xyes; then
2325   CPPFLAGS="$CPPFLAGS -traditional"
2328 echo creating lib-src/Makefile
2329 ( cd lib-src
2330   rm -f junk.c junk1.c junk2.c
2331   sed -e '/start of cpp stuff/q' \
2332       < Makefile.c > junk1.c
2333   sed -e '1,/start of cpp stuff/d'\
2334       -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
2335       < Makefile.c > junk.c
2336   $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
2337       sed -e 's/^ /     /' -e '/^#/d' -e '/^[   \f]*$/d' > junk2.c
2338   cat junk1.c junk2.c > Makefile.new
2339   rm -f junk.c junk1.c junk2.c
2340   chmod 444 Makefile.new
2341   mv -f Makefile.new Makefile
2344 echo creating src/Makefile
2345 ( cd src
2346   rm -f junk.c junk1.c junk2.c
2347   sed -e '/start of cpp stuff/q' \
2348       < Makefile.c > junk1.c
2349   sed -e '1,/start of cpp stuff/d'\
2350       -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
2351       < Makefile.c > junk.c
2352   $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
2353       sed -e 's/^ /     /' -e '/^#/d' -e '/^[   \f]*$/d' > junk2.c
2354   cat junk1.c junk2.c > Makefile.new
2355   rm -f junk.c junk1.c junk2.c
2356   chmod 444 Makefile.new
2357   mv -f Makefile.new Makefile
2360 if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then
2361   echo creating src/.gdbinit
2362   echo source $srcdir/src/.gdbinit > src/.gdbinit
2365 # This is how we know whether to re-run configure in certain cases.
2366 touch src/config.stamp
2368 ], [GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPP_NEED_TRADITIONAL="$CPP_NEED_TRADITIONAL" CPPFLAGS="$CPPFLAGS"])