add comment about srcdir
[bpt/emacs.git] / configure.in
CommitLineData
9ec10b2f
DM
1dnl This is an autoconf script.
2dnl To rebuild the `configure' script from this, execute the command
3dnl autoconf
4dnl in the directory containing this script.
530ce502 5AC_PREREQ(1.111)dnl
9ec10b2f
DM
6AC_INIT(src/lisp.h)
7AC_CONFIG_HEADER(src/config.h)
8
9bindir='${exec_prefix}/bin'
10datadir='${prefix}/lib'
11statedir='${prefix}/lib'
12libdir='${exec_prefix}/lib'
13mandir='${prefix}/man/man1'
14infodir='${prefix}/info'
15lispdir='${datadir}/emacs/${version}/lisp'
16locallisppath='${datadir}/emacs/site-lisp'
17lisppath='${locallisppath}:${lispdir}'
18etcdir='${datadir}/emacs/${version}/etc'
19lockdir='${statedir}/emacs/lock'
20archlibdir='${libdir}/emacs/${version}/${configuration}'
21docdir='${datadir}/emacs/${version}/etc'
22
39a7c455
DM
23AC_ARG_WITH(gcc,
24[ --with-gcc Use GCC to compile Emacs])
9ec10b2f
DM
25AC_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 ;;
2e71ec17
DM
32dnl These don't currently work.
33dnl m | mo | mot | moti | motif ) val=motif ;;
34dnl o | op | ope | open | open- | open-l | open-lo \
35dnl | open-loo | open-look ) val=open-look ;;
9ec10b2f 36 * )
2e71ec17
DM
37dnl AC_MSG_ERROR([the \`--with-x-toolkit' option is supposed to have a value
38dnl which is \`yes', \`no', \`lucid', \`athena', \`motif' or \`open-look'.])
9ec10b2f
DM
39AC_MSG_ERROR([the \`--with-x-toolkit' option is supposed to have a value
40which is \`yes', \`no', \`lucid', or \`athena'.
41Currently, \`yes', \`athena' and \`lucid' are synonyms.])
42 ;;
43 esac
44 with_x_toolkit=$val
45])
2e71ec17
DM
46dnl AC_ARG_ENABLE(single-tree,
47dnl [ --enable-single-tree Create a directory tree at DIR which looks like:
48dnl .../DIR/bin/CONFIGNAME (emacs, etags, etc.)
49dnl .../DIR/bin/CONFIGNAME/etc (movemail, etc.)
50dnl .../DIR/common/lisp (emacs' lisp files)
51dnl .../DIR/common/site-lisp (local lisp files)
52dnl .../DIR/common/lib (DOC, TUTORIAL, etc.)
53dnl .../DIR/common/lock (lockfiles)])
9ec10b2f
DM
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
069df4bf
DM
57#### give you automounter prefixes, which can go away. We do all this
58#### so Emacs can find its files when run uninstalled.
9ec10b2f
DM
59case "${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)`" ;;
72esac
73
74#### Check if the source directory already has a configured system in it.
75if 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\
85vpath %.c $(srcdir)\
86vpath %.h $(srcdir)\
87vpath %.y $(srcdir)\
88vpath %.l $(srcdir)\
89vpath %.s $(srcdir)\
90vpath %.in $(srcdir)'
91fi
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
98AC_CANONICAL_HOST
99canonical=$host
7bbbba31 100configuration=$host_alias
9ec10b2f
DM
101
102changequote(, )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
127machine='' opsys='' unported=no
128case "${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 ;;
046545ec 385 rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1* )
9ec10b2f
DM
386 machine=ibmrs6000 opsys=aix3-1
387 ;;
046545ec 388 rs6000-ibm-aix3.2.5 | powerpc-ibm-aix3.2.5 )
9ec10b2f
DM
389 machine=ibmrs6000 opsys=aix3-2-5
390 ;;
046545ec 391 rs6000-ibm-aix* | powerpc-ibm-aix* )
9ec10b2f
DM
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 ;;
720esac
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.
728if 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
747fi
748
749changequote([, ])dnl
750
751if test $unported = yes; then
752 AC_MSG_ERROR([Emacs hasn't been ported to \`${canonical}' systems.
753Check \`etc/MACHINES' for recognized configuration names.])
754fi
755
756machfile="m/${machine}.h"
757opsysfile="s/${opsys}.h"
758
759
760#### Choose a compiler.
761test -n "$CC" && cc_specified=yes
762
763case ${with_gcc} in
764 "yes" ) CC="gcc" GCC=yes ;;
765 "no" ) test -z "$CC" && CC=cc ;;
766 * ) AC_PROG_CC
767esac
768
769# On Suns, sometimes $CPP names a directory.
770if test -n "$CPP" && test -d "$CPP"; then
771 CPP=
772fi
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.
777if test "x$NON_GNU_CPP" != x && test x$GCC != xyes && test "x$CPP" = x
778then
779 CPP="$NON_GNU_CPP"
780fi
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.
785if test "x$NON_GNU_CC" != x && test x$GCC != xyes &&
786 test x$cc_specified != xyes
787then
788 CC="$NON_GNU_CC"
789fi
790
791if test x$GCC = xyes && test "x$GCC_TEST_OPTIONS" != x
792then
793 CC="$CC $GCC_TEST_OPTIONS"
794fi
795
796if test x$GCC = x && test "x$NON_GCC_TEST_OPTIONS" != x
797then
798 CC="$CC $NON_GCC_TEST_OPTIONS"
799fi
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
805dnl checks for programs
806AC_LN_S
807AC_PROG_CPP
808AC_PROG_INSTALL
809AC_PROG_YACC
810
811dnl checks for header files
812AC_HAVE_HEADERS(sys/timeb.h sys/time.h unistd.h)
813AC_STDC_HEADERS
814AC_TIME_WITH_SYS_TIME
815AC_SYS_SIGLIST_DECLARED
816
817dnl checks for typedefs
818AC_RETSIGTYPE
819
820dnl checks for structure members
821AC_STRUCT_TM
822AC_TIMEZONE
823
824dnl checks for compiler characteristics
825AC_CONST
826
827dnl check for Make feature
828AC_SET_MAKE
829
830dnl checks for operating system services
831AC_LONG_FILE_NAMES
832
833dnl other checks for UNIX variants
834
835#### Choose a window system.
9ec10b2f 836
530ce502
DM
837AC_FIND_X
838if test "$no_x" = yes; then
839 window_system=none
840else
841 window_system=x11
842fi
9ec10b2f 843
9ec10b2f
DM
844test "${x_libraries}" != NONE && LD_SWITCH_X_SITE="-L${x_libraries}"
845test "${x_libraries}" != NONE && LD_SWITCH_X_SITE_AUX="-R${x_libraries}"
846test "${x_includes}" != NONE && C_SWITCH_X_SITE="-I${x_includes}"
847
9ec10b2f
DM
848case "${window_system}" in
849 x11 )
850 HAVE_X_WINDOWS=yes
851 HAVE_X11=yes
852 case "${with_x_toolkit}" in
853 athena | lucid ) USE_X_TOOLKIT=LUCID ;;
2e71ec17
DM
854dnl motif ) USE_X_TOOLKIT=MOTIF ;;
855dnl open-look ) USE_X_TOOLKIT=OPEN_LOOK ;;
9ec10b2f
DM
856 * ) USE_X_TOOLKIT=none ;;
857 esac
858 ;;
9ec10b2f
DM
859 none )
860 HAVE_X_WINDOWS=no
861 HAVE_X11=no
862 USE_X_TOOLKIT=none
863 ;;
864esac
865X_TOOLKIT_TYPE=$USE_X_TOOLKIT
866
867### If we're using X11, we should use the X menu package.
868HAVE_X_MENU=no
869case ${HAVE_X11} in
870 yes ) HAVE_X_MENU=yes ;;
871esac
872
873#### Extract some information from the operating system and machine files.
874
875AC_CHECKING([the machine- and system-dependent files to find out
876 - which libraries the lib-src programs will want, and
877 - whether the GNU malloc routines are usable])
878
879### First figure out CFLAGS (which we use for running the compiler here)
880### and REAL_CFLAGS (which we use for real compilation).
881### The two are the same except on a few systems, where they are made
882### different to work around various lossages. For example,
883### GCC 2.5 on Linux needs them to be different because it treats -g
884### as implying static linking.
885
886### If the CFLAGS env var is specified, we use that value
887### instead of the default.
888
889### It's not important that this name contain the PID; you can't run
890### two configures in the same directory and have anything work
891### anyway.
892tempcname="conftest.c"
893
894echo '
895#include "'${srcdir}'/src/'${opsysfile}'"
896#include "'${srcdir}'/src/'${machfile}'"
897#ifndef LIBS_MACHINE
898#define LIBS_MACHINE
899#endif
900#ifndef LIBS_SYSTEM
901#define LIBS_SYSTEM
902#endif
903#ifndef C_SWITCH_SYSTEM
904#define C_SWITCH_SYSTEM
905#endif
906#ifndef C_SWITCH_MACHINE
907#define C_SWITCH_MACHINE
908#endif
909configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
910configure___ c_switch_system=C_SWITCH_SYSTEM
911configure___ c_switch_machine=C_SWITCH_MACHINE
912
913#ifndef LIB_X11_LIB
914#define LIB_X11_LIB -lX11
915#endif
916
917#ifndef LIBX11_MACHINE
918#define LIBX11_MACHINE
919#endif
920
921#ifndef LIBX11_SYSTEM
922#define LIBX11_SYSTEM
923#endif
924configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
925
926#ifdef UNEXEC
927configure___ unexec=UNEXEC
928#else
929configure___ unexec=unexec.o
930#endif
931
932#ifdef SYSTEM_MALLOC
933configure___ system_malloc=yes
934#else
935configure___ system_malloc=no
936#endif
937
938#ifndef C_DEBUG_SWITCH
939#define C_DEBUG_SWITCH -g
940#endif
941
942#ifndef C_OPTIMIZE_SWITCH
943#define C_OPTIMIZE_SWITCH -O
944#endif
945
946#ifdef THIS_IS_CONFIGURE
947
948/* Get the CFLAGS for tests in configure. */
949#ifdef __GNUC__
950configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${CFLAGS}'
951#else
952configure___ CFLAGS=C_DEBUG_SWITCH '${CFLAGS}'
953#endif
954
955#else /* not THIS_IS_CONFIGURE */
956
957/* Get the CFLAGS for real compilation. */
958#ifdef __GNUC__
959configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${CFLAGS}'
960#else
961configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${CFLAGS}'
962#endif
963
964#endif /* not THIS_IS_CONFIGURE */
965' > ${tempcname}
966
967# The value of CPP is a quoted variable reference, so we need to do this
968# to get its actual value...
969CPP=`eval "echo $CPP"`
970changequote(, )dnl
971eval `${CPP} -Isrc ${tempcname} \
972 | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
973if test "x$CFLAGS" = x; then
974 eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \
975 | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
976else
977 REAL_CFLAGS="$CFLAGS"
978fi
979changequote([, ])dnl
980rm ${tempcname}
981
982### Compute the unexec source name from the object name.
983UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
984
985# Do the opsystem or machine files prohibit the use of the GNU malloc?
986# Assume not, until told otherwise.
987GNU_MALLOC=yes
988if test "${system_malloc}" = "yes"; then
989 GNU_MALLOC=no
990 GNU_MALLOC_reason="
991 (The GNU allocators don't work with this system configuration.)"
992fi
993
994if test x"${REL_ALLOC}" = x; then
995 REL_ALLOC=${GNU_MALLOC}
996fi
997
998LISP_FLOAT_TYPE=yes
999
1000
1001#### Add the libraries to LIBS and check for some functions.
1002
1003CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS"
1004LIBS="$libsrc_libs"
1005
1006dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks,
1007dnl and also adds -ldnet to LIBS, which Autoconf uses for checks.
1008AC_CHECK_LIB(dnet, dnet_ntoa)
1009dnl This causes -lresolv to get used in subsequent tests,
1010dnl which causes failures on some systems such as HPUX 9.
1011dnl AC_CHECK_LIB(resolv, gethostbyname)
1012
1013dnl FIXME replace main with a function we actually want from this library.
1014AC_CHECK_LIB(Xbsd, main, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd")
1015
1016AC_MSG_CHECKING(for XFree86)
1017if test -d /usr/X386/include; then
1018 AC_MSG_RESULT(yes)
1019 HAVE_XFREE386=yes
1020 test -z "${C_SWITCH_X_SITE}" && C_SWITCH_X_SITE="-I/usr/X386/include"
1021else
1022 AC_MSG_RESULT(no)
1023fi
1024
1025# We change CFLAGS temporarily so that C_SWITCH_X_SITE gets used
1026# for the tests that follow.
1027
1028if test "${HAVE_X11}" = "yes"; then
1029 DEFS="$C_SWITCH_X_SITE $DEFS"
1030 LIBS="$LD_SWITCH_X_SITE $LIBX $LIBS"
1031 CFLAGS="$C_SWITCH_X_SITE $CFLAGS"
1032 AC_HAVE_FUNCS(XrmSetDatabase XScreenResourceString \
1033XScreenNumberOfScreen XSetWMProtocols)
1034fi
1035
1036if test "${USE_X_TOOLKIT}" != "none"; then
1037 AC_MSG_CHECKING(X11 toolkit version)
1038 AC_COMPILE_CHECK(, [#include <X11/Intrinsic.h>],
1039[#if XtSpecificationRelease < 6
1040fail;
1041#endif
1042], [AC_MSG_RESULT(6)
1043 AC_DEFINE(HAVE_X11XTR6)],
1044 [AC_MSG_RESULT(not 6)])
1045fi
1046
1047# If netdb.h doesn't declare h_errno, we must declare it by hand.
1048AC_MSG_CHECKING(whether netdb declarares h_errno)
1049AC_COMPILE_CHECK(, [#include <netdb.h>],
1050[int
1051foo ()
1052{
1053 return h_errno;
1054}
1055], [AC_MSG_RESULT(yes)
1056 AC_DEFINE(HAVE_H_ERRNO)],
1057 [AC_MSG_RESULT(no)])
1058
1059AC_ALLOCA
1060
1061# logb and frexp are found in -lm on most systems.
1062AC_CHECK_LIB(m, logb)
1063AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename closedir mkdir rmdir \
046545ec 1064random lrand48 bcopy bcmp logb frexp fmod drem ftime res_init setsid strerror \
9ec10b2f
DM
1065fpathconf)
1066
1067ok_so_far=yes
1068AC_FUNC_CHECK(socket, , ok_so_far=no)
1069if test $ok_so_far = yes; then
1070 AC_HEADER_CHECK(netinet/in.h, , ok_so_far=no)
1071fi
1072if test $ok_so_far = yes; then
1073 AC_HEADER_CHECK(arpa/inet.h, , ok_so_far=no)
1074fi
1075if test $ok_so_far = yes; then
1076 AC_DEFINE(HAVE_INET_SOCKETS)
1077fi
1078
7bbbba31
DM
1079if test -f /usr/lpp/X11/bin/smt.exp; then
1080 AC_DEFINE(HAVE_AIX_SMT_EXP)
1081fi
1082
9ec10b2f
DM
1083# Set up the CFLAGS for real compilation, so we can substitute it.
1084CFLAGS="$REAL_CFLAGS"
1085
1086changequote(, )dnl
1087#### Find out which version of Emacs this is.
1088version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \
1089 | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
1090changequote([, ])dnl
1091if test x"${version}" = x; then
1092 AC_MSG_ERROR(can't find current emacs version in \`${srcdir}/lisp/version.el'.)
1093fi
1094
9ec10b2f
DM
1095### Specify what sort of things we'll be editing into Makefile and config.h.
1096### Use configuration here uncanonicalized to avoid exceeding size limits.
1097AC_SUBST(version)
1098AC_SUBST(configuration)
1099AC_SUBST(srcdir)
1100AC_SUBST(prefix)
1101AC_SUBST(exec_prefix)
1102AC_SUBST(bindir)
1103AC_SUBST(datadir)
1104AC_SUBST(statedir)
1105AC_SUBST(libdir)
1106AC_SUBST(mandir)
1107AC_SUBST(infodir)
1108AC_SUBST(lispdir)
1109AC_SUBST(locallisppath)
1110AC_SUBST(lisppath)
1111AC_SUBST(etcdir)
1112AC_SUBST(lockdir)
1113AC_SUBST(archlibdir)
1114AC_SUBST(docdir)
1115AC_SUBST(c_switch_system)
1116AC_SUBST(c_switch_machine)
1117AC_SUBST(LD_SWITCH_X_SITE)
1118AC_SUBST(LD_SWITCH_X_SITE_AUX)
1119AC_SUBST(C_SWITCH_X_SITE)
1120AC_SUBST(CFLAGS)
1121AC_SUBST(X_TOOLKIT_TYPE)
1122AC_SUBST(machfile)
1123AC_SUBST(opsysfile)
1124
1125AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${configuration}")
1126AC_DEFINE_UNQUOTED(config_machfile, "${machfile}")
1127AC_DEFINE_UNQUOTED(config_opsysfile, "${opsysfile}")
1128AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE})
1129AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, ${LD_SWITCH_X_SITE_AUX})
1130AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, ${C_SWITCH_X_SITE})
1131AC_DEFINE_UNQUOTED(UNEXEC_SRC, ${UNEXEC_SRC})
1132
1133if test "${HAVE_X_WINDOWS}" = "yes" ; then
1134 AC_DEFINE(HAVE_X_WINDOWS)
1135fi
1136if test "${USE_X_TOOLKIT}" != "none" ; then
1137 AC_DEFINE(USE_X_TOOLKIT)
1138fi
1139if test "${HAVE_X11}" = "yes" ; then
1140 AC_DEFINE(HAVE_X11)
1141fi
1142if test "${HAVE_XFREE386}" = "yes" ; then
1143 AC_DEFINE(HAVE_XFREE386)
1144fi
1145if test "${HAVE_X_MENU}" = "yes" ; then
1146 AC_DEFINE(HAVE_X_MENU)
1147fi
1148if test "${GNU_MALLOC}" = "yes" ; then
1149 AC_DEFINE(GNU_MALLOC)
1150fi
1151if test "${REL_ALLOC}" = "yes" ; then
1152 AC_DEFINE(REL_ALLOC)
1153fi
1154if test "${LISP_FLOAT_TYPE}" = "yes" ; then
1155 AC_DEFINE(LISP_FLOAT_TYPE)
1156fi
1157
2e71ec17
DM
1158dnl # ====================== Developer's configuration =======================
1159dnl
1160dnl # The following assignments make sense if you're running Emacs on a single
1161dnl # machine, one version at a time, and you want changes to the lisp and etc
1162dnl # directories in the source tree to show up immediately in your working
1163dnl # environment. It saves a great deal of disk space by not duplicating the
1164dnl # lisp and etc directories.
1165dnl
1166dnl if test "$enable_single_tree" = "yes"; then
1167dnl bindir='${exec_prefix}/bin/${configuration}'
1168dnl datadir='${prefix}/common'
1169dnl statedir='${prefix}/common'
1170dnl libdir='${bindir}'
1171dnl lispdir='${prefix}/common/lisp'
1172dnl locallisppath='${prefix}/common/site-lisp'
1173dnl lockdir='${prefix}/common/lock'
1174dnl archlibdir='${libdir}/etc'
1175dnl etcdir='${prefix}/common/data'
1176dnl docdir='${prefix}/common/data'
1177dnl fi
9ec10b2f
DM
1178
1179#### Report on what we decided to do.
1180echo "
1181
1182Configured for \`${canonical}'.
1183
1184 Where should the build process find the source code? ${srcdir}
1185 What operating system and machine description files should Emacs use?
1186 \`${opsysfile}' and \`${machfile}'
1187 What compiler should emacs be built with? ${CC} ${CFLAGS}
1188 Should Emacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason}
1189 Should Emacs use the relocating allocator for buffers? ${REL_ALLOC}
1190 What window system should Emacs use? ${window_system}
1191 What toolkit should Emacs use? ${USE_X_TOOLKIT}${x_includes+
1192 Where do we find X Windows header files? }${x_includes}${x_libraries+
1193 Where do we find X Windows libraries? }${x_libraries}
1194
1195"
1196
1197# Remove any trailing slashes in these variables.
1198changequote(, )dnl
1199test "${prefix}" != NONE &&
1200 prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'`
1201test "${exec_prefix}" != NONE &&
1202 exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`
1203changequote([, ])dnl
1204
ea50c238
DM
1205AC_OUTPUT(Makefile lib-src/Makefile.in oldXMenu/Makefile \
1206 lwlib/Makefile src/Makefile.in, [
7bbbba31 1207
9ec10b2f
DM
1208### Make the necessary directories, if they don't exist.
1209for dir in ./src ./lib-src ./cpp ./oldXMenu ./lwlib ./etc ; do
1210 if test ! -d ${dir}; then
1211 mkdir ${dir}
1212 fi
1213done
1214
1215# Build src/Makefile from ${srcdir}/src/Makefile.in. This must be done
1216# after src/config.h is built, since we rely on that file.
1217
1218changequote(,)dnl The horror, the horror.
1219# Now get this: Some word that is part of the ${srcdir} directory name
1220# or the ${configuration} value might, just might, happen to be an
1221# identifier like `sun4' or `i386' or something, and be predefined by
1222# the C preprocessor to some helpful value like 1, or maybe the empty
1223# string. Needless to say consequent macro substitutions are less
1224# than conducive to the makefile finding the correct directory.
1225undefs="`echo $top_srcdir $configuration $canonical |
1226sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/ *$//' \
1227 -e 's/ */ -U/g' -e 's/-U[0-9][^ ]*//g' \
1228`"
1229changequote([,])dnl
1230
1231echo creating lib-src/Makefile
1232( cd lib-src
1233 rm -f junk.c junk1.c junk2.c
1234 sed -e '/start of cpp stuff/q' \
1235 < Makefile.in > junk1.c
1236 sed -e '1,/start of cpp stuff/d'\
1237 -e 's@/\*\*/#\(.*\)$@/* \1 */@' \
1238 < Makefile.in > junk.c
1239 $CPP $undefs -I. -I$top_srcdir/src $CPPFLAGS junk.c | \
1240 sed -e 's/^ / /' -e '/^#/d' -e '/^[ \f]*$/d' > junk2.c
1241 cat junk1.c junk2.c > Makefile.new
1242 rm -f junk.c junk1.c junk2.c
1243 chmod 444 Makefile.new
1244 mv -f Makefile.new Makefile
1245)
1246
1247echo creating src/Makefile
1248( cd src
1249 rm -f junk.c junk1.c junk2.c
1250 sed -e '/start of cpp stuff/q' \
1251 < Makefile.in > junk1.c
1252 sed -e '1,/start of cpp stuff/d'\
1253 -e 's@/\*\*/#\(.*\)$@/* \1 */@' \
1254 < Makefile.in > junk.c
1255 $CPP $undefs -I. -I$top_srcdir/src $CPPFLAGS junk.c | \
1256 sed -e 's/^ / /' -e '/^#/d' -e '/^[ \f]*$/d' > junk2.c
1257 cat junk1.c junk2.c > Makefile.new
1258 rm -f junk.c junk1.c junk2.c
1259 chmod 444 Makefile.new
1260 mv -f Makefile.new Makefile
1261)
ea50c238 1262], [CPP="$CPP" CPPFLAGS="$CPPFLAGS"])