(Fread_file_name_internal): Protect orig_string.
[emacs.git] / configure.in
blob813a93344485cbb2ced9ca396618fef83f3edf4a
1 dnl This is an autoconf script.
2 dnl To rebuild the `configure' script from this, execute the command
3 dnl     autoconf
4 dnl in the directory containing this script.
5 AC_PREREQ(2.0)dnl
6 AC_INIT(src/lisp.h)
7 AC_CONFIG_HEADER(src/config.h)
9 bindir='${exec_prefix}/bin'
10 datadir='${prefix}/share'
11 sharedstatedir='${prefix}/com'
12 libexecdir='${exec_prefix}/libexec'
13 mandir='${prefix}/man/man1'
14 infodir='${prefix}/info'
15 lispdir='${datadir}/emacs/${version}/lisp'
16 locallisppath='${datadir}/emacs/site-lisp'
17 lisppath='${locallisppath}:${lispdir}'
18 etcdir='${datadir}/emacs/${version}/etc'
19 lockdir='${sharedstatedir}/emacs/lock'
20 archlibdir='${libexecdir}/emacs/${version}/${configuration}'
21 docdir='${datadir}/emacs/${version}/etc'
23 AC_ARG_WITH(gcc,
24 [  --with-gcc              Use GCC to compile Emacs])
25 AC_ARG_WITH(x-toolkit,
26 [  --with-x-toolkit=KIT    Use an X toolkit (KIT = yes/lucid/athena/motif)],
27 [         case "${withval}" in
28             y | ye | yes )      val=athena ;;
29             n | no )            val=no  ;;
30             l | lu | luc | luci | lucid )       val=lucid ;;
31             a | at | ath | athe | athena )      val=athena ;;
32             m | mo | mot | moti | motif )       val=motif ;;
33 dnl These don't currently work.
34 dnl         o | op | ope | open | open- | open-l | open-lo \
35 dnl             | open-loo | open-look )        val=open-look ;;
36             * )
37 dnl AC_MSG_ERROR([the \`--with-x-toolkit' option is supposed to have a value
38 dnl which is \`yes', \`no', \`lucid', \`athena', \`motif' or \`open-look'.])
39 AC_MSG_ERROR([the \`--with-x-toolkit' option is supposed to have a value
40 which is \`yes', \`no', \`lucid', \`athena', or \`motif'.
41 Currently, \`yes', \`athena' and \`lucid' are synonyms.])
42             ;;
43           esac
44           with_x_toolkit=$val
47 #### Make srcdir absolute, if it isn't already.  It's important to
48 #### avoid running the path through pwd unnecessary, since pwd can
49 #### give you automounter prefixes, which can go away.  We do all this
50 #### so Emacs can find its files when run uninstalled.
51 case "${srcdir}" in
52   /* ) ;;
53   . )
54     ## We may be able to use the $PWD environment variable to make this
55     ## absolute.  But sometimes PWD is inaccurate.
56     if test "${PWD}" != "" && test "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`"  ;
57     then
58       srcdir="$PWD"
59     else
60       srcdir="`(cd ${srcdir}; pwd)`"
61     fi
62   ;;
63   *  ) srcdir="`(cd ${srcdir}; pwd)`" ;;
64 esac
66 #### Check if the source directory already has a configured system in it.
67 if test `pwd` != `(cd ${srcdir} && pwd)` \
68    && test -f "${srcdir}/src/config.h" ; then
69   AC_MSG_WARN([The directory tree \`${srcdir}' is being used
70    as a build directory right now; it has been configured in its own
71    right.  To configure in another directory as well, you MUST
72    use GNU make.  If you do not have GNU make, then you must
73    now do \`make distclean' in ${srcdir},
74    and then run $0 again.])
76 changequote(, )dnl
77   extrasub='/^VPATH[     ]*=/c\
78 changequote([, ])dnl
79 vpath %.c $(srcdir)\
80 vpath %.h $(srcdir)\
81 vpath %.y $(srcdir)\
82 vpath %.l $(srcdir)\
83 vpath %.s $(srcdir)\
84 vpath %.in $(srcdir)'
87 #### Given the configuration name, set machfile and opsysfile to the
88 #### names of the m/*.h and s/*.h files we should use.
90 ### Canonicalize the configuration name.
92 AC_CANONICAL_HOST
93 canonical=$host
94 configuration=$host_alias
96 changequote(, )dnl
98 ### If you add support for a new configuration, add code to this
99 ### switch statement to recognize your configuration name and select
100 ### the appropriate operating system and machine description files.
102 ### You would hope that you could choose an m/*.h file pretty much
103 ### based on the machine portion of the configuration name, and an s-
104 ### file based on the operating system portion.  However, it turns out
105 ### that each m/*.h file is pretty manufacturer-specific - for
106 ### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are
107 ### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS
108 ### machines.  So we basically have to have a special case for each
109 ### configuration name.
111 ### As far as handling version numbers on operating systems is
112 ### concerned, make sure things will fail in a fixable way.  If
113 ### /etc/MACHINES doesn't say anything about version numbers, be
114 ### prepared to handle anything reasonably.  If version numbers
115 ### matter, be sure /etc/MACHINES says something about it.
117 ### Eric Raymond says we should accept strings like "sysvr4" to mean
118 ### "System V Release 4"; he writes, "The old convention encouraged
119 ### confusion between `system' and `release' levels'."
121 machine='' opsys='' unported=no
122 case "${canonical}" in
124   ## NetBSD ports
125   *-*-netbsd* )
126     opsys=netbsd
127     case "${canonical}" in
128       i[345]86-*-netbsd*) machine=intel386 ;;
129       m68k-*-netbsd*)
130                         # This is somewhat bogus.
131                         machine=hp9000s300 ;;
132       mips-*-netbsd*)   machine=pmax ;;
133       ns32k-*-netbsd*)  machine=ns32000 ;;
134       sparc-*-netbsd*)  machine=sparc ;;
135     esac
136   ;;
138   ## Acorn RISCiX:
139   arm-acorn-riscix1.1* )
140     machine=acorn opsys=riscix1-1
141   ;;
142   arm-acorn-riscix1.2* | arm-acorn-riscix )
143     machine=acorn opsys=riscix1-2
144   ;;
146   ## Alliant machines
147   ## Strictly speaking, we need the version of the alliant operating
148   ## system to choose the right machine file, but currently the
149   ## configuration name doesn't tell us enough to choose the right
150   ## one; we need to give alliants their own operating system name to
151   ## do this right.  When someone cares, they can help us.
152   fx80-alliant-* )
153     machine=alliant4 opsys=bsd4-2
154   ;;
155   i860-alliant-* )
156     machine=alliant-2800 opsys=bsd4-3
157   ;;
159   alpha-dec-osf* )
160     machine=alpha opsys=osf1
161   ;;
163   ## Altos 3068
164   m68*-altos-sysv* )
165     machine=altos opsys=usg5-2
166   ;;
167     
168   ## Amdahl UTS
169   580-amdahl-sysv* )
170     machine=amdahl opsys=usg5-2-2
171   ;;
173   ## Appallings - I mean, Apollos - running Domain
174   m68*-apollo* )
175     machine=apollo opsys=bsd4-2 NON_GNU_CPP=/usr/lib/cpp
176   ;;
178   ## AT&T 3b2, 3b5, 3b15, 3b20
179   we32k-att-sysv* )
180     machine=att3b opsys=usg5-2-2
181   ;;
183   ## AT&T 3b1 - The Mighty Unix PC!
184   m68*-att-sysv* )
185     machine=7300 opsys=usg5-2-2
186   ;;
188   ## Bull dpx20
189   rs6000-bull-bosx* )
190     machine=ibmrs6000 opsys=aix3-2
191   ;;
193   ## Bull dpx2
194   m68*-bull-sysv3* )
195     machine=dpx2 opsys=usg5-3
196   ;;
198   ## Bull sps7
199   m68*-bull-sysv2* )
200     machine=sps7 opsys=usg5-2
201   ;;
203   ## CCI 5/32, 6/32 -- see "Tahoe".
205   ## Celerity
206   ## I don't know what configuration name to use for this; config.sub
207   ## doesn't seem to know anything about it.  Hey, Celerity users, get
208   ## in touch with us!
209   celerity-celerity-bsd* )
210     machine=celerity opsys=bsd4-2
211   ;;
213   ## Clipper
214   ## What operating systems does this chip run that Emacs has been
215   ## tested on?
216   clipper-* )
217     machine=clipper
218     ## We'll use the catch-all code at the bottom to guess the
219     ## operating system.
220   ;;
222   ## Convex
223   *-convex-bsd* | *-convex-convexos* )
224     machine=convex opsys=bsd4-3
225     ## Prevents suprious white space in makefiles - d.m.cooke@larc.nasa.gov
226     NON_GNU_CPP="cc -E -P"
227   ;;
229   ## Cubix QBx/386
230   i[345]86-cubix-sysv* )
231     machine=intel386 opsys=usg5-3
232   ;;
234   ## Cydra 5
235   cydra*-cydrome-sysv* )
236     machine=cydra5 opsys=usg5-3
237   ;;
239   ## Data General AViiON Machines
240   m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
241     machine=aviion opsys=dgux5-4r3
242   ;;
243   m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* )
244     machine=aviion opsys=dgux5-4r2
245   ;;
246   m88k-dg-dgux* )
247     machine=aviion opsys=dgux
248   ;;
250   ## DECstations
251   mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
252     machine=pmax opsys=bsd4-2
253   ;;
254   mips-dec-ultrix* | mips-dec-bsd* )
255     machine=pmax opsys=bsd4-3
256   ;;
257   mips-dec-osf* )
258     machine=pmax opsys=osf1
259   ;;
261   ## Motorola Delta machines
262   m68k-motorola-sysv* | m68000-motorola-sysv* )
263     machine=delta opsys=usg5-3
264     if test -z "`type gnucc | grep 'not found'`"
265     then CC=gnucc
266     else
267       if test -z "`type gcc | grep 'not found'`"
268       then CC=gcc
269       else CC=cc
270       fi
271     fi
272   ;;
273   m88k-motorola-sysv4* )
274     machine=delta88k opsys=usg5-4
275   ;;
276   m88k-motorola-sysv* | m88k-motorola-m88kbcs* )
277     machine=delta88k opsys=usg5-3
278   ;;
280   ## Dual machines
281   m68*-dual-sysv* )
282     machine=dual opsys=usg5-2
283   ;;
284   m68*-dual-uniplus* )
285     machine=dual opsys=unipl5-2
286   ;;
288   ## Elxsi 6400
289   elxsi-elxsi-sysv* )
290     machine=elxsi opsys=usg5-2
291   ;;
293   ## Encore machines
294   ns16k-encore-bsd* )
295     machine=ns16000 opsys=umax
296   ;;
298   ## The GEC 93 - apparently, this port isn't really finished yet.
300   ## Gould Power Node and NP1
301   pn-gould-bsd4.2* )
302     machine=gould opsys=bsd4-2
303   ;;
304   pn-gould-bsd4.3* )
305     machine=gould opsys=bsd4-3
306   ;;
307   np1-gould-bsd* )
308     machine=gould-np1 opsys=bsd4-3
309   ;;
311   ## Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000
312   ## as far as Emacs is concerned).
313   m88k-harris-cxux* )
314     # Build needs to be different on 7.0 and later releases
315     case "`uname -r`" in
316        [56].[0-9] ) machine=nh4000 opsys=cxux ;;
317        [7].[0-9] ) machine=nh4000 opsys=cxux7 ;;
318     esac
319   ;;
320   ## Harris ecx or gcx running CX/UX (Series 1200, Series 3000)
321   m68k-harris-cxux* )
322     machine=nh3000 opsys=cxux
323   ;;
325   ## Honeywell XPS100
326   xps*-honeywell-sysv* )
327     machine=xps100 opsys=usg5-2
328   ;;
330   ## HP 9000 series 200 or 300
331   m68*-hp-bsd* )
332     machine=hp9000s300 opsys=bsd4-3
333   ;;
334   ## HP/UX 7, 8 and 9 are supported on these machines.
335   m68*-hp-hpux* )
336     case "`uname -r`" in
337       ## Someone's system reports A.B8.05 for this.
338       ## I wonder what other possibilities there are.
339       *.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
340       *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
341       *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
342       *) machine=hp9000s300 opsys=hpux ;;
343     esac
344   ;;
346   ## HP 9000 series 700 and 800, running HP/UX
347   hppa*-hp-hpux7* )
348     machine=hp800 opsys=hpux
349   ;;
350   hppa*-hp-hpux8* )
351     machine=hp800 opsys=hpux8
352   ;;
353   hppa*-hp-hpux9shr* )
354     machine=hp800 opsys=hpux9shr
355   ;;
356   hppa*-hp-hpux9* )
357     machine=hp800 opsys=hpux9
358   ;;
360   ## HP 9000 series 700 and 800, running HP/UX
361   hppa*-hp-hpux* )
362     ## Cross-compilation?  Nah!
363     case "`uname -r`" in
364       ## Someone's system reports A.B8.05 for this.
365       ## I wonder what other possibilities there are.
366       *.B8.* ) machine=hp800 opsys=hpux8 ;;
367       *.08.* ) machine=hp800 opsys=hpux8 ;;
368       *.09.* ) machine=hp800 opsys=hpux9 ;;
369       *) machine=hp800 opsys=hpux ;;
370     esac
371   ;;
373   ## Orion machines
374   orion-orion-bsd* )
375     machine=orion opsys=bsd4-2
376   ;;
377   clipper-orion-bsd* )
378     machine=orion105 opsys=bsd4-2
379   ;;
381   ## IBM machines
382   i[345]86-ibm-aix1.1* )
383     machine=ibmps2-aix opsys=usg5-2-2
384   ;;
385   i[345]86-ibm-aix1.[23]* | i[345]86-ibm-aix* )
386     machine=ibmps2-aix opsys=usg5-3
387   ;;
388   i370-ibm-aix*)
389     machine=ibm370aix opsys=usg5-3
390   ;;
391   rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1*  )
392     machine=ibmrs6000 opsys=aix3-1
393   ;;
394   rs6000-ibm-aix3.2.5 | powerpc-ibm-aix3.2.5 )
395     machine=ibmrs6000 opsys=aix3-2-5
396   ;;
397   rs6000-ibm-aix* | powerpc-ibm-aix* )
398     machine=ibmrs6000 opsys=aix3-2
399   ;;
400   romp-ibm-bsd4.3* )
401     machine=ibmrt opsys=bsd4-3
402   ;;    
403   romp-ibm-bsd4.2* )
404     machine=ibmrt opsys=bsd4-2
405   ;;
406   romp-ibm-aos4.3* )
407     machine=ibmrt opsys=bsd4-3
408   ;;    
409   romp-ibm-aos4.2* )
410     machine=ibmrt opsys=bsd4-2
411   ;;
412   romp-ibm-aos* )
413     machine=ibmrt opsys=bsd4-3
414   ;;
415   romp-ibm-bsd* )
416     machine=ibmrt opsys=bsd4-3
417   ;;
418   romp-ibm-aix* )
419     machine=ibmrt-aix opsys=usg5-2-2
420   ;;
422   ## Integrated Solutions `Optimum V'
423   m68*-isi-bsd4.2* )
424     machine=isi-ov opsys=bsd4-2
425   ;;
426   m68*-isi-bsd4.3* )
427     machine=isi-ov opsys=bsd4-3
428   ;;
430   ## Intel 386 machines where we do care about the manufacturer
431   i[345]86-intsys-sysv* )
432     machine=is386 opsys=usg5-2-2
433   ;;
435   ## Prime EXL
436   i[345]86-prime-sysv* )
437     machine=i386 opsys=usg5-3
438   ;;
440   ## Sequent Symmetry running Dynix
441   i[345]86-sequent-bsd* )
442     machine=symmetry opsys=bsd4-3
443   ;;
445   ## Sequent Symmetry running DYNIX/ptx
446   ## Use the old cpp rather than the newer ANSI one.
447   i[345]86-sequent-ptx* )
448     machine=sequent-ptx opsys=ptx
449     NON_GNU_CPP="/lib/cpp"
450   ;;
452   ## Unspecified sysv on an ncr machine defaults to svr4.2.
453   ## (Plain usg5-4 doesn't turn on POSIX signals, which we need.)
454   i[345]86-ncr-sysv* )
455     machine=intel386 opsys=usg5-4-2
456   ;;
458   ## Intel Paragon OSF/1
459   i860-intel-osf1* )
460     machine=paragon opsys=osf1 NON_GNU_CPP=/usr/mach/lib/cpp
461   ;;
463   ## Intel 860
464   i860-*-sysv4* )
465     machine=i860 opsys=usg5-4
466     NON_GNU_CC="/bin/cc" # Ie, not the one in /usr/ucb/cc.
467     NON_GNU_CPP="/usr/ccs/lib/cpp" # cc -E tokenizes macro expansion.
468   ;;
470   ## Masscomp machines
471   m68*-masscomp-rtu* )
472     machine=masscomp opsys=rtu
473   ;;
475   ## Megatest machines
476   m68*-megatest-bsd* )
477     machine=mega68 opsys=bsd4-2
478   ;;
480   ## Workstations sold by MIPS
481   ## This is not necessarily all workstations using the MIPS processor -
482   ## Irises are produced by SGI, and DECstations by DEC.
484   ## etc/MACHINES lists mips.h and mips4.h as possible machine files,
485   ## and usg5-2-2 and bsd4-3 as possible OS files.  The only guidance
486   ## it gives for choosing between the alternatives seems to be "Use
487   ## -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with
488   ## the BSD world."  I'll assume that these are instructions for
489   ## handling two odd situations, and that every other situation
490   ## should use mips.h and usg5-2-2, they being listed first.
491   mips-mips-usg* )
492     machine=mips4
493     ## Fall through to the general code at the bottom to decide on the OS.
494   ;;
495   mips-mips-riscos4* )
496     machine=mips4 opsys=bsd4-3
497     NON_GNU_CC="cc -systype bsd43"
498     NON_GNU_CPP="cc -systype bsd43 -E"
499   ;;
500   mips-mips-bsd* )
501     machine=mips opsys=bsd4-3
502   ;;
503   mips-mips-* )
504     machine=mips opsys=usg5-2-2
505   ;;
507   ## NeXT
508   m68*-next-* | i[345]86-next-* )
509     machine=next opsys=mach2
510   ;;
512   ## The complete machine from National Semiconductor
513   ns32k-ns-genix* )
514     machine=ns32000 opsys=usg5-2
515   ;;
517   ## NCR machines
518   m68*-ncr-sysv2* | m68*-ncr-sysvr2* )
519     machine=tower32 opsys=usg5-2-2
520   ;;
521   m68*-ncr-sysv3* | m68*-ncr-sysvr3* )
522     machine=tower32v3 opsys=usg5-3
523   ;;
525   ## Nixdorf Targon 31
526   m68*-nixdorf-sysv* )
527     machine=targon31 opsys=usg5-2-2
528   ;;
530   ## Nu (TI or LMI)
531   m68*-nu-sysv* )
532     machine=nu opsys=usg5-2
533   ;;
535   ## Plexus
536   m68*-plexus-sysv* )
537     machine=plexus opsys=usg5-2
538   ;;
540   ## Pyramid machines
541   ## I don't really have any idea what sort of processor the Pyramid has,
542   ## so I'm assuming it is its own architecture.
543   pyramid-pyramid-bsd* )
544     machine=pyramid opsys=bsd4-2
545   ;;
547   ## Sequent Balance
548   ns32k-sequent-bsd4.2* )
549     machine=sequent opsys=bsd4-2
550   ;;
551   ns32k-sequent-bsd4.3* )
552     machine=sequent opsys=bsd4-3
553   ;;
555   ## Siemens Nixdorf
556   mips-siemens-sysv* )
557     machine=mips-siemens opsys=usg5-4
558     NON_GNU_CC=/usr/ccs/bin/cc
559     NON_GNU_CPP=/usr/ccs/lib/cpp
560   ;;
562   ## Silicon Graphics machines
563   ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
564   m68*-sgi-iris3.5* )
565     machine=irist opsys=iris3-5
566   ;;
567   m68*-sgi-iris3.6* | m68*-sgi-iris*)
568     machine=irist opsys=iris3-6
569   ;;
570   ## Iris 4D
571   mips-sgi-irix3* )
572     machine=iris4d opsys=irix3-3
573   ;;
574   mips-sgi-irix4* )
575     machine=iris4d opsys=irix4-0
576   ;;
577   mips-sgi-irix5.[01]* )
578     machine=iris4d opsys=irix5-0
579   ;;
580   mips-sgi-irix5* | mips-sgi-irix* )
581     machine=iris4d opsys=irix5-2
582   ;;
584   ## SONY machines
585   m68*-sony-bsd4.2* )
586     machine=news opsys=bsd4-2
587   ;;
588   m68*-sony-bsd4.3* )
589     machine=news opsys=bsd4-3
590   ;;
591   m68*-sony-newsos3* | m68*-sony-news3*)
592     machine=news opsys=bsd4-3
593   ;;
594   mips-sony-bsd* | mips-sony-newsos4* | mips-sony-news4*)
595     machine=news-risc opsys=bsd4-3
596   ;;
597   mips-sony-news* )
598     machine=news-risc opsys=newsos5
599   ;;
601   ## Stride
602   m68*-stride-sysv* )
603     machine=stride opsys=usg5-2
604   ;;
606   ## Suns
607   *-sun-sunos* | *-sun-bsd* | *-sun-solaris* | i[345]86-*-solaris2* | i[345]86-*-sunos5* )
608     case "${canonical}" in
609       m68*-sunos1* )    machine=sun1 ;;
610       m68*-sunos2* )    machine=sun2 ;;
611       m68* )            machine=sun3 ;;
612       i[345]86-sun-sunos[34]* ) machine=sun386 ;;
613       i[345]86-*-* )     machine=intel386 ;;
614       sparc* )          machine=sparc ;;
615       * )               unported=yes ;;
616     esac
617     case "${canonical}" in
618       ## The Sun386 didn't get past 4.0.
619       i[345]86-*-sunos4   ) opsys=sunos4-0 ;;
620       *-sunos4.0*         ) opsys=sunos4-0 ;;
621       *-sunos4.1.3*       ) opsys=sunos4-1-3
622                 NON_GCC_TEST_OPTIONS=-Bstatic
623                 GCC_TEST_OPTIONS=-static
624                 ;;
625       *-sunos4shr*        ) opsys=sunos4shr ;;
626       *-sunos4* | *-sunos ) opsys=sunos4-1
627                 NON_GCC_TEST_OPTIONS=-Bstatic
628                 GCC_TEST_OPTIONS=-static
629                 ;;
630       *-sunos5.3* | *-solaris2.3* )
631                 opsys=sol2-3
632                 NON_GNU_CPP=/usr/ccs/lib/cpp
633                 ;;
634       *-sunos5.4* | *-solaris2.4* )
635                 opsys=sol2-4
636                 NON_GNU_CPP=/usr/ccs/lib/cpp
637                 ;;
638       *-sunos5* | *-solaris* )
639                 opsys=sol2
640                 NON_GNU_CPP=/usr/ccs/lib/cpp
641                 ;;
642       *                   ) opsys=bsd4-2   ;;
643     esac
644   ;;
646   ## Tadpole 68k
647   m68*-tadpole-sysv* )
648     machine=tad68k opsys=usg5-3
649   ;;
651   ## Tahoe machines
652   tahoe-tahoe-bsd4.2* )
653     machine=tahoe opsys=bsd4-2
654   ;;
655   tahoe-tahoe-bsd4.3* )
656     machine=tahoe opsys=bsd4-3
657   ;;
659   ## Tandem Integrity S2
660   mips-tandem-sysv* )
661     machine=tandem-s2 opsys=usg5-3
662   ;;
664   ## Tektronix XD88
665   m88k-tektronix-sysv3* )
666   machine=tekxd88 opsys=usg5-3
667   ;;
669   ## Tektronix 16000 box (6130?)
670   ns16k-tektronix-bsd* )
671     machine=ns16000 opsys=bsd4-2
672   ;;
673   ## Tektronix 4300
674   ## src/m/tek4300.h hints that this is a m68k machine.
675   m68*-tektronix-bsd* )
676     machine=tek4300 opsys=bsd4-3
677   ;;
679   ## Titan P2 or P3
680   ## We seem to have lost the machine-description file titan.h!
681   titan-titan-sysv* )
682     machine=titan opsys=usg5-3
683   ;;
684   
685   ## Ustation E30 (SS5E)
686   m68*-unisys-uniplus* )
687     machine=ustation opsystem=unipl5-2
688   ;;
690   ## Vaxen.
691   vax-dec-* )
692     machine=vax
693     case "${canonical}" in
694       *-bsd4.1* )                                       opsys=bsd4-1 ;;
695       *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* )      opsys=bsd4-2 ;;
696       *-bsd4.3* | *-ultrix* )                           opsys=bsd4-3 ;;
697       *-bsd386* | *-bsdi* )                             opsys=bsd386 ;;
698       *-sysv[01]* | *-sysvr[01]* )                      opsys=usg5-0 ;;
699       *-sysv2* | *-sysvr2* )                            opsys=usg5-2 ;;
700       *-vms* )                                          opsys=vms ;;
701       * )                                               unported=yes
702     esac
703   ;;
705   ## Whitechapel MG1
706   ns16k-whitechapel-* )
707     machine=mg1
708     ## We don't know what sort of OS runs on these; we'll let the
709     ## operating system guessing code below try.
710   ;;
712   ## Wicat
713   m68*-wicat-sysv* )
714     machine=wicat opsys=usg5-2
715   ;;
717   ## Intel 386 machines where we don't care about the manufacturer
718   i[345]86-*-* )
719     machine=intel386
720     case "${canonical}" in
721       *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
722       *-isc2.2* )               opsys=isc2-2 ;;
723       *-isc4.0* )               opsys=isc4-0 ;;
724       *-isc* )                  opsys=isc3-0 ;;
725       *-esix5* )                opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;;
726       *-esix* )                 opsys=esix ;;
727       *-xenix* )                opsys=xenix ;;
728       *-linux* )                opsys=linux ;;
729       *-sco3.2v4* )             opsys=sco4 ; NON_GNU_CPP=/lib/cpp  ;;
730       *-bsd386* | *-bsdi* )     opsys=bsd386 ;;
731       *-386bsd* )               opsys=386bsd ;;
732       *-freebsd* )              opsys=freebsd ;;
733       *-nextstep* )             opsys=mach2 ;;
734       ## Otherwise, we'll fall through to the generic opsys code at the bottom.
735     esac
736   ;;
738   * )
739     unported=yes
740   ;;
741 esac
743 ### If the code above didn't choose an operating system, just choose
744 ### an operating system based on the configuration name.  You really
745 ### only want to use this when you have no idea what the right
746 ### operating system is; if you know what operating systems a machine
747 ### runs, it's cleaner to make it explicit in the case statement
748 ### above.
749 if test x"${opsys}" = x; then
750   case "${canonical}" in
751     *-gnu* )                            opsys=gnu ;;
752     *-bsd4.[01] )                       opsys=bsd4-1 ;;
753     *-bsd4.2 )                          opsys=bsd4-2 ;;
754     *-bsd4.3 )                          opsys=bsd4-3 ;;
755     *-sysv0 | *-sysvr0 )                opsys=usg5-0 ;;
756     *-sysv2 | *-sysvr2 )                opsys=usg5-2 ;;
757     *-sysv2.2 | *-sysvr2.2 )            opsys=usg5-2-2 ;;
758     *-sysv3 | *-sysvr3 )                opsys=usg5-3 ;;
759     *-sysv4 | *-sysvr4 )                opsys=usg5-4 ;;
760     *-sysv4.1 | *-sysvr4.1 )
761         NON_GNU_CPP=/usr/lib/cpp
762         opsys=usg5-4 ;;
763     *-sysv4.2 | *-sysvr4.2 )            opsys=usg5-4-2 ;;
764     * )
765       unported=yes
766     ;;
767   esac
770 changequote([, ])dnl
772 if test $unported = yes; then
773   AC_MSG_ERROR([Emacs hasn't been ported to \`${canonical}' systems.
774 Check \`etc/MACHINES' for recognized configuration names.])
777 machfile="m/${machine}.h"
778 opsysfile="s/${opsys}.h"
781 #### Choose a compiler.
782 test -n "$CC" && cc_specified=yes
784 case ${with_gcc} in
785   "yes" ) CC="gcc" GCC=yes ;;
786   "no"  ) : ${CC=cc} ;;
787   * ) AC_PROG_CC
788 esac
790 # On Suns, sometimes $CPP names a directory.
791 if test -n "$CPP" && test -d "$CPP"; then
792   CPP=
795 #### Some systems specify a CPP to use unless we are using GCC.
796 #### Now that we know whether we are using GCC, we can decide whether
797 #### to use that one.
798 if test "x$NON_GNU_CPP" != x && test x$GCC != xyes && test "x$CPP" = x
799 then
800   CPP="$NON_GNU_CPP"
803 #### Some systems specify a CC to use unless we are using GCC.
804 #### Now that we know whether we are using GCC, we can decide whether
805 #### to use that one.
806 if test "x$NON_GNU_CC" != x && test x$GCC != xyes &&
807   test x$cc_specified != xyes
808 then
809   CC="$NON_GNU_CC"
812 if test x$GCC = xyes && test "x$GCC_TEST_OPTIONS" != x
813 then
814   CC="$CC $GCC_TEST_OPTIONS"
815 fi  
817 if test x$GCC = x && test "x$NON_GCC_TEST_OPTIONS" != x
818 then
819   CC="$CC $NON_GCC_TEST_OPTIONS"
820 fi  
822 #### Some other nice autoconf tests.  If you add a test here which
823 #### should make an entry in src/config.h, don't forget to add an
824 #### #undef clause to src/config.h.in for autoconf to modify.
826 dnl checks for programs
827 AC_PROG_LN_S
828 AC_PROG_CPP
829 AC_PROG_INSTALL
830 AC_PROG_YACC
832 dnl checks for Unix variants
833 AC_AIX
835 dnl checks for header files
836 AC_CHECK_HEADERS(sys/timeb.h sys/time.h unistd.h utime.h)
837 AC_HEADER_STDC
838 AC_HEADER_TIME
839 AC_DECL_SYS_SIGLIST
841 dnl Some systems have utime.h but don't declare the struct anyplace.
842 AC_MSG_CHECKING(for struct utimbuf)
843 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
844 #include <sys/time.h>
845 #include <time.h>
846 #else
847 #ifdef HAVE_SYS_TIME_H
848 #include <sys/time.h>
849 #else
850 #include <time.h>
851 #endif
852 #endif
853 #ifdef HAVE_UTIME_H
854 #include <utime.h>
855 #endif], [static struct utimbuf x; x.actime = x.modtime;],
856   [AC_MSG_RESULT(yes)
857    AC_DEFINE(HAVE_STRUCT_UTIMBUF)],
858   AC_MSG_RESULT(no))
860 dnl checks for typedefs
861 AC_TYPE_SIGNAL
863 AC_MSG_CHECKING(for struct timeval)
864 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
865 #include <sys/time.h>
866 #include <time.h>
867 #else
868 #ifdef HAVE_SYS_TIME_H
869 #include <sys/time.h>
870 #else
871 #include <time.h>
872 #endif
873 #endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
874   [AC_MSG_RESULT(yes)
875    AC_DEFINE(HAVE_TIMEVAL)],
876   AC_MSG_RESULT(no))
878 dnl checks for structure members
879 AC_STRUCT_TM
880 AC_STRUCT_TIMEZONE
882 dnl checks for compiler characteristics
883 AC_C_CONST
885 dnl check for Make feature
886 AC_PROG_MAKE_SET
888 dnl checks for operating system services
889 AC_SYS_LONG_FILE_NAMES
891 #### Choose a window system.
893 AC_PATH_X
894 if test "$no_x" = yes; then
895   window_system=none
896 else
897   window_system=x11
900 if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then
901   LD_SWITCH_X_SITE="-L${x_libraries}"
902   LD_SWITCH_X_SITE_AUX="-R${x_libraries}"
904 if test "${x_includes}" != NONE && test -n "${x_includes}"; then
905   C_SWITCH_X_SITE="-I${x_includes}"
908 if test x"${x_includes}" = x; then
909   bitmapdir=/usr/include/X11/bitmaps
910 else
911   bitmapdir="${x_includes}/bitmaps"
914 case "${window_system}" in
915   x11 )
916     HAVE_X_WINDOWS=yes
917     HAVE_X11=yes
918     case "${with_x_toolkit}" in
919       athena | lucid ) USE_X_TOOLKIT=LUCID ;;   
920       motif ) USE_X_TOOLKIT=MOTIF ;;    
921 dnl      open-look ) USE_X_TOOLKIT=OPEN_LOOK ;; 
922       * ) USE_X_TOOLKIT=none ;;
923     esac
924   ;;
925   none )
926     HAVE_X_WINDOWS=no
927     HAVE_X11=no
928     USE_X_TOOLKIT=none
929   ;;
930 esac
931 X_TOOLKIT_TYPE=$USE_X_TOOLKIT
933 ### If we're using X11, we should use the X menu package.
934 HAVE_X_MENU=no
935 case ${HAVE_X11} in
936   yes ) HAVE_X_MENU=yes ;;
937 esac
939 #### Extract some information from the operating system and machine files.
941 AC_CHECKING([the machine- and system-dependent files to find out
942  - which libraries the lib-src programs will want, and
943  - whether the GNU malloc routines are usable])
945 ### First figure out CFLAGS (which we use for running the compiler here)
946 ### and REAL_CFLAGS (which we use for real compilation).
947 ### The two are the same except on a few systems, where they are made
948 ### different to work around various lossages.  For example,
949 ### GCC 2.5 on Linux needs them to be different because it treats -g
950 ### as implying static linking.
952 ### If the CFLAGS env var is specified, we use that value
953 ### instead of the default.
955 ### It's not important that this name contain the PID; you can't run
956 ### two configures in the same directory and have anything work
957 ### anyway.
958 tempcname="conftest.c"
960 echo '
961 #include "'${srcdir}'/src/'${opsysfile}'"
962 #include "'${srcdir}'/src/'${machfile}'"
963 #ifndef LIBS_MACHINE
964 #define LIBS_MACHINE
965 #endif
966 #ifndef LIBS_SYSTEM
967 #define LIBS_SYSTEM
968 #endif
969 #ifndef C_SWITCH_SYSTEM
970 #define C_SWITCH_SYSTEM
971 #endif
972 #ifndef C_SWITCH_MACHINE
973 #define C_SWITCH_MACHINE
974 #endif
975 configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
976 configure___ c_switch_system=C_SWITCH_SYSTEM
977 configure___ c_switch_machine=C_SWITCH_MACHINE
979 #ifndef LIB_X11_LIB
980 #define LIB_X11_LIB -lX11
981 #endif
983 #ifndef LIBX11_MACHINE
984 #define LIBX11_MACHINE
985 #endif
987 #ifndef LIBX11_SYSTEM
988 #define LIBX11_SYSTEM
989 #endif
990 configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
992 #ifdef UNEXEC
993 configure___ unexec=UNEXEC
994 #else
995 configure___ unexec=unexec.o
996 #endif
998 #ifdef SYSTEM_MALLOC
999 configure___ system_malloc=yes
1000 #else
1001 configure___ system_malloc=no
1002 #endif
1004 #ifndef C_DEBUG_SWITCH
1005 #define C_DEBUG_SWITCH -g
1006 #endif
1008 #ifndef C_OPTIMIZE_SWITCH
1009 #define C_OPTIMIZE_SWITCH -O
1010 #endif
1012 #ifdef THIS_IS_CONFIGURE
1014 /* Get the CFLAGS for tests in configure.  */
1015 #ifdef __GNUC__
1016 configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${CFLAGS}'
1017 #else
1018 configure___ CFLAGS=C_DEBUG_SWITCH '${CFLAGS}'
1019 #endif
1021 #else /* not THIS_IS_CONFIGURE */
1023 /* Get the CFLAGS for real compilation.  */
1024 #ifdef __GNUC__
1025 configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${CFLAGS}'
1026 #else
1027 configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${CFLAGS}'
1028 #endif
1030 #endif /* not THIS_IS_CONFIGURE */
1031 ' > ${tempcname}
1033 # The value of CPP is a quoted variable reference, so we need to do this
1034 # to get its actual value...
1035 CPP=`eval "echo $CPP"`
1036 changequote(, )dnl
1037 eval `${CPP} -Isrc ${tempcname} \
1038        | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
1039 if test "x$CFLAGS" = x; then
1040   eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \
1041          | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
1042 else
1043   REAL_CFLAGS="$CFLAGS"
1045 changequote([, ])dnl
1046 rm ${tempcname}
1048 ### Compute the unexec source name from the object name.
1049 UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
1051 # Do the opsystem or machine files prohibit the use of the GNU malloc?
1052 # Assume not, until told otherwise.
1053 GNU_MALLOC=yes
1054 if test "${system_malloc}" = "yes"; then
1055   GNU_MALLOC=no
1056   GNU_MALLOC_reason="
1057   (The GNU allocators don't work with this system configuration.)"
1060 if test x"${REL_ALLOC}" = x; then
1061   REL_ALLOC=${GNU_MALLOC}
1064 LISP_FLOAT_TYPE=yes
1067 #### Add the libraries to LIBS and check for some functions.
1069 CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS"
1070 LIBS="$libsrc_libs"
1072 dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks,
1073 dnl and also adds -ldnet to LIBS, which Autoconf uses for checks.
1074 AC_CHECK_LIB(dnet, dnet_ntoa)
1075 dnl This causes -lresolv to get used in subsequent tests,
1076 dnl which causes failures on some systems such as HPUX 9.
1077 dnl AC_CHECK_LIB(resolv, gethostbyname)
1079 dnl FIXME replace main with a function we actually want from this library.
1080 AC_CHECK_LIB(Xbsd, main, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd")
1082 AC_MSG_CHECKING(for XFree86)
1083 if test -d /usr/X386/include; then
1084   HAVE_XFREE386=yes
1085   : ${C_SWITCH_X_SITE="-I/usr/X386/include"}
1086 else
1087   HAVE_XFREE386=no
1089 AC_MSG_RESULT($HAVE_XFREE386)
1091 # We change CFLAGS temporarily so that C_SWITCH_X_SITE gets used
1092 # for the tests that follow.
1094 if test "${HAVE_X11}" = "yes"; then
1095   DEFS="$C_SWITCH_X_SITE $DEFS"
1096   LIBS="$LD_SWITCH_X_SITE $LIBX $LIBS"
1097   CFLAGS="$C_SWITCH_X_SITE $CFLAGS"
1098   AC_CHECK_FUNCS(XrmSetDatabase XScreenResourceString \
1099 XScreenNumberOfScreen XSetWMProtocols)
1102 if test "${USE_X_TOOLKIT}" != "none"; then
1103   AC_MSG_CHECKING(X11 toolkit version)
1104   AC_TRY_LINK([#include <X11/Intrinsic.h>],
1105 [#if XtSpecificationRelease < 6
1106 fail;
1107 #endif
1108 ], [AC_MSG_RESULT(6)
1109     AC_DEFINE(HAVE_X11XTR6)],
1110    [AC_MSG_RESULT(not 6)])
1113 # If netdb.h doesn't declare h_errno, we must declare it by hand.
1114 AC_MSG_CHECKING(whether netdb declarares h_errno)
1115 AC_TRY_LINK([#include <netdb.h>],
1116   [return h_errno;],
1117   [AC_MSG_RESULT(yes)
1118    AC_DEFINE(HAVE_H_ERRNO)],
1119   [AC_MSG_RESULT(no)])
1121 AC_FUNC_ALLOCA
1123 # logb and frexp are found in -lm on most systems.
1124 AC_CHECK_LIB(m, logb)
1125 AC_CHECK_FUNCS(gettimeofday gethostname dup2 rename closedir mkdir rmdir \
1126 random lrand48 bcopy bcmp logb frexp fmod drem ftime res_init setsid \
1127 strerror fpathconf select mktime eaccess getpagesize)
1129 ok_so_far=yes
1130 AC_CHECK_FUNC(socket, , ok_so_far=no)
1131 if test $ok_so_far = yes; then
1132   AC_CHECK_HEADER(netinet/in.h, , ok_so_far=no)
1134 if test $ok_so_far = yes; then
1135   AC_CHECK_HEADER(arpa/inet.h, , ok_so_far=no)
1137 if test $ok_so_far = yes; then
1138   AC_DEFINE(HAVE_INET_SOCKETS)
1141 if test -f /usr/lpp/X11/bin/smt.exp; then
1142   AC_DEFINE(HAVE_AIX_SMT_EXP)
1145 # Set up the CFLAGS for real compilation, so we can substitute it.
1146 CFLAGS="$REAL_CFLAGS"
1148 changequote(, )dnl
1149 #### Find out which version of Emacs this is.
1150 version=`grep 'defconst[         ]*emacs-version' ${srcdir}/lisp/version.el \
1151          | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
1152 changequote([, ])dnl
1153 if test x"${version}" = x; then
1154   AC_MSG_ERROR(can't find current emacs version in \`${srcdir}/lisp/version.el'.)
1157 ### Specify what sort of things we'll be editing into Makefile and config.h.
1158 ### Use configuration here uncanonicalized to avoid exceeding size limits.
1159 AC_SUBST(version)
1160 AC_SUBST(configuration)
1161 AC_SUBST(canonical)
1162 AC_SUBST(srcdir)
1163 AC_SUBST(prefix)
1164 AC_SUBST(exec_prefix)
1165 AC_SUBST(bindir)
1166 AC_SUBST(datadir)
1167 AC_SUBST(sharedstatedir)
1168 AC_SUBST(libexecdir)
1169 AC_SUBST(mandir)
1170 AC_SUBST(infodir)
1171 AC_SUBST(lispdir)
1172 AC_SUBST(locallisppath)
1173 AC_SUBST(lisppath)
1174 AC_SUBST(etcdir)
1175 AC_SUBST(lockdir)
1176 AC_SUBST(archlibdir)
1177 AC_SUBST(docdir)
1178 AC_SUBST(bitmapdir)
1179 AC_SUBST(c_switch_system)
1180 AC_SUBST(c_switch_machine)
1181 AC_SUBST(LD_SWITCH_X_SITE)
1182 AC_SUBST(LD_SWITCH_X_SITE_AUX)
1183 AC_SUBST(C_SWITCH_X_SITE)
1184 AC_SUBST(CFLAGS)
1185 AC_SUBST(X_TOOLKIT_TYPE)
1186 AC_SUBST(machfile)
1187 AC_SUBST(opsysfile)
1189 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION,  "${canonical}")
1190 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${config_options}")
1191 AC_DEFINE_UNQUOTED(config_machfile,  "${machfile}")
1192 AC_DEFINE_UNQUOTED(config_opsysfile, "${opsysfile}")
1193 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE})
1194 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, ${LD_SWITCH_X_SITE_AUX})
1195 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE,  ${C_SWITCH_X_SITE})
1196 AC_DEFINE_UNQUOTED(UNEXEC_SRC,       ${UNEXEC_SRC})
1198 if test "${HAVE_X_WINDOWS}" = "yes" ; then
1199   AC_DEFINE(HAVE_X_WINDOWS)
1201 if test "${USE_X_TOOLKIT}" != "none" ; then
1202   AC_DEFINE(USE_X_TOOLKIT)
1204 if test "${HAVE_X11}" = "yes" ; then
1205   AC_DEFINE(HAVE_X11)
1207 if test "${HAVE_XFREE386}" = "yes" ; then
1208   AC_DEFINE(HAVE_XFREE386)
1210 if test "${HAVE_X_MENU}" = "yes" ; then
1211   AC_DEFINE(HAVE_X_MENU)
1213 if test "${GNU_MALLOC}" = "yes" ; then
1214   AC_DEFINE(GNU_MALLOC)
1216 if test "${REL_ALLOC}" = "yes" ; then
1217   AC_DEFINE(REL_ALLOC)
1219 if test "${LISP_FLOAT_TYPE}" = "yes" ; then
1220   AC_DEFINE(LISP_FLOAT_TYPE)
1223 #### Report on what we decided to do.
1224 echo "
1226 Configured for \`${canonical}'.
1228   Where should the build process find the source code?    ${srcdir}
1229   What operating system and machine description files should Emacs use?
1230         \`${opsysfile}' and \`${machfile}'
1231   What compiler should emacs be built with?               ${CC} ${CFLAGS}
1232   Should Emacs use the GNU version of malloc?             ${GNU_MALLOC}${GNU_MALLOC_reason}
1233   Should Emacs use the relocating allocator for buffers?  ${REL_ALLOC}
1234   What window system should Emacs use?                    ${window_system}
1235   What toolkit should Emacs use?                          ${USE_X_TOOLKIT}${x_includes+
1236   Where do we find X Windows header files?                }${x_includes}${x_libraries+
1237   Where do we find X Windows libraries?                   }${x_libraries}
1241 # Remove any trailing slashes in these variables.
1242 changequote(, )dnl
1243 test "${prefix}" != NONE &&
1244   prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'`
1245 test "${exec_prefix}" != NONE &&
1246   exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`
1247 changequote([, ])dnl
1249 AC_OUTPUT(Makefile lib-src/Makefile.in oldXMenu/Makefile \
1250         lwlib/Makefile src/Makefile.in, [
1252 ### Make the necessary directories, if they don't exist.
1253 for dir in ./src ./lib-src ./cpp ./oldXMenu ./lwlib ./etc ; do
1254   if test ! -d ${dir}; then
1255     mkdir ${dir}
1256   fi
1257 done
1259 # Build src/Makefile from ${srcdir}/src/Makefile.in.  This must be done
1260 # after src/config.h is built, since we rely on that file.
1262 changequote(, )dnl The horror, the horror.
1263 # Now get this: Some word that is part of the ${srcdir} directory name
1264 # or the ${configuration} value might, just might, happen to be an
1265 # identifier like `sun4' or `i386' or something, and be predefined by
1266 # the C preprocessor to some helpful value like 1, or maybe the empty
1267 # string.  Needless to say consequent macro substitutions are less
1268 # than conducive to the makefile finding the correct directory.
1269 undefs="`echo $top_srcdir $configuration $canonical |
1270 sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/  *$//' \
1271     -e 's/  */ -U/g' -e 's/-U[0-9][^ ]*//g' \
1273 changequote([, ])dnl
1275 echo creating lib-src/Makefile
1276 ( cd lib-src
1277   rm -f junk.c junk1.c junk2.c
1278   sed -e '/start of cpp stuff/q' \
1279       < Makefile.in > junk1.c
1280   sed -e '1,/start of cpp stuff/d'\
1281       -e 's@/\*\*/#\(.*\)$@/* \1 */@' \
1282       < Makefile.in > junk.c
1283   $CPP $undefs -I. -I$top_srcdir/src $CPPFLAGS junk.c | \
1284       sed -e 's/^ /     /' -e '/^#/d' -e '/^[   \f]*$/d' > junk2.c
1285   cat junk1.c junk2.c > Makefile.new
1286   rm -f junk.c junk1.c junk2.c
1287   chmod 444 Makefile.new
1288   mv -f Makefile.new Makefile
1291 echo creating src/Makefile
1292 ( cd src
1293   rm -f junk.c junk1.c junk2.c
1294   sed -e '/start of cpp stuff/q' \
1295       < Makefile.in > junk1.c
1296   sed -e '1,/start of cpp stuff/d'\
1297       -e 's@/\*\*/#\(.*\)$@/* \1 */@' \
1298       < Makefile.in > junk.c
1299   $CPP $undefs -I. -I$top_srcdir/src $CPPFLAGS junk.c | \
1300       sed -e 's/^ /     /' -e '/^#/d' -e '/^[   \f]*$/d' > junk2.c
1301   cat junk1.c junk2.c > Makefile.new
1302   rm -f junk.c junk1.c junk2.c
1303   chmod 444 Makefile.new
1304   mv -f Makefile.new Makefile
1306 ], [CPP="$CPP" CPPFLAGS="$CPPFLAGS"])