/[gxemul]/trunk/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

Diff of /trunk/configure

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4 by dpavlin, Mon Oct 8 16:18:00 2007 UTC revision 38 by dpavlin, Mon Oct 8 16:21:53 2007 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2  ###############################################################################  ###############################################################################
3  #  #
4  #  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.  #  Copyright (C) 2003-2007  Anders Gavare.  All rights reserved.
5  #  #
6  #  Redistribution and use in source and binary forms, with or without  #  Redistribution and use in source and binary forms, with or without
7  #  modification, are permitted provided that the following conditions are met:  #  modification, are permitted provided that the following conditions are met:
# Line 27  Line 27 
27  #  SUCH DAMAGE.  #  SUCH DAMAGE.
28  #  #
29  #  #
30  #  $Id: configure,v 1.123 2005/04/17 01:42:21 debug Exp $  #  $Id: configure,v 1.252 2007/04/10 17:52:27 debug Exp $
31  #  #
32  #  This is a minimal configure script, hardcoded for GXemul. This script  #  This is a minimal configure script, hardcoded for GXemul. This script
33  #  figures out which compiler flags will work, and creates Makefiles in  #  figures out which compiler flags will work, and creates Makefiles in
# Line 47  Line 47 
47  #    o)  special hacks for some OSes  #    o)  special hacks for some OSes
48  #    o)  which compiler to use  (overridden by setting CC)  #    o)  which compiler to use  (overridden by setting CC)
49  #    o)  which compiler flags to use  (overridden by setting CFLAGS)  #    o)  which compiler flags to use  (overridden by setting CFLAGS)
50  #    o)  X11 flags and libraries  (TODO: should be possible to override)  #    o)  X11 flags and libraries  (TODO: should be possible to override
51  #    o)  binary translation (on supported platforms)  #        via command line options?)
52  #    o)  prefetch capability  (TODO: this is assumed on Alpha, but not all  #    o)  native code generation backend (i.e. detect host ABI)
53  #                              Alphas have it...)  #
54    #
55    #  The general philosophy regarding command line switches is that anything
56    #  which can be incorporated into the program as a runtime command line option
57    #  should be, instead of requiring a recompile.
58  #  #
59  ###############################################################################  ###############################################################################
60    
61  ENABLEALPHA=NO  #  Figure out if this is a stable version (0.x.x).
62  ENABLEHPPA=NO  X=`basename \`pwd\`|cut -d \- -f 2-|cut -c1-2`
63  ENABLEMIPS=YES  if [ z"$X" = z0. ]; then
64  ENABLEPPC=YES          #  Stable.
65  ENABLESPARC=NO          :
66  ENABLEURISC=YES  else
67  ENABLEX86=NO          #  Development.
68            UNSTABLE=YES
69    fi
70    
71  if [ z"$*" != z ]; then  if [ z"$*" != z ]; then
72          #  Parse command line options:          #  Parse command line options:
73          for a in $*; do          for a in $*; do
74                  if [ z$a = z--disable-x ]; then                  if [ z$a = z--disable-x ]; then
75                          NOX11=YES                          NOX11=YES
76                  else if [ z$a = z--always32 ]; then                  else if [ z$a = z--debug ]; then
77                          ALWAYS32=YES                          DEBUG=YES
                 else if [ z$a = z--disable-bintrans ]; then  
                         NOBINTRANS=YES  
                 else if [ z$a = z--enable-mips16 ]; then  
                         MIPS16=YES  
                 else if [ z$a = z--enable-alpha ]; then  
                         ENABLEALPHA=YES  
                 else if [ z$a = z--enable-hppa ]; then  
                         ENABLEHPPA=YES  
                 else if [ z$a = z--disable-mips ]; then  
                         ENABLEMIPS=NO  
                 else if [ z$a = z--disable-ppc ]; then  
                         ENABLEPPC=NO  
                 else if [ z$a = z--enable-sparc ]; then  
                         ENABLESPARC=YES  
                 else if [ z$a = z--disable-urisc ]; then  
                         ENABLEURISC=NO  
                 else if [ z$a = z--enable-x86 ]; then  
                         ENABLEX86=YES  
                 else if [ z$a = z--enable-delays ]; then  
                         DELAYS=YES  
                 else if [ z$a = z--enable-caches ]; then  
                         CACHES=YES  
78                  else if [ z$a = z--help ]; then                  else if [ z$a = z--help ]; then
79                          echo "usage: $0 [options]"                          printf "usage: $0 [options]\n\n"
80                          printf "\nDevelopment (debug) options:\n"                          echo "  --disable-x         don't include X11 support,"\
81                          echo "  --always32          enable" \                              "even if the host supports it"
82                              "ALWAYS_SIGNEXTEND_32 (for hunting down"                          if [ z"$UNSTABLE" = zYES ]; then
83                          echo "                      32/64-bit bugs)"                                  echo "  --debug             configure" \
84                          printf "\nGeneral options:\n"                                          "for a debug build"
85                          echo "  --disable-bintrans  configure without" \                          fi
86                              "bintrans, even if the host supports it"                          echo
                         echo "  --enable-caches     enable cache emulation" \  
                             "(experimental)"  
                         echo "  --enable-delays     enable instruction" \  
                             "latency/delay emulation"  
                         echo "  --disable-x         don't include X11 support"  
                         printf "\nCPU selection options: (most of these"  
                         printf " are experimental)\n"  
                         echo "  --enable-alpha      enable Alpha CPU emulation"  
                         echo "  --enable-hppa       enable HPPA CPU emulation"  
                         echo "  --disable-mips      disable MIPS CPU emulation"  
                         echo "  --disable-ppc       disable PPC CPU emulation"  
                         echo "  --enable-sparc      enable SPARC CPU emulation"  
                         echo "  --disable-urisc     disable URISC CPU emulation"  
                         echo "  --enable-x86        enable x86 CPU emulation"  
                         printf "\nMIPS-specific options:\n"  
                         echo "  --enable-mips16     enable MIPS16 instruction" \  
                             "support (experimental)"  
                         printf "\n"  
