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