/[gxemul]/upstream/0.3.3.1/configure
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /upstream/0.3.3.1/configure

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7 - (show annotations)
Mon Oct 8 16:18:14 2007 UTC (16 years, 6 months ago) by dpavlin
File size: 34372 byte(s)
0.3.3.1
1 #!/bin/sh
2 ###############################################################################
3 #
4 # Copyright (C) 2003-2005 Anders Gavare. All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions are met:
8 #
9 # 1. Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
14 # 3. The name of the author may not be used to endorse or promote products
15 # derived from this software without specific prior written permission.
16 #
17 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 # SUCH DAMAGE.
28 #
29 #
30 # $Id: configure,v 1.132 2005/06/04 12:05:50 debug Exp $
31 #
32 # This is a minimal configure script, hardcoded for GXemul. This script
33 # figures out which compiler flags will work, and creates Makefiles in
34 # sub-directories. A config.h file is also created.
35 #
36 #
37 # ---> FOR NORMAL USE, JUST RUN ./configure WITHOUT OPTIONS!
38 #
39 #
40 # To compile the emulator with profiling (during development), use
41 # CFLAGS="-pg", run the emulator, and then run 'gprof gxemul' and study
42 # the results.
43 #
44 #
45 # The main things that are detected by this script:
46 #
47 # o) special hacks for some OSes
48 # o) which compiler to use (overridden by setting CC)
49 # o) which compiler flags to use (overridden by setting CFLAGS)
50 # o) X11 flags and libraries (TODO: should be possible to override)
51 # o) binary translation (on supported platforms)
52 # o) prefetch capability (TODO: this is assumed on Alpha, but not all
53 # Alphas have it...)
54 #
55 ###############################################################################
56
57 ENABLEALPHA=NO
58 ENABLEARM=NO
59 ENABLEHPPA=NO
60 ENABLEMIPS=YES
61 ENABLEPPC=YES
62 ENABLESPARC=NO
63 ENABLEURISC=YES
64 ENABLEX86=NO
65 STABLE=YES
66
67 if [ z"$*" != z ]; then
68 # Parse command line options:
69 for a in $*; do
70 if [ z$a = z--disable-x ]; then
71 NOX11=YES
72 else if [ z$a = z--always32 ]; then
73 ALWAYS32=YES
74 else if [ z$a = z--disable-bintrans ]; then
75 NOBINTRANS=YES
76 else if [ z$a = z--enable-bintrans ]; then
77 NOBINTRANS=NO
78 else if [ z$a = z--disable-mips16 ]; then
79 MIPS16=NO
80 else if [ z$a = z--enable-mips16 ]; then
81 MIPS16=YES
82 else if [ z$a = z--disable-alpha ]; then
83 ENABLEALPHA=NO
84 else if [ z$a = z--enable-alpha ]; then
85 ENABLEALPHA=YES
86 else if [ z$a = z--disable-arm ]; then
87 ENABLEARM=NO
88 else if [ z$a = z--enable-arm ]; then
89 ENABLEARM=YES
90 else if [ z$a = z--disable-hppa ]; then
91 ENABLEHPPA=NO
92 else if [ z$a = z--enable-hppa ]; then
93 ENABLEHPPA=YES
94 else if [ z$a = z--disable-mips ]; then
95 ENABLEMIPS=NO
96 else if [ z$a = z--enable-mips ]; then
97 ENABLEMIPS=YES
98 else if [ z$a = z--disable-ppc ]; then
99 ENABLEPPC=NO
100 else if [ z$a = z--enable-ppc ]; then
101 ENABLEPPC=YES
102 else if [ z$a = z--disable-sparc ]; then
103 ENABLESPARC=NO
104 else if [ z$a = z--enable-sparc ]; then
105 ENABLESPARC=YES
106 else if [ z$a = z--disable-urisc ]; then
107 ENABLEURISC=NO
108 else if [ z$a = z--enable-urisc ]; then
109 ENABLEURISC=YES
110 else if [ z$a = z--disable-x86 ]; then
111 ENABLEX86=NO
112 else if [ z$a = z--enable-x86 ]; then
113 ENABLEX86=YES
114 else if [ z$a = z--disable-delays ]; then
115 DELAYS=NO
116 else if [ z$a = z--enable-delays ]; then
117 DELAYS=YES
118 else if [ z$a = z--disable-caches ]; then
119 CACHES=NO
120 else if [ z$a = z--enable-caches ]; then
121 CACHES=YES
122 else if [ z$a = z--help ]; then
123 echo "usage: $0 [options]"
124 printf "\nDevelopment (debug) options:\n"
125 echo " --always32 enable" \
126 "ALWAYS_SIGNEXTEND_32 (for hunting down"
127 echo " 32/64-bit bugs)"
128 printf "\nGeneral options:\n"
129 echo " --disable-bintrans configure without" \
130 "bintrans, even if the host supports it"
131 printf " --enable-caches enable cache emulation"
132 printf " (BUGGY)\n"
133 echo " --enable-delays enable instruction" \
134 "latency/delay emulation"
135 echo " --disable-x don't include X11 support"
136 printf "\nCPU selection options:\n"
137 if [ z$STABLE = zNO ]; then
138 printf " --enable-alpha "
139 printf "enable Alpha CPU emulation"
140 printf " (NOT YET)\n"
141 printf " --enable-arm "
142 printf "enable ARM CPU emulation"
143 printf " (NOT YET)\n"
144 printf " --enable-hppa "
145 printf "enable HPPA CPU emulation"
146 printf " (NOT YET)\n"
147 fi
148 echo " --disable-mips disable MIPS CPU emulation"
149 echo " --disable-ppc disable PPC CPU emulation"
150 if [ z$STABLE = zNO ]; then
151 printf " --enable-sparc "
152 printf "enable SPARC CPU emulation"
153 printf " (NOT YET)\n"
154 fi
155 echo " --disable-urisc disable URISC CPU emulation"
156 if [ z$STABLE = zNO ]; then
157 printf " --enable-x86 "
158 printf "enable x86 CPU emulation"
159 printf " (NOT YET)\n"
160 fi
161 printf "\nMIPS-specific options:\n"
162 printf " --enable-mips16 enable MIPS16 instruction"
163 printf " support (NOT YET)\n\n"
164 exit
165 else
166 echo "Invalid option: $a"
167 echo "Run $0 --help to get a list of" \
168 "available options."
169 exit
170 fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi
171 fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi
172 done
173 fi
174
175
176 ###############################################################################
177 #
178 # Configure options:
179 #
180 # This creates a config.h file, which is then included from include/misc.h.
181 #
182 ###############################################################################
183
184 # Head of config.h:
185 printf "/*
186 * THIS FILE IS AUTOMATICALLY CREATED BY configure!
187 * DON'T EDIT THIS FILE MANUALLY, IT WILL BE OVERWRITTEN.
188 */
189 \n#ifndef CONFIG_H\n#define CONFIG_H\n\n" > config.h
190
191
192 # Figure out if VERSION should be defined.
193 X=`basename \`pwd\`|cut -d \- -f 2-`
194 if [ z"$X" = zgxemul ]; then
195 echo '# No VERSION defined.' >> _Makefile.header
196 else
197 printf "#define VERSION \"$X\"\n" >> config.h
198 fi
199
200
201 ZZ=`echo compiled on \`uname\`/\`uname -m\`, \`date\``
202 printf "#define COMPILE_DATE \"$ZZ\"\n" >> config.h
203
204
205
206 # Support for various CPU types:
207 if [ z$MIPS16 = zYES ]; then
208 printf 'Enabling MIPS16 support. '
209 printf 'NOTE: MIPS16 support is not really working yet.\n'
210 printf "#define ENABLE_MIPS16\n" >> config.h
211 fi
212 if [ z$ENABLEALPHA = zYES ]; then
213 printf "#define ENABLE_ALPHA\n" >> config.h
214 if [ z$STABLE = zNO ]; then
215 printf "\nWARNING: Alpha emulation enabled, but it isn't really"
216 printf " implemented yet.\n\n"
217 else
218 printf "Not in the stable release.\n"
219 exit
220 fi
221 fi
222 if [ z$ENABLEARM = zYES ]; then
223 printf "#define ENABLE_ARM\n" >> config.h
224 if [ z$STABLE = zNO ]; then
225 printf "\nWARNING: ARM emulation enabled, but it isn't really"
226 printf " implemented yet.\n\n"
227 else
228 printf "Not in the stable release.\n"
229 exit
230 fi
231 fi
232 if [ z$ENABLEHPPA = zYES ]; then
233 printf "#define ENABLE_HPPA\n" >> config.h
234 if [ z$STABLE = zNO ]; then
235 printf "\nWARNING: HPPA emulation enabled, but it isn't really"
236 printf " implemented yet.\n\n"
237 else
238 printf "Not in the stable release.\n"
239 exit
240 fi
241 fi
242 if [ z$ENABLEMIPS = zYES ]; then
243 printf "#define ENABLE_MIPS\n" >> config.h
244 fi
245 if [ z$ENABLEPPC = zYES ]; then
246 printf "#define ENABLE_PPC\n" >> config.h
247 fi
248 if [ z$ENABLESPARC = zYES ]; then
249 printf "#define ENABLE_SPARC\n" >> config.h
250 if [ z$STABLE = zNO ]; then
251 printf "\nWARNING: SPARC emulation enabled, but it isn't really"
252 printf " implemented yet.\n\n"
253 else
254 printf "Not in the stable release.\n"
255 exit
256 fi
257 fi
258 if [ z$ENABLEURISC = zYES ]; then
259 printf "#define ENABLE_URISC\n" >> config.h
260 fi
261 if [ z$ENABLEX86 = zYES ]; then
262 printf "#define ENABLE_X86\n" >> config.h
263 if [ z$STABLE = zNO ]; then
264 printf "\nWARNING: X86 emulation enabled, but it isn't really"
265 printf " working yet.\n\n"
266 else
267 printf "Not in the stable release.\n"
268 exit
269 fi
270 fi
271
272
273 # Instruction delay/latency emulation:
274 if [ z$DELAYS = zYES ]; then
275 echo 'Enabling Instruction delay/latency emulation.'
276 printf "#define ENABLE_INSTRUCTION_DELAYS\n" >> config.h
277 fi
278
279
280 # Instruction delay/latency emulation:
281 if [ z$ALWAYS32 = zYES ]; then
282 echo 'Enabling ALWAYS_SIGNEXTEND_32. (NOTE:' \
283 'This slows down everything.)'
284 printf "#define ALWAYS_SIGNEXTEND_32\n" >> config.h
285 fi
286
287
288 # Cache emulation:
289 if [ z$CACHES = zYES ]; then
290 echo 'Enabling Cache emulation. (EXPERIMENTAL)'
291 printf "#define ENABLE_CACHE_EMULATION\n" >> config.h
292
293 if [ z$DELAYS != zYES ]; then
294 printf 'WARNING: Cache emulation without instruction '
295 printf 'delay/latency emulation\n'
296 printf ' (--delays) will not produce correct '
297 printf 'cache miss penalties and such.\n'
298 fi
299
300 printf "\nNOTE: Cache emulation enabled, but right now it triggers "
301 printf "weird bugs in the\n emulator. You have been warned.\n\n"
302 fi
303
304
305 ###############################################################################
306 #
307 # Special hacks for some host OSes:
308 #
309 ###############################################################################
310
311 if [ z"`uname|cut -c 1-6`" = zCYGWIN ]; then
312 CYGWIN=YES
313
314 if [ z"$CC" = z ]; then
315 # Assume gcc on Cygwin (Windows) systems.
316 CC=gcc
317 fi
318 fi
319
320 if [ z"`uname`" = zHP-UX ]; then
321 HPUX=YES
322
323 if [ z$CC = z ]; then
324 if [ -f /usr/local/pa64/bin/gcc ]; then
325 CC=/usr/local/pa64/bin/gcc
326 fi
327 fi
328 fi
329
330 if [ z"`uname`" = zOSF1 ]; then
331 OSF1=YES
332 fi
333
334
335 ###############################################################################
336 #
337 # Create the Makefile header:
338 #
339 ###############################################################################
340
341 rm -f _Makefile.header
342
343 printf "#
344 # DO NOT EDIT THIS FILE! It is automagically created by
345 # the configure script, based on Makefile.skel.
346 #\n\n" >> _Makefile.header
347
348
349 echo 'int main(int argc, char *argv[]) { return 0; }' > _testprog.c
350
351
352 # Try to detect which C compiler to use, if CC is not set:
353 printf "checking which C compiler to use... "
354
355 if [ z"$CC" = z ]; then
356 CC=cc
357
358 # Try gcc first:
359 printf "#!/bin/sh\ngcc _testprog.c -o _testprog >" > _test.sh
360 printf " /dev/null 2> /dev/null\n" >> _test.sh
361 chmod 755 _test.sh
362 ./_test.sh > /dev/null 2> /dev/null
363 if [ -x _testprog ]; then
364 CC=gcc
365 fi
366 rm -f _testprog
367
368 # If both gcc and cc exist, then cc might be a vendor specific
369 # compiler which produces faster code than gcc (eg on Solaris):
370 printf "#!/bin/sh\ncc _testprog.c -o _testprog >" > _test.sh
371 printf " /dev/null 2> /dev/null\n" >> _test.sh
372 chmod 755 _test.sh
373 ./_test.sh > /dev/null 2> /dev/null
374 if [ -x _testprog ]; then
375 CC=cc
376 fi
377 rm -f _testprog
378
379 # Try ccc (FreeBSD/Alpha):
380 printf "#!/bin/sh\nccc _testprog.c -o _testprog >" > _test.sh
381 printf " /dev/null 2> /dev/null\n" >> _test.sh
382 chmod 755 _test.sh
383 ./_test.sh > /dev/null 2> /dev/null
384 if [ -x _testprog ]; then
385 CC="ccc"
386 fi
387 rm -f _testprog
388
389 rm -f _test.sh
390 fi
391
392
393 rm -f _testprog
394 printf "$CC $CFLAGS"
395
396
397 CCTYPE="generic"
398
399 if $CC $CFLAGS -V 2> /dev/null | grep ompaq 1> /dev/null 2> /dev/null; then
400 COMPAQCC=YES
401 CCTYPE="Compaq CC"
402 fi
403
404 if $CC $CFLAGS -V 2>&1 | grep Sun 1> /dev/null 2> /dev/null; then
405 SUNCC=YES
406 CCTYPE="Solaris CC"
407 fi
408
409 if $CC $CFLAGS -v 2>&1 | grep gcc 1> /dev/null 2> /dev/null; then
410 GCCCC=YES
411 CCTYPE="GNU CC"
412 fi
413
414 if [ z$CYGWIN = zYES ]; then
415 CCTYPE="$CCTYPE (Cygwin)"
416 fi
417
418 echo " ($CCTYPE)"
419
420
421 if [ z$NOX11 = z ]; then
422 printf "checking for X11 headers and libs\n"
423
424 # Try to compile a small X11 test program:
425 printf "#include <X11/Xlib.h>
426 #include <stdio.h>
427 Display *dis;
428 void f(void) {
429 dis = XOpenDisplay(NULL);
430 }
431 int main(int argc, char *argv[])
432 { return 0; }
433 " > _test_x11.c
434
435 XOK=0
436
437 XINCLUDE=-I/usr/X11R6/include
438 $CC $CFLAGS _test_x11.c -c -o _test_x11.o $XINCLUDE 2> /dev/null
439
440 XLIB="-L/usr/X11R6/lib -lX11"
441 $CC $CFLAGS _test_x11.o -o _test_x11 $XLIB 2> /dev/null
442
443 if [ -x _test_x11 ]; then
444 XOK=1
445 fi
446
447 rm -f _test_x11 _test_x11.o
448
449 if [ z$XOK = z0 ]; then
450 XINCLUDE=""
451 $CC $CFLAGS _test_x11.c -c -o _test_x11.o \
452 $XINCLUDE 2> /dev/null
453
454 # -lsocket for Solaris
455 XLIB="-lX11 -lsocket"
456 $CC $CFLAGS _test_x11.o -o _test_x11 $XLIB 2> /dev/null
457
458 if [ -x _test_x11 ]; then
459 XOK=1
460 fi
461 rm -f _test_x11 _test_x11.o
462 fi
463
464 if [ z`uname` = zNetBSD ]; then
465 echo "Using NetBSD hack for X11 libs..."
466 XLIB="$XLIB -Wl,-rpath,/usr/X11R6/lib"
467 fi
468
469 if [ z`uname` = zOpenBSD ]; then
470 if [ z`uname -m` = zarc ]; then
471 echo "Using old OpenBSD/arc hack for X11 libs..."
472 XLIB="$XLIB -Wl,-rpath,/usr/X11R6/lib"
473 fi
474 fi
475
476 if [ z$XOK = z0 ]; then
477 echo "Failed to compile X11 test program." \
478 "Configuring without X11."
479 else
480 printf "X11 headers: $XINCLUDE\n"
481 printf "X11 libraries: $XLIB\n"
482 echo "XINCLUDE=$XINCLUDE" >> _Makefile.header
483 echo "XLIB=$XLIB" >> _Makefile.header
484 printf "#define WITH_X11\n" >> config.h
485 fi
486
487 rm -f _test_x11.c
488 fi
489
490
491 if [ z$HPUX = zYES ]; then
492 CFLAGS="-D_XOPEN_SOURCE_EXTENDED $CFLAGS"
493 printf "#define HPUX\n" >> config.h
494 fi
495
496
497 if [ z$OSF1 = zYES ]; then
498 CFLAGS="-D_XOPEN_SOURCE=500 -D_OSF_SOURCE -D_POSIX_PII_SOCKET $CFLAGS"
499 fi
500
501
502 # Check for weird 'alpha' define.
503 printf "checking for weird 'alpha' define... "
504 printf "#include <stdio.h>\nint main(int argc, char *argv[]){
505 #ifdef alpha
506 printf(\"1\");
507 #undef alpha
508 #ifdef alpha
509 printf(\"2\");
510 #endif
511 #endif
512 printf(\"\\\n\");return 0;}\n" > _testm.c
513 $CC $CFLAGS _testm.c -o _testm 2> /dev/null
514 if [ ! -x _testm ]; then
515 printf "\nWARNING! COULD NOT COMPILE alpha define TEST"
516 printf " PROGRAM AT ALL!\n"
517 else
518 if [ z`./_testm` = z1 ]; then
519 printf "yes, workaround applied\n"
520 echo "#undef alpha" >> config.h
521 else
522 if [ z`./_testm` = z12 ]; then
523 printf "yes, but workaround not possible\n"
524 exit
525 else
526 printf "no\n"
527 fi
528 fi
529 fi
530 rm -f _testm*
531
532
533 # Check for weird 'hppa' define.
534 printf "checking for weird 'hppa' define... "
535 printf "#include <stdio.h>\nint main(int argc, char *argv[]){
536 #ifdef hppa
537 printf(\"1\");
538 #undef hppa
539 #ifdef hppa
540 printf(\"2\");
541 #endif
542 #endif
543 printf(\"\\\n\");return 0;}\n" > _testm.c
544 $CC $CFLAGS _testm.c -o _testm 2> /dev/null
545 if [ ! -x _testm ]; then
546 printf "\nWARNING! COULD NOT COMPILE hppa define TEST"
547 printf " PROGRAM AT ALL!\n"
548 else
549 if [ z`./_testm` = z1 ]; then
550 printf "yes, workaround applied\n"
551 echo "#undef hppa" >> config.h
552 else
553 if [ z`./_testm` = z12 ]; then
554 printf "yes, but workaround not possible\n"
555 exit
556 else
557 printf "no\n"
558 fi
559 fi
560 fi
561 rm -f _testm*
562
563
564 # Some OSes on MIPS seems to define 'mips' to 1. (eg OpenBSD/arc)
565 printf "checking for weird 'mips' define... "
566 printf "#include <stdio.h>\nint main(int argc, char *argv[]){
567 #ifdef mips
568 printf(\"1\");
569 #undef mips
570 #ifdef mips
571 printf(\"2\");
572 #endif
573 #endif
574 printf(\"\\\n\");return 0;}\n" > _testm.c
575 $CC $CFLAGS _testm.c -o _testm 2> /dev/null
576 if [ ! -x _testm ]; then
577 printf "\nWARNING! COULD NOT COMPILE mips define TEST"
578 printf " PROGRAM AT ALL!\n"
579 else
580 if [ z`./_testm` = z1 ]; then
581 printf "yes, workaround applied\n"
582 echo "#undef mips" >> config.h
583 else
584 if [ z`./_testm` = z12 ]; then
585 printf "yes, but workaround not possible\n"
586 exit
587 else
588 printf "no\n"
589 fi
590 fi
591 fi
592 rm -f _testm*
593
594
595 # Similar to the mips define check above, although I don't know if
596 # any OS actually defined ppc like this.
597 printf "checking for weird 'ppc' define... "
598 printf "#include <stdio.h>\nint main(int argc, char *argv[]){
599 #ifdef ppc
600 printf(\"1\");
601 #undef ppc
602 #ifdef ppc
603 printf(\"2\");
604 #endif
605 #endif
606 printf(\"\\\n\");return 0;}\n" > _testm.c
607 $CC $CFLAGS _testm.c -o _testm 2> /dev/null
608 if [ ! -x _testm ]; then
609 printf "\nWARNING! COULD NOT COMPILE ppc define TEST"
610 printf " PROGRAM AT ALL!\n"
611 else
612 if [ z`./_testm` = z1 ]; then
613 printf "yes, workaround applied\n"
614 echo "#undef ppc" >> config.h
615 else
616 if [ z`./_testm` = z12 ]; then
617 printf "yes, but workaround not possible\n"
618 exit
619 else
620 printf "no\n"
621 fi
622 fi
623 fi
624 rm -f _testm*
625
626
627 # Similar to the mips define check above, although I don't know if
628 # any OS actually defined sparc like this.
629 printf "checking for weird 'sparc' define... "
630 printf "#include <stdio.h>\nint main(int argc, char *argv[]){
631 #ifdef sparc
632 printf(\"1\");
633 #undef sparc
634 #ifdef sparc
635 printf(\"2\");
636 #endif
637 #endif
638 printf(\"\\\n\");return 0;}\n" > _testm.c
639 $CC $CFLAGS _testm.c -o _testm 2> /dev/null
640 if [ ! -x _testm ]; then
641 printf "\nWARNING! COULD NOT COMPILE sparc define TEST "
642 printf "PROGRAM AT ALL!\n"
643 else
644 if [ z`./_testm` = z1 ]; then
645 printf "yes, workaround applied\n"
646 echo "#undef sparc" >> config.h
647 else
648 if [ z`./_testm` = z12 ]; then
649 printf "yes, but workaround not possible\n"
650 exit
651 else
652 printf "no\n"
653 fi
654 fi
655 fi
656 rm -f _testm*
657
658
659 # CWARNINGS:
660 printf "checking whether -Wall can be used... "
661 $CC $CFLAGS _testprog.c -o _testprog -Wall 2> /dev/null
662 if [ -x _testprog ]; then
663 printf "yes\n"
664 CWARNINGS="-Wall $CWARNINGS"
665
666 # Compaq's compiler always seems to warn about the long long type,
667 # and unusedtop suppresses warnings about include files being
668 # included more than once.
669 if [ z"$COMPAQCC" = zYES ]; then
670 CWARNINGS="$CWARNINGS -msg_disable longlongtype,unusedtop"
671 fi
672 else
673 printf "no\n"
674 fi
675 rm -f _testprog
676
677
678 if [ z"$COMPAQCC" = zYES ]; then
679 # -O4 is possible, but is -O3 better?
680 CFLAGS="-O4 $CFLAGS"
681 else
682 if [ z"`uname`" = zSunOS ]; then
683 # "cc", the system's default compiler:
684 if [ z"$SUNCC" = zYES ]; then
685 CFLAGS="-xO5 -xdepend $CFLAGS"
686 fi
687 printf "#define SOLARIS\n" >> config.h
688 OTHERLIBS="-lsocket $OTHERLIBS"
689 else
690 # gcc or something else:
691 $CC $CFLAGS _testprog.c -o _testprog -O 2> /dev/null
692 if [ -x _testprog ]; then
693 rm -f _testprog
694 $CC $CFLAGS _testprog.c -o _testprog -O2 2> /dev/null
695 if [ -x _testprog ]; then
696 CFLAGS="-O2 $CFLAGS"
697 else
698 CFLAGS="-O $CFLAGS"
699 fi
700 fi
701 fi
702 fi
703 rm -f _testprog
704
705
706 # -fschedule-insns causes bugs on i386 with gcc,
707 # but works OK on my alpha with ccc (compaq's cc).
708 if [ z"$COMPAQCC" = zYES ]; then
709 printf "checking whether -fschedule-insns2 can be used... "
710 $CC $CFLAGS _testprog.c -o _testprog -fschedule-insns2 2> /dev/null
711 if [ -x _testprog ]; then
712 CFLAGS="-fschedule-insns2 $CFLAGS"
713 printf "yes\n"
714 else
715 printf "no\n"
716 fi
717 rm -f _testprog
718
719 printf "checking whether -fschedule-insns can be used... "
720 $CC $CFLAGS _testprog.c -o _testprog -fschedule-insns 2> /dev/null
721 if [ -x _testprog ]; then
722 CFLAGS="-fschedule-insns $CFLAGS"
723 printf "yes\n"
724 else
725 printf "no\n"
726 fi
727 rm -f _testprog
728
729 # # -intrinsics
730 # $CC $CFLAGS _testprog.c -o _testprog -intrinsics 2> /dev/null
731 # if [ -x _testprog ]; then
732 # CFLAGS="-intrinsics $CFLAGS"
733 # fi
734 # rm -f _testprog
735
736 # -fast
737 printf "checking whether -fast can be used... "
738 $CC $CFLAGS _testprog.c -o _testprog -fast 2> /dev/null
739 if [ -x _testprog ]; then
740 CFLAGS="-fast $CFLAGS"
741 printf "yes\n"
742 else
743 printf "no\n"
744 fi
745 rm -f _testprog
746 fi
747
748
749 # -fpeephole
750 printf "checking whether -fpeephole can be used... "
751 $CC $CFLAGS -fpeephole _testprog.c -o _testprog > _testprog.stdout 2>&1
752 cat _testprog.stdout >> _testprog.error
753 if grep peephole _testprog.error > /dev/null 2>&1; then
754 printf "no\n"
755 else
756 if [ -x _testprog ]; then
757 CFLAGS="-fpeephole $CFLAGS"
758 printf "yes\n"
759 else
760 printf "no\n"
761 fi
762 fi
763 rm -f _testprog _testprog.error _testprog.stdout
764
765
766 # -fomit-frame-pointer
767 printf "checking whether -fomit-frame-pointer can be used... "
768 $CC $CFLAGS -fomit-frame-pointer _testprog.c -o \
769 _testprog 1> _testprog.stdout 2>&1
770 cat _testprog.stdout >> _testprog.error
771 if grep frame _testprog.error > /dev/null 2>&1; then
772 printf "no\n"
773 else
774 if [ -x _testprog ]; then
775 CFLAGS="-fomit-frame-pointer $CFLAGS"
776 printf "yes\n"
777 else
778 printf "no\n"
779 fi
780 fi
781 rm -f _testprog _testprog.error _testprog.stdout
782
783
784 # -lrt for nanosleep?
785 printf "checking whether -lrt is required for nanosleep... "
786 printf "#include <time.h>\n#include <stdio.h>
787 int main(int argc, char *argv[]){nanosleep(NULL,NULL);return 0;}\n" > _testns.c
788 $CC $CFLAGS _testns.c -o _testns 2> /dev/null
789 if [ ! -x _testns ]; then
790 $CC $CFLAGS -lrt _testns.c -o _testns 2> /dev/null
791 if [ ! -x _testns ]; then
792 printf "WARNING! COULD NOT COMPILE WITH nanosleep AT ALL!\n"
793 else
794 # -lrt for nanosleep
795 OTHERLIBS="-lrt $OTHERLIBS"
796 printf "yes\n"
797 fi
798 else
799 printf "no\n"
800 fi
801 rm -f _testns.c _testns
802
803
804 # -lresolv for inet_pton?
805 printf "checking whether -lresolv is required for inet_pton... "
806 printf "int inet_pton(void); int main(int argc, " > _testr.c
807 printf "char *argv[]) { return inet_pton(); }\n" >> _testr.c
808 $CC $CFLAGS _testr.c -o _testr 2> /dev/null
809 if [ ! -x _testr ]; then
810 $CC $CFLAGS _testr.c -lresolv -o _testr 2> /dev/null
811 if [ ! -x _testr ]; then
812 $CC $CFLAGS _testr.c -lresolv -lnsl -o _testr 2> /dev/null
813 if [ ! -x _testr ]; then
814 printf "no, using inet_aton\n"
815 else
816 # -lresolv -lnsl for inet_pton
817 OTHERLIBS="-lresolv -lnsl $OTHERLIBS"
818 printf "yes (and -lnsl)\n"
819 printf "#define HAVE_INET_PTON\n" >> config.h
820 fi
821 else
822 # -lresolv for inet_pton
823 OTHERLIBS="-lresolv $OTHERLIBS"
824 printf "yes\n"
825 printf "#define HAVE_INET_PTON\n" >> config.h
826 fi
827 else
828 printf "no\n"
829 printf "#define HAVE_INET_PTON\n" >> config.h
830 fi
831 rm -f _testr.[co] _testr
832
833
834 # -lm?
835 printf "checking for math libs..."
836 printf "#include <math.h>\nint main(int argc, char *argv[]) { " > _testr.c
837 printf "double x = sqrt((double)argc); return (int)x; }\n" >> _testr.c
838 $CC $CFLAGS _testr.c -o _testr 2> /dev/null
839 if [ ! -x _testr ]; then
840 $CC $CFLAGS _testr.c -lm -o _testr 2> /dev/null
841 if [ ! -x _testr ]; then
842 $CC $CFLAGS _testr.c -lm -lcpml -o _testr 2> /dev/null
843 if [ ! -x _testr ]; then
844 printf "\nWARNING! Could not compile math test "
845 printf "at all!\nContinuing anyway.\n\n"
846 else
847 # -lm AND -lcpml
848 OTHERLIBS="-lm -lcpml $OTHERLIBS"
849 printf " -lm -lcpml\n"
850 fi
851 else
852 # Normal -lm
853 OTHERLIBS="-lm $OTHERLIBS"
854 printf " -lm\n"
855 fi
856 else
857 printf " none needed\n"
858 fi
859 rm -f _testr.[co] _testr
860
861
862 # strtoull missing?
863 printf "checking for strtoull... "
864 printf "#include <stdlib.h>
865 #include <limits.h>
866 #include <stdio.h>
867 int main(int argc, char *argv[]) {
868 long long x = strtoull(argv[1], NULL, 0); return 0;}\n" > _tests.c
869 $CC $CFLAGS _tests.c -o _tests 2> /dev/null
870 if [ ! -x _tests ]; then
871 printf "missing, using mystrtoull\n"
872 printf "#define strtoull mystrtoull\n" >> config.h
873 else
874 printf "found\n"
875 fi
876 rm -f _tests.[co] _tests
877
878
879 # mkstemp missing?
880 printf "checking for mkstemp... "
881 printf "#include <unistd.h>
882 int main(int argc, char *argv[]) { int x; char *y = \"abc\";
883 x = mkstemp(y); return 0;}\n" > _tests.c
884 $CC $CFLAGS _tests.c -o _tests 2> /dev/null
885 if [ ! -x _tests ]; then
886 printf "missing, using workaround\n"
887 printf "#define mkstemp mymkstemp\n" >> config.h
888 else
889 printf "found\n"
890 fi
891 rm -f _tests.[co] _tests
892
893
894 # fseeko missing?
895 printf "checking for fseeko... "
896 printf "#include <stdlib.h>
897 #include <limits.h>
898 #include <stdio.h>
899 #include <sys/types.h>
900 int main(int argc, char *argv[]) { fseeko(NULL, 0, 0); return 0;}\n" > _tests.c
901 $CC $CFLAGS _tests.c -o _tests 2> /dev/null
902 if [ ! -x _tests ]; then
903 printf "missing\n"
904 printf "WARNING! fseeko missing from libc. Using a hack, "
905 printf "which probably doesn't work.\n"
906 printf "#define HACK_FSEEKO\n" >> config.h
907 else
908 printf "found\n"
909 fi
910 rm -f _tests.[co] _tests
911
912
913 # socklen_t missing?
914 # (for example really old OpenBSD/arc 2.3, inside the emulator)
915 printf "checking for socklen_t... "
916 printf "#include <stdlib.h>
917 #include <stdio.h>
918 #include <sys/types.h>
919 #include <sys/socket.h>
920 int main(int argc, char *argv[]) { socklen_t x; return 0;}\n" > _tests.c
921 $CC $CFLAGS _tests.c -o _tests 2> /dev/null
922 if [ ! -x _tests ]; then
923 printf "no, using int\n"
924 CFLAGS="$CFLAGS -Dsocklen_t=int"
925 else
926 printf "socklen_t\n"
927 fi
928 rm -f _tests.[co] _tests
929
930
931 # MAP_ANON missing? (On some HP-UX systems? Use MAP_ANONYMOUS instead.)
932 printf "checking for MAP_ANON... "
933 rm -f _tests
934 printf "#include <stdio.h>
935 #include <sys/types.h>
936 #include <sys/mman.h>
937 int main(int argc, char *argv[]) { int x = MAP_ANON; return 0;}\n" > _tests.c
938 $CC $CFLAGS _tests.c -o _tests 2> /dev/null
939 if [ ! -x _tests ]; then
940 printf "#include <stdio.h>
941 #include <sys/types.h>
942 #include <sys/mman.h>
943 int main(int argc, char *argv[])
944 { int x = MAP_ANONYMOUS; return 0;}\n" > _tests.c
945 $CC $CFLAGS _tests.c -o _tests 2> /dev/null
946 if [ ! -x _tests ]; then
947 printf "no\n\n"
948 printf "WARNING! Neither MAP_ANON nor MAP_ANONYMOUS work on "
949 printf "this system.\nPlease try to compile anyway, and report"
950 printf " to me whether it builds/runs or not.\n\n"
951 printf "#define MAP_ANON 0\n" >> config.h
952 printf "#define NO_MAP_ANON\n" >> config.h
953 else
954 printf "using MAP_ANONYMOUS\n"
955 printf "#define MAP_ANON MAP_ANONYMOUS\n" >> config.h
956 fi
957 else
958 printf "yes\n"
959 fi
960 rm -f _tests.[co] _tests
961
962
963 # Check for 64-bit off_t:
964 printf "checking for 64-bit off_t... "
965 printf "#include <stdio.h>\n#include <inttypes.h>\n#include <sys/types.h>\n
966 int main(int argc, char *argv[]){printf(\"%%i\\\n\",
967 (int)sizeof(off_t));return 0;}\n" > _testoff.c
968 $CC $CFLAGS _testoff.c -o _testoff 2> /dev/null
969 if [ ! -x _testoff ]; then
970 printf "\nWARNING! COULD NOT COMPILE off_t TEST PROGRAM AT ALL!\n"
971 else
972 if [ z`./_testoff` = z8 ]; then
973 printf "yes\n"
974 else
975 $CC $CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
976 _testoff.c -o _testoff 2> /dev/null
977 if [ ! -x _testoff ]; then
978 printf "\nWARNING! COULD NOT COMPILE off_t TEST "
979 printf "PROGRAM!\n"
980 else
981 if [ z`./_testoff` = z8 ]; then
982 CFLAGS="-D_FILE_OFFSET_BITS=64 $CFLAGS"
983 CFLAGS="-D_LARGEFILE_SOURCE $CFLAGS"
984 printf "using -D_FILE_OFFSET_BITS=64"
985 printf " -D_LARGEFILE_SOURCE\n"
986 else
987 printf "NO\n"
988 printf "Warning! No 64-bit off_t. Continuing "
989 printf "anyway.\n"
990 fi
991 fi
992 fi
993 fi
994 rm -f _testoff.c _testoff
995
996
997 # Check for u_int8_t etc:
998 printf "checking for u_int8_t... "
999 printf "#include <stdio.h>\n#include <inttypes.h>\n#include <sys/types.h>\n
1000 int main(int argc, char *argv[]){printf(\"%%i\\\n\",
1001 (int)sizeof(u_int8_t));return 0;}\n" > _testuint.c
1002 $CC $CFLAGS _testuint.c -o _testuint 2> /dev/null
1003 if [ ! -x _testuint ]; then
1004 rm -f _testuint*
1005 printf "#include <stdio.h>\n#include <inttypes.h>
1006 \n#include <sys/types.h>\nint main(int argc, char *argv[])
1007 {printf(\"%%i\\\n\", (int)sizeof(uint8_t));return 0;}\n" > _testuint.c
1008 $CC $CFLAGS _testuint.c -o _testuint 2> /dev/null
1009 if [ ! -x _testuint ]; then
1010 printf "no\n\nERROR: No u_int8_t or uint8_t. Aborting\n"
1011 # TODO: Automagically detect using various combinations
1012 # of char, int, short, long etc.
1013 exit
1014 fi
1015
1016 printf "typedef uint8_t u_int8_t;\n" >> config.h
1017 printf "typedef uint16_t u_int16_t;\n" >> config.h
1018 printf "typedef uint32_t u_int32_t;\n" >> config.h
1019 printf "typedef uint64_t u_int64_t;\n" >> config.h
1020 printf "uint8_t\n"
1021 else
1022 printf "yes\n"
1023 fi
1024 rm -f _testuint.c _testuint
1025
1026
1027 ###############################################################################
1028 #
1029 # Dynamic binary translation (BINTRANS):
1030 #
1031 ###############################################################################
1032
1033 printf "checking for bintrans backend... "
1034
1035 BINTRANS=NO
1036
1037 if [ z$ENABLEMIPS = zNO ]; then
1038 printf "NO!\nTEMPORARY HACK/PROBLEM: Disabling bintrans for now,\n"
1039 printf "until things have stabilized.\n"
1040 NOBINTRANS=YES
1041 fi
1042
1043 if [ z$NOBINTRANS = zYES ]; then
1044 printf "disabled\n"
1045 else
1046 # Alpha:
1047 if [ z"`uname -m`" = zalpha ]; then
1048 printf "#define ALPHA\n" >> config.h
1049 printf "#define BINTRANS\n" >> config.h
1050 printf "Alpha\n"
1051 BINTRANS=YES
1052 fi
1053
1054 # x86: (all machines ending in "86" are treated as i386)
1055 if [ z"`uname -m|rev|cut -c1-2`" = z68 ]; then
1056 printf "#define I386\n" >> config.h
1057 printf "#define BINTRANS\n" >> config.h
1058 printf "i386\n"
1059 BINTRANS=YES
1060 fi
1061
1062 # MIPS not yet
1063 # # MIPS:
1064 # if [ z"`uname -m`" = zmips ]; then
1065 # printf "#define MIPS\n" >> config.h
1066 # printf "#define BINTRANS\n" >> config.h
1067 # printf "MIPS\n"
1068 # BINTRANS=YES
1069 # fi
1070
1071 # # UltraSPARC:
1072 # if [ z"`uname -m`" = zsun4u ]; then
1073 # printf "#define SPARCV9\n" >> config.h
1074 # printf "#define BINTRANS\n" >> config.h
1075 # printf "SPARC V9\n"
1076 # BINTRANS=YES
1077 # else
1078 # if [ z"`uname -m`" = zsparc64 ]; then
1079 # printf "#define SPARCV9\n" >> config.h
1080 # printf "#define BINTRANS\n" >> config.h
1081 # printf "SPARC V9\n"
1082 # BINTRANS=YES
1083 # fi
1084 # fi
1085
1086 if [ z$BINTRANS = zNO ]; then
1087 printf "not supported yet on this arch\n"
1088 fi
1089 fi
1090
1091
1092 ###############################################################################
1093
1094 # Prefetch support?
1095 printf "checking for asm prefetch support... "
1096 if [ z"`uname -m`" = zalpha ]; then
1097 rm -f _alpha_asm_test.c _alpha_asm_test
1098 printf 'int main(int argc, char *argv[])
1099 { int x; int *y = &x; asm ("ldl $31,0(%%0)" : : "g" (y));
1100 return 0; }\n' > _alpha_asm_test.c
1101 $CC $CFLAGS -O2 _alpha_asm_test.c -o _alpha_asm_test \
1102 > /dev/null 2> /dev/null
1103 if [ -x _alpha_asm_test ]; then
1104 # printf "#define HAVE_PREFETCH\n" >> config.h
1105 printf "#define PREFETCH(x) asm(\"ldl" >> config.h
1106 printf " \$31,0(%%0)\" : : \"g\" (x))\n" >> config.h
1107 echo "yes"
1108 PREFSUP=YES
1109 fi
1110 rm -f _alpha_asm_test.c _alpha_asm_test
1111 fi
1112 if [ z$PREFSUP = z ]; then
1113 printf "#define PREFETCH(x) { }\n" >> config.h
1114 echo "no"
1115 fi
1116
1117
1118 ###############################################################################
1119
1120 INCLUDE=-Iinclude/
1121 DINCLUDE=-I../include/
1122
1123 echo C compiler flags: $CFLAGS $CWARNINGS
1124 echo Linker flags: $OTHERLIBS
1125 echo "CWARNINGS=$CWARNINGS" >> _Makefile.header
1126 echo "COPTIM=$CFLAGS" >> _Makefile.header
1127 echo "INCLUDE=$INCLUDE" >> _Makefile.header
1128 echo "DINCLUDE=$DINCLUDE" >> _Makefile.header
1129 echo "CC=$CC" >> _Makefile.header
1130 echo "OTHERLIBS=$OTHERLIBS" >> _Makefile.header
1131 echo "" >> _Makefile.header
1132
1133
1134 printf "Regression test setup: (not really needed to build gxemul)\n"
1135
1136
1137 ## 64-bit HPPA cross-assembler:
1138 #
1139 #HPPA=''
1140 #if [ z$ENABLEHPPA = zYES ]; then
1141 # printf "Checking for a GNU cross-assembler for 64-bit HPPA... "
1142 # echo 'nop' > _testprog.s
1143 #
1144 # for HPPA_TRY in hppa64-unknown-elf hppa64-elf; do
1145 # printf '#!/bin/sh\n'$HPPA_TRY'-as _testprog.s' > _test.sh
1146 # printf ' -o _testprog.o\n' >> _test.sh
1147 # chmod 755 _test.sh
1148 # rm -f _testprog.o
1149 # ./_test.sh > /dev/null 2> /dev/null
1150 # if [ -f _testprog.o ]; then
1151 # HPPA=$HPPA_TRY
1152 # break
1153 # fi
1154 # rm -f _testprog.o
1155 # done
1156 #
1157 # if [ z$HPPA = z ]; then
1158 # echo "none"
1159 # else
1160 # echo $HPPA"-gcc"
1161 # fi
1162 #fi
1163 #rm -f _testprog* _test.sh
1164 #
1165 ## TODO: are these ok? 64-bit mode!
1166 ##echo "HPPA_CC="$HPPA"-gcc -g -O2 -fno-builtin -fschedule-insns" \
1167 ## >> _Makefile.header
1168 #echo "HPPA_AS="$HPPA"-as " >> _Makefile.header
1169 #echo "HPPA_LD="$HPPA"-ld -Ttext 0xa800000000030000 -e main" \
1170 # "--oformat=elf64-bigmips" >> _Makefile.header
1171 #echo "" >> _Makefile.header
1172
1173
1174 # 64-bit MIPS cross-compiler:
1175
1176 MIPS=''
1177 if [ z$ENABLEMIPS = zYES ]; then
1178 printf "Checking for a GNU cross-compiler for 64-bit MIPS... "
1179 echo 'int f(int x) { return x; }' > _testprog.c
1180
1181 for MIPS_TRY in mips64-unknown-elf mips64-elf mips-unknown-elf64; do
1182 printf '#!/bin/sh\n'$MIPS_TRY'-gcc _testprog.c -c\n' > _test.sh
1183 chmod 755 _test.sh
1184 rm -f _testprog.o
1185 ./_test.sh > /dev/null 2> /dev/null
1186 if [ -f _testprog.o ]; then
1187 MIPS=$MIPS_TRY
1188 break
1189 fi
1190 rm -f _testprog.o
1191 done
1192
1193 if [ z$MIPS = z ]; then
1194 echo "none"
1195 else
1196 echo $MIPS"-gcc"
1197 fi
1198 fi
1199 rm -f _testprog* _test.sh
1200
1201 echo "MIPS_CC="$MIPS"-gcc -g -O2 -fno-builtin -fschedule-insns" \
1202 "-mips64 -mabi=64" >> _Makefile.header
1203 echo "MIPS_AS="$MIPS"-as -mabi=64 -mips64" >> _Makefile.header
1204 echo "MIPS_LD="$MIPS"-ld -Ttext 0xa800000000030000 -e main" \
1205 "--oformat=elf64-bigmips" >> _Makefile.header
1206 echo "" >> _Makefile.header
1207
1208
1209 ## PPC64 cross-assembler:
1210 #
1211 #PPC=''
1212 #if [ z$ENABLEPPC = zYES ]; then
1213 # printf "Checking for a GNU cross-assembler for 64-bit PPC... "
1214 # echo 'nop' > _testprog.s
1215 #
1216 # for a in ppc64 powerpc64; do
1217 # for b in unknown; do
1218 # for c in elf elf64 linux linux64 aix aix5; do
1219 # PPC_TRY=$a-$b-$c
1220 # printf '#!/bin/sh\n'$PPC_TRY'-as _testprog.s' > _test.sh
1221 # printf ' -o _testprog.o\n' >> _test.sh
1222 # chmod 755 _test.sh
1223 # rm -f _testprog.o
1224 # ./_test.sh > /dev/null 2> /dev/null
1225 # if [ -f _testprog.o ]; then
1226 # PPC=$PPC_TRY
1227 # break
1228 # fi
1229 # rm -f _testprog.o
1230 # done
1231 # done
1232 # done
1233 #
1234 # if [ z$PPC = z ]; then
1235 # echo "none"
1236 # else
1237 # echo $PPC"-as"
1238 # fi
1239 #fi
1240 #rm -f _testprog* _test.sh
1241 #
1242 ##echo "PPC_CC="$PPC"-gcc -g -O2 -fno-builtin" >> _Makefile.header
1243 #echo "PPC_AS="$PPC"-as" >> _Makefile.header
1244 #echo "PPC_LD="$PPC"-ld -e main" >> _Makefile.header
1245 #echo "" >> _Makefile.header
1246
1247
1248 ## SPARC64 cross-compiler:
1249 #
1250 #SPARC=''
1251 #if [ z$ENABLESPARC = zYES ]; then
1252 # printf "Checking for a GNU cross-compiler for 64-bit SPARC... "
1253 # echo 'int f(int x) { return x; }' > _testprog.c
1254 #
1255 # for a in sparc64; do
1256 # for b in unknown; do
1257 # for c in elf elf64; do
1258 # SPARC_TRY=$a-$b-$c
1259 # printf '#!/bin/sh\n'$SPARC_TRY'-gcc _testprog.c -c' > _test.sh
1260 # printf ' -o _testprog.o\n' >> _test.sh
1261 # chmod 755 _test.sh
1262 # rm -f _testprog.o
1263 # ./_test.sh > /dev/null 2> /dev/null
1264 # if [ -f _testprog.o ]; then
1265 # SPARC=$SPARC_TRY
1266 # break
1267 # fi
1268 # rm -f _testprog.o
1269 # done
1270 # done
1271 # done
1272 #
1273 # if [ z$SPARC = z ]; then
1274 # echo "none"
1275 # else
1276 # echo $SPARC"-gcc"
1277 # fi
1278 #fi
1279 #rm -f _testprog* _test.sh
1280 #
1281 #echo "SPARC_CC="$SPARC"-gcc -g -O2 -fno-builtin" >> _Makefile.header
1282 #echo "SPARC_AS="$SPARC"-as" >> _Makefile.header
1283 #echo "SPARC_LD="$SPARC"-ld -e main" >> _Makefile.header
1284 #echo "" >> _Makefile.header
1285
1286
1287 # Create the Makefiles:
1288
1289 for a in . src src/devices src/devices/fonts tests; do
1290 echo "creating $a/Makefile"
1291 touch $a/Makefile
1292 cat _Makefile.header > $a/Makefile
1293 cat $a/Makefile.skel >> $a/Makefile
1294 done
1295
1296 # Tail of config.h:
1297 printf "\n#endif /* CONFIG_H */\n" >> config.h
1298
1299 # Remove temporary Makefile header:
1300 rm -f _Makefile.header
1301
1302 echo Configured. You may now run make to build gxemul.

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26