87                          exit                          exit
88                  else                  else
89                          echo "Invalid option: $a"                          echo "Invalid option: $a"
90                          echo "Run  $0 --help  to get a list of" \                          echo "Run  $0 --help  to get a list of" \
91                              "available options."                              "available options."
92                          exit                          exit
93                  fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi                  fi; fi; fi
94          done          done
95  fi  fi
96    
97    
98    #  Stable releases:
99    ENABLEARM=YES
100    ENABLEMIPS=YES
101    ENABLEPPC=YES
102    ENABLESH=YES
103    
104    if [ z"$UNSTABLE" = zYES ]; then
105            #  Development:
106            printf "###\n###  DEVELOPMENT (UNSTABLE)\n###\n### "
107            printf "(Enabling some archs that are not working yet.)\n###\n\n"
108            ENABLEALPHA=YES
109            ENABLEAVR=YES
110            ENABLEM68K=YES
111            ENABLESPARC=YES
112    fi
113    
114    
115  ###############################################################################  ###############################################################################
116  #  #
117  #  Configure options:  #  Configure options:
# Line 148  printf "/* Line 131  printf "/*
131  #  Figure out if VERSION should be defined.  #  Figure out if VERSION should be defined.
132  X=`basename \`pwd\`|cut -d \- -f 2-`  X=`basename \`pwd\`|cut -d \- -f 2-`
133  if [ z"$X" = zgxemul ]; then  if [ z"$X" = zgxemul ]; then
134          echo '#  No VERSION defined.' >> _Makefile.header          echo '/*  No VERSION defined.  */' >> config.h
135  else  else
136          printf "#define VERSION \"$X\"\n" >> config.h          printf "#define VERSION \"$X\"\n" >> config.h
137  fi  fi
138    
139    
140    if [ z"$UNSTABLE" = zYES ]; then
141            printf "#define UNSTABLE_DEVEL\n" >> config.h
142    fi
143    
144    
145  ZZ=`echo compiled on \`uname\`/\`uname -m\`, \`date\``  ZZ=`echo compiled on \`uname\`/\`uname -m\`, \`date\``
146  printf "#define COMPILE_DATE \"$ZZ\"\n" >> config.h  printf "#define COMPILE_DATE \"$ZZ\"\n" >> config.h
147    
148    
149    
150  #  Support for various CPU types:  #  Support for various CPU types:
 if [ z$MIPS16 = zYES ]; then  
         printf 'Enabling MIPS16 support.  '  
         printf 'NOTE: MIPS16 support is not really working yet.\n'  
         printf "#define ENABLE_MIPS16\n" >> config.h  
 fi  
151  if [ z$ENABLEALPHA = zYES ]; then  if [ z$ENABLEALPHA = zYES ]; then
152          printf "#define ENABLE_ALPHA\n" >> config.h          printf "#define ENABLE_ALPHA\n" >> config.h
153            CPU_ARCHS="$CPU_ARCHS cpu_alpha.o cpu_alpha_palcode.o memory_alpha.o"
154            CPU_TOOLS="$CPU_TOOLS generate_alpha_misc"
155  fi  fi
156  if [ z$ENABLEHPPA = zYES ]; then  if [ z$ENABLEARM = zYES ]; then
157          printf "#define ENABLE_HPPA\n" >> config.h          printf "#define ENABLE_ARM\n" >> config.h
158            CPU_ARCHS="$CPU_ARCHS cpu_arm.o cpu_arm_coproc.o memory_arm.o "
159            CPU_ARCHS="$CPU_ARCHS tmp_arm_dpi.o tmp_arm_loadstore.o tmp_arm_r.o"
160            CPU_ARCHS="$CPU_ARCHS tmp_arm_r0.o tmp_arm_r1.o"
161            CPU_ARCHS="$CPU_ARCHS tmp_arm_r2.o tmp_arm_r3.o"
162            CPU_ARCHS="$CPU_ARCHS tmp_arm_r4.o tmp_arm_r5.o"
163            CPU_ARCHS="$CPU_ARCHS tmp_arm_r6.o tmp_arm_r7.o"
164            CPU_ARCHS="$CPU_ARCHS tmp_arm_r8.o tmp_arm_r9.o"
165            CPU_ARCHS="$CPU_ARCHS tmp_arm_ra.o tmp_arm_rb.o"
166            CPU_ARCHS="$CPU_ARCHS tmp_arm_rc.o tmp_arm_rd.o"
167            CPU_ARCHS="$CPU_ARCHS tmp_arm_re.o tmp_arm_rf.o tmp_arm_multi.o"
168            CPU_TOOLS="$CPU_TOOLS generate_arm_dpi generate_arm_r"
169            CPU_TOOLS="$CPU_TOOLS generate_arm_loadstore generate_arm_multi"
170    fi
171    if [ z$ENABLEAVR = zYES ]; then
172            printf "#define ENABLE_AVR\n" >> config.h
173            CPU_ARCHS="$CPU_ARCHS cpu_avr.o"
174    fi
175    if [ z$ENABLEM68K = zYES ]; then
176            printf "#define ENABLE_M68K\n" >> config.h
177            CPU_ARCHS="$CPU_ARCHS cpu_m68k.o"
178  fi  fi
179  if [ z$ENABLEMIPS = zYES ]; then  if [ z$ENABLEMIPS = zYES ]; then
180          printf "#define ENABLE_MIPS\n" >> config.h          printf "#define ENABLE_MIPS\n" >> config.h
181            CPU_ARCHS="$CPU_ARCHS cpu_mips.o cpu_mips_coproc.o "
182            CPU_ARCHS="$CPU_ARCHS cpu_mips_instr_unaligned.o"
183            CPU_TOOLS="$CPU_TOOLS generate_mips_loadstore"
184            CPU_TOOLS="$CPU_TOOLS generate_mips_loadstore_multi"
185  fi  fi
186  if [ z$ENABLEPPC = zYES ]; then  if [ z$ENABLEPPC = zYES ]; then
187          printf "#define ENABLE_PPC\n" >> config.h          printf "#define ENABLE_PPC\n" >> config.h
188            CPU_ARCHS="$CPU_ARCHS cpu_ppc.o"
189            CPU_TOOLS="$CPU_TOOLS generate_ppc_loadstore"
190    fi
191    if [ z$ENABLESH = zYES ]; then
192            printf "#define ENABLE_SH\n" >> config.h
193            CPU_ARCHS="$CPU_ARCHS cpu_sh.o memory_sh.o"
194  fi  fi
195  if [ z$ENABLESPARC = zYES ]; then  if [ z$ENABLESPARC = zYES ]; then
196          printf "#define ENABLE_SPARC\n" >> config.h          printf "#define ENABLE_SPARC\n" >> config.h
197  fi          CPU_ARCHS="$CPU_ARCHS cpu_sparc.o memory_sparc.o"
198  if [ z$ENABLEURISC = zYES ]; then          CPU_TOOLS="$CPU_TOOLS generate_sparc_loadstore"
         printf "#define ENABLE_URISC\n" >> config.h  
 fi  
 if [ z$ENABLEX86 = zYES ]; then  
         printf "#define ENABLE_X86\n" >> config.h  
 fi  
   
   
 #  Instruction delay/latency emulation:  
 if [ z$DELAYS = zYES ]; then  
         echo 'Enabling Instruction delay/latency emulation.'  
         printf "#define ENABLE_INSTRUCTION_DELAYS\n" >> config.h  
 fi  
   
   
 #  Instruction delay/latency emulation:  
 if [ z$ALWAYS32 = zYES ]; then  
         echo 'Enabling ALWAYS_SIGNEXTEND_32. (NOTE:' \  
             'This slows down everything.)'  
         printf "#define ALWAYS_SIGNEXTEND_32\n" >> config.h  
 fi  
   
   
 #  Cache emulation:  
 if [ z$CACHES = zYES ]; then  
         echo 'Enabling Cache emulation. (EXPERIMENTAL)'  
         printf "#define ENABLE_CACHE_EMULATION\n" >> config.h  
   
         if [ z$DELAYS != zYES ]; then  
                 printf 'WARNING: Cache emulation without instruction '  
                 printf 'delay/latency emulation\n'  
                 printf '         (--delays) will not produce correct '  
                 printf 'cache miss penalties and such.\n'  
         fi  
199  fi  fi
200    
201    
# Line 291  if [ z"$CC" = z ]; then Line 273  if [ z"$CC" = z ]; then
273          fi          fi
274          rm -f _testprog          rm -f _testprog
275    
276          #  Try ccc (FreeBSD/Alpha):  #       #  Try ccc (FreeBSD/Alpha):
277          printf "#!/bin/sh\nccc _testprog.c -o _testprog >" > _test.sh  #       printf "#!/bin/sh\nccc _testprog.c -o _testprog >" > _test.sh
278          printf " /dev/null 2> /dev/null\n" >> _test.sh  #       printf " /dev/null 2> /dev/null\n" >> _test.sh
279          chmod 755 _test.sh  #       chmod 755 _test.sh
280          ./_test.sh > /dev/null 2> /dev/null  #       ./_test.sh > /dev/null 2> /dev/null
281          if [ -x _testprog ]; then  #       if [ -x _testprog ]; then
282                  CC="ccc"  #               CC="ccc"
283          fi  #       fi
284          rm -f _testprog  #       rm -f _testprog
285    
286          rm -f _test.sh          rm -f _test.sh
287  fi  fi
# Line 361  if [ z$NOX11 = z ]; then Line 343  if [ z$NOX11 = z ]; then
343    
344          rm -f _test_x11 _test_x11.o          rm -f _test_x11 _test_x11.o
345    
346            #  Special case for some 64-bit Linux/x86_64 systems:
347            if [ z$XOK = z0 ]; then
348                    $CC $CFLAGS _test_x11.c -c -o _test_x11.o \
349                        $XINCLUDE 2> /dev/null
350    
351                    XLIB="-L/usr/X11R6/lib64 -lX11"
352                    $CC $CFLAGS _test_x11.o -o _test_x11 $XLIB 2> /dev/null
353    
354                    if [ -x _test_x11 ]; then
355                            XOK=1
356                    fi
357            fi
358            rm -f _test_x11 _test_x11.o
359    
360          if [ z$XOK = z0 ]; then          if [ z$XOK = z0 ]; then
361                  XINCLUDE=""                  XINCLUDE=""
362                  $CC $CFLAGS _test_x11.c -c -o _test_x11.o \                  $CC $CFLAGS _test_x11.c -c -o _test_x11.o \
# Line 414  if [ z$OSF1 = zYES ]; then Line 410  if [ z$OSF1 = zYES ]; then
410  fi  fi
411    
412    
413  #  Check for weird 'alpha' define.  #  Check for 'alpha' define.
414  printf "checking for weird 'alpha' define... "  printf "checking for 'alpha' define... "
415  printf "#include <stdio.h>\nint main(int argc, char *argv[]){  printf "#include <stdio.h>\nint main(int argc, char *argv[]){
416  #ifdef alpha  #ifdef alpha
417  printf(\"1\");  printf(\"1\");
# Line 445  fi Line 441  fi
441  rm -f _testm*  rm -f _testm*
442    
443    
 #  Check for weird 'hppa' define.  
 printf "checking for weird 'hppa' define... "  
 printf "#include <stdio.h>\nint main(int argc, char *argv[]){  
 #ifdef hppa  
 printf(\"1\");  
 #undef hppa  
 #ifdef hppa  
 printf(\"2\");  
 #endif  
 #endif  
 printf(\"\\\n\");return 0;}\n" > _testm.c  
 $CC $CFLAGS _testm.c -o _testm 2> /dev/null  
 if [ ! -x _testm ]; then  
         printf "\nWARNING! COULD NOT COMPILE hppa define TEST"  
         printf " PROGRAM AT ALL!\n"  
 else  
         if [ z`./_testm` = z1 ]; then  
                 printf "yes, workaround applied\n"  
                 echo "#undef hppa" >> config.h  
         else  
                 if [ z`./_testm` = z12 ]; then  
                         printf "yes, but workaround not possible\n"  
                         exit  
                 else  
                         printf "no\n"  
                 fi  
         fi  
 fi  
 rm -f _testm*  
   
   
444  #  Some OSes on MIPS seems to define 'mips' to 1. (eg OpenBSD/arc)  #  Some OSes on MIPS seems to define 'mips' to 1. (eg OpenBSD/arc)
445  printf "checking for weird 'mips' define... "  printf "checking for 'mips' define... "
446  printf "#include <stdio.h>\nint main(int argc, char *argv[]){  printf "#include <stdio.h>\nint main(int argc, char *argv[]){
447  #ifdef mips  #ifdef mips
448  printf(\"1\");  printf(\"1\");
# Line 509  rm -f _testm* Line 474  rm -f _testm*
474    
475  #  Similar to the mips define check above, although I don't know if  #  Similar to the mips define check above, although I don't know if
476  #  any OS actually defined ppc like this.  #  any OS actually defined ppc like this.
477  printf "checking for weird 'ppc' define... "  printf "checking for 'ppc' define... "
478  printf "#include <stdio.h>\nint main(int argc, char *argv[]){  printf "#include <stdio.h>\nint main(int argc, char *argv[]){
479  #ifdef ppc  #ifdef ppc
480  printf(\"1\");  printf(\"1\");
# Line 541  rm -f _testm* Line 506  rm -f _testm*
506    
507  #  Similar to the mips define check above, although I don't know if  #  Similar to the mips define check above, although I don't know if
508  #  any OS actually defined sparc like this.  #  any OS actually defined sparc like this.
509  printf "checking for weird 'sparc' define... "  printf "checking for 'sparc' define... "
510  printf "#include <stdio.h>\nint main(int argc, char *argv[]){  printf "#include <stdio.h>\nint main(int argc, char *argv[]){
511  #ifdef sparc  #ifdef sparc
512  printf(\"1\");  printf(\"1\");
# Line 584  if [ -x _testprog ]; then Line 549  if [ -x _testprog ]; then
549          if [ z"$COMPAQCC" = zYES ]; then          if [ z"$COMPAQCC" = zYES ]; then
550                  CWARNINGS="$CWARNINGS -msg_disable longlongtype,unusedtop"                  CWARNINGS="$CWARNINGS -msg_disable longlongtype,unusedtop"
551          fi          fi
552    
553            if [ z"$UNSTABLE" = zYES ]; then
554                    printf "checking whether -Werror can be used... "
555                    rm -f _testprog
556                    $CC $CFLAGS $CWARNINGS _testprog.c -o _testprog -Werror 2> /dev/null
557                    if [ -x _testprog ]; then
558                            printf "yes\n"
559                            CWARNINGS="$CWARNINGS -Werror"
560                    else
561                            printf "no\n"
562                    fi
563            fi
564  else  else
565          printf "no\n"          printf "no\n"
566  fi  fi
# Line 591  rm -f _testprog Line 568  rm -f _testprog
568    
569    
570  if [ z"$COMPAQCC" = zYES ]; then  if [ z"$COMPAQCC" = zYES ]; then
571          #  -O4 is possible, but is -O3 better?          #  -O4 is possible, but sometimes -O3 is better?
572          CFLAGS="-O4 $CFLAGS"          if [ ! z"$DEBUG" = zYES ]; then
573                    CFLAGS="-O4 $CFLAGS"
574            fi
575  else  else
576          if [ z"`uname`" = zSunOS ]; then          if [ z"`uname`" = zSunOS ]; then
577                  #  "cc", the system's default compiler:                  #  "cc", the system's default compiler:
578                  if [ z"$SUNCC" = zYES ]; then                  if [ ! z"$DEBUG" = zYES ]; then
579                          CFLAGS="-xO5 -xdepend $CFLAGS"                          if [ z"$SUNCC" = zYES ]; then
580                                    CFLAGS="-xO5 -xdepend $CFLAGS"
581                            fi
582                  fi                  fi
583                  printf "#define SOLARIS\n" >> config.h                  printf "#define SOLARIS\n" >> config.h
584                  OTHERLIBS="-lsocket $OTHERLIBS"                  OTHERLIBS="-lsocket $OTHERLIBS"
585          else          else
586                  #  gcc or something else:                  #  gcc or something else:
587                  $CC $CFLAGS _testprog.c -o _testprog -O 2> /dev/null                  if [ ! z"$DEBUG" = zYES ]; then
588                  if [ -x _testprog ]; then                          $CC $CFLAGS _testprog.c -o _testprog -O 2> /dev/null
                         rm -f _testprog  
                         $CC $CFLAGS _testprog.c -o _testprog -O2 2> /dev/null  
589                          if [ -x _testprog ]; then                          if [ -x _testprog ]; then
590                                  CFLAGS="-O2 $CFLAGS"                                  rm -f _testprog
591                          else                                  $CC $CFLAGS _testprog.c -o _testprog    \
592                                  CFLAGS="-O $CFLAGS"                                          -O3 2> /dev/null
593                                    if [ -x _testprog ]; then
594                                            CFLAGS="-O3 $CFLAGS"
595                                    else
596                                            CFLAGS="-O $CFLAGS"
597                                    fi
598                          fi                          fi
599                  fi                  fi
600          fi          fi
# Line 620  rm -f _testprog Line 604  rm -f _testprog
604    
605  #  -fschedule-insns causes bugs on i386 with gcc,  #  -fschedule-insns causes bugs on i386 with gcc,
606  #  but works OK on my alpha with ccc (compaq's cc).  #  but works OK on my alpha with ccc (compaq's cc).
607  if [ z"$COMPAQCC" = zYES ]; then  if [ ! z"$DEBUG" = zYES ]; then
608        if [ z"$COMPAQCC" = zYES ]; then
609          printf "checking whether -fschedule-insns2 can be used... "          printf "checking whether -fschedule-insns2 can be used... "
610          $CC $CFLAGS _testprog.c -o _testprog -fschedule-insns2 2> /dev/null          $CC $CFLAGS _testprog.c -o _testprog -fschedule-insns2 2> /dev/null
611          if [ -x _testprog ]; then          if [ -x _testprog ]; then
# Line 658  if [ z"$COMPAQCC" = zYES ]; then Line 643  if [ z"$COMPAQCC" = zYES ]; then
643                  printf "no\n"                  printf "no\n"
644          fi          fi
645          rm -f _testprog          rm -f _testprog
646  fi  fi; fi
647    
648    
649  #  -fpeephole  #  -fpeephole
650  printf "checking whether -fpeephole can be used... "  if [ ! z"$DEBUG" = zYES ]; then
651  $CC $CFLAGS -fpeephole _testprog.c -o _testprog > _testprog.stdout 2>&1          printf "checking whether -fpeephole can be used... "
652  cat _testprog.stdout >> _testprog.error          $CC $CFLAGS -fpeephole _testprog.c -o _testprog > _testprog.stdout 2>&1
653  if grep peephole _testprog.error > /dev/null 2>&1; then          cat _testprog.stdout >> _testprog.error
654          printf "no\n"          if grep peephole _testprog.error > /dev/null 2>&1; then
 else  
         if [ -x _testprog ]; then  
                 CFLAGS="-fpeephole $CFLAGS"  
                 printf "yes\n"  
         else  
655                  printf "no\n"                  printf "no\n"
656            else
657                    if [ -x _testprog ]; then
658                            CFLAGS="-fpeephole $CFLAGS"
659                            printf "yes\n"
660                    else
661                            printf "no\n"
662                    fi
663          fi          fi
664            rm -f _testprog _testprog.error _testprog.stdout
665  fi  fi
 rm -f _testprog _testprog.error _testprog.stdout  
666    
667    
668  #  -fmove-all-movables  #  -fomit-frame-pointer
669  printf "checking whether -fmove-all-movables can be used... "  if [ ! z"$DEBUG" = zYES ]; then
670  $CC $CFLAGS -fmove-all-movables _testprog.c -o \          printf "checking whether -fomit-frame-pointer can be used... "
671      _testprog > _testprog.stdout 2>&1          $CC $CFLAGS -fomit-frame-pointer _testprog.c -o \
672  cat _testprog.stdout >> _testprog.error              _testprog 1> _testprog.stdout 2>&1
673  if grep movables _testprog.error > /dev/null 2>&1; then          cat _testprog.stdout >> _testprog.error
674          printf "no\n"          if grep frame _testprog.error > /dev/null 2>&1; then
 else  
         if [ -x _testprog ]; then  
                 CFLAGS="-fmove-all-movables $CFLAGS"  
                 printf "yes\n"  
         else  
675                  printf "no\n"                  printf "no\n"
676            else
677                    if [ -x _testprog ]; then
678                            CFLAGS="-fomit-frame-pointer $CFLAGS"
679                            printf "yes\n"
680                    else
681                            printf "no\n"
682                    fi
683          fi          fi
684            rm -f _testprog _testprog.error _testprog.stdout
685  fi  fi
 rm -f _testprog _testprog.error _testprog.stdout  
686    
687    
688  #  -fomit-frame-pointer  #  -g, for development builds
689  printf "checking whether -fomit-frame-pointer can be used... "  if [ z"$UNSTABLE" = zYES ]; then
690  $CC $CFLAGS -fomit-frame-pointer _testprog.c -o \          printf "checking whether -g can be used... "
691      _testprog 1> _testprog.stdout 2>&1          if [ z"$COMPAQCC" = zYES ]; then
692  cat _testprog.stdout >> _testprog.error                  printf "skipping\n"
 if grep frame _testprog.error > /dev/null 2>&1; then  
         printf "no\n"  
 else  
         if [ -x _testprog ]; then  
                 CFLAGS="-fomit-frame-pointer $CFLAGS"  
                 printf "yes\n"  
693          else          else
694                    $CC $CFLAGS -g _testprog.c -o _testprog > _testprog.stdout 2>&1
695                    cat _testprog.stdout >> _testprog.error
696                    if [ -x _testprog ]; then
697                            CFLAGS="-g $CFLAGS"
698                            printf "yes\n"
699                    else
700                  printf "no\n"                  printf "no\n"
701                            fi
702          fi          fi
703            rm -f _testprog _testprog.error _testprog.stdout
704  fi  fi
 rm -f _testprog _testprog.error _testprog.stdout  
705    
706    
707  #  -lrt for nanosleep?  #  -lrt for nanosleep?
# Line 767  rm -f _testr.[co] _testr Line 757  rm -f _testr.[co] _testr
757  #  -lm?  #  -lm?
758  printf "checking for math libs..."  printf "checking for math libs..."
759  printf "#include <math.h>\nint main(int argc, char *argv[]) { " > _testr.c  printf "#include <math.h>\nint main(int argc, char *argv[]) { " > _testr.c
760  printf "double x = sqrt((double)argc); return (int)x; }\n" >> _testr.c  printf "double x = sqrt(sin((double)argc)); return (int)x; }\n" >> _testr.c
761  $CC $CFLAGS _testr.c -o _testr 2> /dev/null  $CC $CFLAGS _testr.c -o _testr 2> /dev/null
762  if [ ! -x _testr ]; then  if [ ! -x _testr ]; then
763          $CC $CFLAGS _testr.c -lm -o _testr 2> /dev/null          $CC $CFLAGS _testr.c -lm -o _testr 2> /dev/null
# Line 792  fi Line 782  fi
782  rm -f _testr.[co] _testr  rm -f _testr.[co] _testr
783    
784    
785    #  strlcpy missing?
786    printf "checking for strlcpy... "
787    printf "#include <string.h>
788    int main(int argc, char *argv[]) { char *p; char *q; size_t x;
789      x = strlcpy(p, q, 50); return 0;}\n" > _tests.c
790    $CC $CFLAGS _tests.c -o _tests 2> /dev/null
791    if [ ! -x _tests ]; then
792            printf "missing, using mystrlcpy\n"
793            printf "#define strlcpy mystrlcpy\n" >> config.h
794            printf "#define strlcat mystrlcat\n" >> config.h
795            printf "#define USE_STRLCPY_REPLACEMENTS\n" >> config.h
796    else
797            printf "found\n"
798    fi
799    rm -f _tests.[co] _tests
800    
801    
802  #  strtoull missing?  #  strtoull missing?
803  printf "checking for strtoull... "  printf "checking for strtoull... "
804  printf "#include <stdlib.h>  printf "#include <stdlib.h>
# Line 804  if [ ! -x _tests ]; then Line 811  if [ ! -x _tests ]; then
811          printf "missing, using mystrtoull\n"          printf "missing, using mystrtoull\n"
812          printf "#define strtoull mystrtoull\n" >> config.h          printf "#define strtoull mystrtoull\n" >> config.h
813  else  else
814          printf "yes\n"          printf "found\n"
815  fi  fi
816  rm -f _testlong* _tests.[co] _tests  rm -f _tests.[co] _tests
817    
818    
819    #  mkstemp missing?
820    printf "checking for mkstemp... "
821    printf "#include <unistd.h>
822    int main(int argc, char *argv[]) { int x; char *y = \"abc\";
823    x = mkstemp(y); return 0;}\n" > _tests.c
824    $CC $CFLAGS _tests.c -o _tests 2> /dev/null
825    if [ ! -x _tests ]; then
826            printf "missing, using workaround\n"
827            printf "#define mkstemp mymkstemp\n" >> config.h
828    else
829            printf "found\n"
830    fi
831    rm -f _tests.[co] _tests
832    
833    
834  #  fseeko missing?  #  fseeko missing?
# Line 816  printf "#include <stdlib.h> Line 838  printf "#include <stdlib.h>
838  #include <stdio.h>  #include <stdio.h>
839  #include <sys/types.h>  #include <sys/types.h>
840  int main(int argc, char *argv[]) { fseeko(NULL, 0, 0); return 0;}\n" > _tests.c  int main(int argc, char *argv[]) { fseeko(NULL, 0, 0); return 0;}\n" > _tests.c
841  $CC $CFLAGS _tests.c -o _tests 2> /dev/null  $CC $CFLAGS $CWARNINGS _tests.c -o _tests 2> /dev/null
842  if [ ! -x _tests ]; then  if [ ! -x _tests ]; then
843          printf "no\n"          # Try with _LARGEFILE_SOURCE (hack to make fseeko
844          printf "WARNING! fseeko missing from libc. Using a hack, "          # work on 64-bit Linux):
845          printf "which probably doesn't work.\n"          $CC $CFLAGS -D_LARGEFILE_SOURCE $CWARNINGS _tests.c -o _tests 2> /dev/null
846          printf "#define HACK_FSEEKO\n" >> config.h          if [ ! -x _tests ]; then
847                    printf "missing\n"
848                    printf "WARNING! fseeko missing from libc. Using a hack, "
849                    printf "which probably doesn't work.\n"
850                    printf "#define HACK_FSEEKO\n" >> config.h
851            else
852                    printf "using -D_LARGEFILE_SOURCE hack\n"
853                    CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE"
854            fi
855  else  else
856          printf "yes\n"          printf "found\n"
857  fi  fi
858  rm -f _tests.[co] _tests  rm -f _tests.[co] _tests
859    
# Line 841  if [ ! -x _tests ]; then Line 871  if [ ! -x _tests ]; then
871          printf "no, using int\n"          printf "no, using int\n"
872          CFLAGS="$CFLAGS -Dsocklen_t=int"          CFLAGS="$CFLAGS -Dsocklen_t=int"
873  else  else
874          printf "yes\n"          printf "socklen_t\n"
875  fi  fi
876  rm -f _tests.[co] _tests  rm -f _tests.[co] _tests
877    
# Line 878  fi Line 908  fi
908  rm -f _tests.[co] _tests  rm -f _tests.[co] _tests
909    
910    
911    #  Check for PRIx64 in inttypes.h:
912    printf "checking for PRIx64 in inttypes.h... "
913    printf "#include <inttypes.h>\nint main(int argc, char *argv[])\n
914    {\n#ifdef PRIx64\nreturn 0;\n#else\nreturn 1;\n#endif\n}\n" > _testpri.c
915    $CC $CFLAGS _testpri.c -o _testpri 2> /dev/null
916    if [ ! -x _testpri ]; then
917            printf "\nERROR! COULD NOT COMPILE PRIx64 TEST PROGRAM AT ALL!\n"
918            exit
919    else
920            if ./_testpri; then
921                    printf "yes\n"
922            else
923                    printf "no, using an ugly hack instead, "
924                    printf "#define NO_C99_PRINTF_DEFINES\n" >> config.h
925    
926                    # Try llx first:
927                    printf "#include <stdio.h>\n#include <inttypes.h>\nint main(int argc, char *argv[]){
928                        printf(\"%%llx\\\n\", (int64_t)128);return 0;}\n" > _testpri.c
929                    rm -f _testpri
930                    $CC $CFLAGS $CWARNINGS _testpri.c -o _testpri 2> /dev/null
931                    if [ z`./_testpri` = z80 ]; then
932                            printf "PRIx64=llx\n"
933                            printf "#define NO_C99_64BIT_LONGLONG\n" >> config.h
934                    else
935                            # Try lx too:
936                            printf "#include <stdio.h>\n#include <inttypes.h>\nint main(int argc, char *argv[]){
937                                printf(\"%%lx\\\n\", (int64_t)128);return 0;}\n" > _testpri.c
938                            rm -f _testpri
939                            $CC $CFLAGS $CWARNINGS _testpri.c -o _testpri 2> /dev/null
940                            if [ z`./_testpri` = z80 ]; then
941                                    printf "PRIx64=lx\n"
942                            else
943                                    printf "\nFailed, neither lx nor llx worked!\n"
944                                    exit
945                            fi
946                    fi
947            fi
948    fi
949    rm -f _testpri.c _testpri
950    
951    
952  #  Check for 64-bit off_t:  #  Check for 64-bit off_t:
953  printf "checking for 64-bit off_t... "  printf "checking for 64-bit off_t... "
954  printf "#include <stdio.h>\n#include <inttypes.h>\n#include <sys/types.h>\n  printf "#include <stdio.h>\n#include <inttypes.h>\n#include <sys/types.h>\n
# Line 913  rm -f _testoff.c _testoff Line 984  rm -f _testoff.c _testoff
984    
985    
986  #  Check for u_int8_t etc:  #  Check for u_int8_t etc:
987    #  These are needed because some header files in src/include/ use u_int*
988    #  instead of uint*, and I don't have time to rewrite them all.
989  printf "checking for u_int8_t... "  printf "checking for u_int8_t... "
990  printf "#include <stdio.h>\n#include <inttypes.h>\n#include <sys/types.h>\n  printf "#include <stdio.h>\n#include <inttypes.h>\n#include <sys/types.h>\n
991  int main(int argc, char *argv[]){printf(\"%%i\\\n\",  int main(int argc, char *argv[]){printf(\"%%i\\\n\",
# Line 934  if [ ! -x _testuint ]; then Line 1007  if [ ! -x _testuint ]; then
1007          printf "typedef uint8_t u_int8_t;\n" >> config.h          printf "typedef uint8_t u_int8_t;\n" >> config.h
1008          printf "typedef uint16_t u_int16_t;\n" >> config.h          printf "typedef uint16_t u_int16_t;\n" >> config.h
1009          printf "typedef uint32_t u_int32_t;\n" >> config.h          printf "typedef uint32_t u_int32_t;\n" >> config.h
         printf "typedef uint64_t u_int64_t;\n" >> config.h  
1010          printf "uint8_t\n"          printf "uint8_t\n"
1011  else  else
1012          printf "yes\n"          printf "yes\n"
1013  fi  fi
1014  rm -f _testuint.c _testuint  rm -f _testuint.c _testuint
1015    
1016    printf "checking for u_int64_t... "
1017    printf "#include <stdio.h>\n#include <inttypes.h>\n#include <sys/types.h>\n
1018    int main(int argc, char *argv[]){printf(\"%%i\\\n\",
1019     (int)sizeof(u_int64_t));return 0;}\n" > _testuint.c
1020    $CC $CFLAGS _testuint.c -o _testuint 2> /dev/null
1021    if [ ! -x _testuint ]; then
1022            rm -f _testuint*
1023            printf "#include <stdio.h>\n#include <inttypes.h>
1024            \n#include <sys/types.h>\nint main(int argc, char *argv[])
1025            {printf(\"%%i\\\n\", (int)sizeof(uint64_t));return 0;}\n" > _testuint.c
1026            $CC $CFLAGS _testuint.c -o _testuint 2> /dev/null
1027            if [ ! -x _testuint ]; then
1028                    printf "no\n\nERROR: No u_int64_t or uint64_t. Aborting\n"
1029                    #  TODO: Automagically detect using various combinations
1030                    #  of char, int, short, long etc.
1031                    exit
1032            fi
1033    
1034            printf "typedef uint64_t u_int64_t;\n" >> config.h
1035            printf "uint64_t\n"
1036    else
1037            printf "yes\n"
1038    fi
1039    rm -f _testuint.c _testuint
1040    
1041    
1042    ###############################################################################
1043    
1044    #  Host byte order?
1045    printf "checking host endianness... "
1046    rm -f _test_end*
1047    printf '#include <stdio.h>
1048    int main(int argc, char *argv[])
1049    {  int x = 1; void *xp = (void *)&x; char *p = (char *)xp;
1050    if (*p) printf("little\\\n"); else printf("big\\\n"); }
1051    ' > _test_end.c
1052    $CC $CFLAGS _test_end.c -o _test_end 2> /dev/null
1053    X=`./_test_end`
1054    echo $X
1055    if [ z$X = zlittle ]; then
1056            printf "#define HOST_LITTLE_ENDIAN\n" >> config.h
1057    else
1058            if [ z$X = zbig ]; then
1059                    printf "#define HOST_BIG_ENDIAN\n" >> config.h
1060            else
1061                    echo "Error! Could not determine host's endianness."
1062                    exit
1063            fi
1064    fi
1065    rm -f _test_end*
1066    
1067    
1068  ###############################################################################  ###############################################################################
1069  #  #
1070  #  Dynamic binary translation (BINTRANS):  #  Native code generation backend:  (Detect host ABI.)
1071  #  #
1072  ###############################################################################  ###############################################################################
1073    
1074  printf "checking for bintrans backend... "  if [ z$UNSTABLE = zYES ]; then
1075            printf "detecting native code generation ABI... "
1076    
 BINTRANS=NO  
   
 if [ z$ENABLEMIPS = zNO ]; then  
         printf "NO!\nTEMPORARY HACK/PROBLEM: Disabling bintrans for now,\n"  
         printf "until things have stabilized.\n"  
         NOBINTRANS=YES  
 fi  
   
 if [ z$NOBINTRANS = zYES ]; then  
         printf "disabled\n"  
 else  
         #  Alpha:  
1077          if [ z"`uname -m`" = zalpha ]; then          if [ z"`uname -m`" = zalpha ]; then
1078                  printf "#define ALPHA\n" >> config.h                  NATIVE_CODE_GENERATION=YES
                 printf "#define BINTRANS\n" >> config.h  
1079                  printf "Alpha\n"                  printf "Alpha\n"
1080                  BINTRANS=YES                  printf "#define NATIVE_CODE_GENERATION\n" >> config.h
1081                    printf "#define HOST_ARCH_ALPHA\n" >> config.h
1082          fi          fi
1083    
1084          #  x86:  (all machines ending in "86" are treated as i386)          if [ z"`uname -m`" = zamd64 ]; then
1085          if [ z"`uname -m|rev|cut -c1-2`" = z68 ]; then                  NATIVE_CODE_GENERATION=YES
1086                  printf "#define I386\n" >> config.h                  printf "amd64\n"
1087                  printf "#define BINTRANS\n" >> config.h                  printf "#define NATIVE_CODE_GENERATION\n" >> config.h
1088                  printf "i386\n"                  printf "#define HOST_ARCH_AMD64\n" >> config.h
                 BINTRANS=YES  
         fi  
   
 # MIPS not yet  
 #       #  MIPS:  
 #       if [ z"`uname -m`" = zmips ]; then  
 #               printf "#define MIPS\n" >> config.h  
 #               printf "#define BINTRANS\n" >> config.h  
 #               printf "MIPS\n"  
 #               BINTRANS=YES  
 #       fi  
   
 #       #  UltraSPARC:  
 #       if [ z"`uname -m`" = zsun4u ]; then  
 #               printf "#define SPARCV9\n" >> config.h  
 #               printf "#define BINTRANS\n" >> config.h  
 #               printf "SPARC V9\n"  
 #               BINTRANS=YES  
 #       else  
 #               if [ z"`uname -m`" = zsparc64 ]; then  
 #                       printf "#define SPARCV9\n" >> config.h  
 #                       printf "#define BINTRANS\n" >> config.h  
 #                       printf "SPARC V9\n"  
 #                       BINTRANS=YES  
 #               fi  
 #       fi  
   
         if [ z$BINTRANS = zNO ]; then  
                 printf "not supported yet on this arch\n"  
1089          fi          fi
 fi  
1090    
1091            if [ z"`uname -m`" = zx86_64 ]; then
1092                    NATIVE_CODE_GENERATION=YES
1093                    printf "amd64\n"
1094                    printf "#define NATIVE_CODE_GENERATION\n" >> config.h
1095                    printf "#define HOST_ARCH_AMD64\n" >> config.h
1096            fi
1097    
1098  ###############################################################################          if [ z$NATIVE_CODE_GENERATION = z ]; then
1099                    printf "not supported yet for this host platform\n"
1100  #  Prefetch support?          fi
 printf "checking for asm prefetch support... "  
 if [ z"`uname -m`" = zalpha ]; then  
         rm -f _alpha_asm_test.c _alpha_asm_test  
         printf 'int main(int argc, char *argv[])  
          { int x; int *y = &x; asm ("ldl $31,0(%%0)" : : "g" (y));  
           return 0; }\n' > _alpha_asm_test.c  
         $CC $CFLAGS -O2 _alpha_asm_test.c -o _alpha_asm_test \  
             > /dev/null 2> /dev/null  
         if [ -x _alpha_asm_test ]; then  
 #               printf "#define HAVE_PREFETCH\n" >> config.h  
                 printf "#define PREFETCH(x) asm(\"ldl" >> config.h  
                 printf " \$31,0(%%0)\" : : \"g\" (x))\n" >> config.h  
                 echo "yes"  
                 PREFSUP=YES  
         fi  
         rm -f _alpha_asm_test.c _alpha_asm_test  
 fi  
 if [ z$PREFSUP = z ]; then  
         printf "#define PREFETCH(x) { }\n" >> config.h  
         echo "no"  
1101  fi  fi
1102    
1103    
# Line 1038  fi Line 1106  fi
1106  INCLUDE=-Iinclude/  INCLUDE=-Iinclude/
1107  DINCLUDE=-I../include/  DINCLUDE=-I../include/
1108    
1109    rm -f _testprog.c
1110    
1111  echo C compiler flags: $CFLAGS $CWARNINGS  echo C compiler flags: $CFLAGS $CWARNINGS
1112  echo Linker flags: $OTHERLIBS  echo Linker flags: $OTHERLIBS
1113  echo "CWARNINGS=$CWARNINGS" >> _Makefile.header  echo "CWARNINGS=$CWARNINGS" >> _Makefile.header
# Line 1046  echo "INCLUDE=$INCLUDE" >> _Makefile.hea Line 1116  echo "INCLUDE=$INCLUDE" >> _Makefile.hea
1116  echo "DINCLUDE=$DINCLUDE" >> _Makefile.header  echo "DINCLUDE=$DINCLUDE" >> _Makefile.header
1117  echo "CC=$CC" >> _Makefile.header  echo "CC=$CC" >> _Makefile.header
1118  echo "OTHERLIBS=$OTHERLIBS" >> _Makefile.header  echo "OTHERLIBS=$OTHERLIBS" >> _Makefile.header
1119    echo "CPU_ARCHS=$CPU_ARCHS" >> _Makefile.header
1120    echo "CPU_TOOLS=$CPU_TOOLS" >> _Makefile.header
1121  echo "" >> _Makefile.header  echo "" >> _Makefile.header
1122    
1123    
 printf "Regression test setup: (not really needed to build gxemul)\n"  
   
   
 ##  64-bit HPPA cross-assembler:  
 #  
 #HPPA=''  
 #if [ z$ENABLEHPPA = zYES ]; then  
 #       printf "Checking for a GNU cross-assembler for 64-bit HPPA... "  
 #       echo 'nop' > _testprog.s  
 #  
 #       for HPPA_TRY in hppa64-unknown-elf hppa64-elf; do  
 #               printf '#!/bin/sh\n'$HPPA_TRY'-as _testprog.s' > _test.sh  
 #               printf ' -o _testprog.o\n' >> _test.sh  
 #               chmod 755 _test.sh  
 #               rm -f _testprog.o  
 #               ./_test.sh > /dev/null 2> /dev/null  
 #               if [ -f _testprog.o ]; then  
 #                       HPPA=$HPPA_TRY  
 #                       break  
 #               fi  
 #               rm -f _testprog.o  
 #       done  
 #  
 #       if [ z$HPPA = z ]; then  
 #               echo "none"  
 #       else  
 #               echo $HPPA"-gcc"  
 #       fi  
 #fi  
 #rm -f _testprog* _test.sh  
 #  
 ## TODO: are these ok?  64-bit mode!  
 ##echo "HPPA_CC="$HPPA"-gcc -g -O2 -fno-builtin -fschedule-insns" \  
 ##      >> _Makefile.header  
 #echo "HPPA_AS="$HPPA"-as " >> _Makefile.header  
 #echo "HPPA_LD="$HPPA"-ld -Ttext 0xa800000000030000 -e main" \  
 #    "--oformat=elf64-bigmips" >> _Makefile.header  
 #echo "" >> _Makefile.header  
   
   
 #  64-bit MIPS cross-compiler:  
   
 MIPS=''  
 if [ z$ENABLEMIPS = zYES ]; then  
         printf "Checking for a GNU cross-compiler for 64-bit MIPS... "  
         echo 'int f(int x) { return x; }' > _testprog.c  
   
         for MIPS_TRY in mips64-unknown-elf mips64-elf mips-unknown-elf64; do  
                 printf '#!/bin/sh\n'$MIPS_TRY'-gcc _testprog.c -c\n' > _test.sh  
                 chmod 755 _test.sh  
                 rm -f _testprog.o  
                 ./_test.sh > /dev/null 2> /dev/null  
                 if [ -f _testprog.o ]; then  
                         MIPS=$MIPS_TRY  
                         break  
                 fi  
                 rm -f _testprog.o  
         done  
   
         if [ z$MIPS = z ]; then  
                 echo "none"  
         else  
                 echo $MIPS"-gcc"  
         fi  
 fi  
 rm -f _testprog* _test.sh  
   
 echo "MIPS_CC="$MIPS"-gcc -g -O2 -fno-builtin -fschedule-insns" \  
     "-mips64 -mabi=64" >> _Makefile.header  
 echo "MIPS_AS="$MIPS"-as -mabi=64 -mips64" >> _Makefile.header  
 echo "MIPS_LD="$MIPS"-ld -Ttext 0xa800000000030000 -e main" \  
     "--oformat=elf64-bigmips" >> _Makefile.header  
 echo "" >> _Makefile.header  
   
   
 ##  PPC64 cross-assembler:  
 #  
 #PPC=''  
 #if [ z$ENABLEPPC = zYES ]; then  
 #       printf "Checking for a GNU cross-assembler for 64-bit PPC... "  
 #       echo 'nop' > _testprog.s  
 #  
 #       for a in ppc64 powerpc64; do  
 #         for b in unknown; do  
 #           for c in elf elf64 linux linux64 aix aix5; do  
 #               PPC_TRY=$a-$b-$c  
 #               printf '#!/bin/sh\n'$PPC_TRY'-as _testprog.s' > _test.sh  
 #               printf ' -o _testprog.o\n' >> _test.sh  
 #               chmod 755 _test.sh  
 #               rm -f _testprog.o  
 #               ./_test.sh > /dev/null 2> /dev/null  
 #               if [ -f _testprog.o ]; then  
 #                       PPC=$PPC_TRY  
 #                       break  
 #               fi  
 #               rm -f _testprog.o  
 #           done  
 #         done  
 #       done  
 #  
 #       if [ z$PPC = z ]; then  
 #               echo "none"  
 #       else  
 #               echo $PPC"-as"  
 #       fi  
 #fi  
 #rm -f _testprog* _test.sh  
 #  
 ##echo "PPC_CC="$PPC"-gcc -g -O2 -fno-builtin" >> _Makefile.header  
 #echo "PPC_AS="$PPC"-as" >> _Makefile.header  
 #echo "PPC_LD="$PPC"-ld -e main" >> _Makefile.header  
 #echo "" >> _Makefile.header  
   
   
 ##  SPARC64 cross-compiler:  
 #  
 #SPARC=''  
 #if [ z$ENABLESPARC = zYES ]; then  
 #       printf "Checking for a GNU cross-compiler for 64-bit SPARC... "  
 #       echo 'int f(int x) { return x; }' > _testprog.c  
 #  
 #       for a in sparc64; do  
 #         for b in unknown; do  
 #           for c in elf elf64; do  
 #               SPARC_TRY=$a-$b-$c  
 #               printf '#!/bin/sh\n'$SPARC_TRY'-gcc _testprog.c -c' > _test.sh  
 #               printf ' -o _testprog.o\n' >> _test.sh  
 #               chmod 755 _test.sh  
 #               rm -f _testprog.o  
 #               ./_test.sh > /dev/null 2> /dev/null  
 #               if [ -f _testprog.o ]; then  
 #                       SPARC=$SPARC_TRY  
 #                       break  
 #               fi  
 #               rm -f _testprog.o  
 #           done  
 #         done  
 #       done  
 #  
 #       if [ z$SPARC = z ]; then  
 #               echo "none"  
 #       else  
 #               echo $SPARC"-gcc"  
 #       fi  
 #fi  
 #rm -f _testprog* _test.sh  
 #  
 #echo "SPARC_CC="$SPARC"-gcc -g -O2 -fno-builtin" >> _Makefile.header  
 #echo "SPARC_AS="$SPARC"-as" >> _Makefile.header  
 #echo "SPARC_LD="$SPARC"-ld -e main" >> _Makefile.header  
 #echo "" >> _Makefile.header  
   
   
1124  #  Create the Makefiles:  #  Create the Makefiles:
1125    D=". src src/include src/cpus src/debugger src/devices src/devices/fonts"
1126  for a in . src src/devices src/devices/fonts tests; do  D="$D src/disk src/file src/machines src/native src/net src/promemul"
1127    for a in $D; do
1128          echo "creating $a/Makefile"          echo "creating $a/Makefile"
1129          touch $a/Makefile          touch $a/Makefile
1130          cat _Makefile.header > $a/Makefile          cat _Makefile.header > $a/Makefile

Legend:
Removed from v.4  
changed lines
  Added in v.38

  ViewVC Help
Powered by ViewVC 1.1.26