/[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 16 by dpavlin, Mon Oct 8 16:19:01 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 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-2006  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.172 2005/10/09 21:32:05 debug Exp $  #  $Id: configure,v 1.235 2006/10/28 13:04:37 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  #
53  #                              Alphas have it...)  #
54  #  #  The general philosophy regarding command line switches is that anything
55  #  TODO:  #  which can be incorporated into the program as a runtime command line option
56  #    o)  do not enable prefetch on Alpha ev4 or ev5, only on pca56 and newer  #  should be, instead of requiring a recompile.
 #    o)  X11 libs and includes via command line options?  
57  #  #
58  ###############################################################################  ###############################################################################
59    
# Line 62  Line 61 
61  X=`basename \`pwd\`|cut -d \- -f 2-|cut -c1-2`  X=`basename \`pwd\`|cut -d \- -f 2-|cut -c1-2`
62  if [ z"$X" = z0. ]; then  if [ z"$X" = z0. ]; then
63          #  Stable:          #  Stable:
64            ENABLEALPHA=YES
65          ENABLEARM=YES          ENABLEARM=YES
66          ENABLEMIPS=YES          ENABLEMIPS=YES
67            ENABLEPPC=YES
68            ENABLESH=YES
69  else  else
70          #  Development:          #  Development:
71            UNSTABLE=YES
72          ENABLEALPHA=YES          ENABLEALPHA=YES
73          ENABLEARM=YES          ENABLEARM=YES
74          ENABLEAVR=NO          ENABLEAVR=YES
75          ENABLEHPPA=NO          ENABLEAVR32=YES
76          ENABLEI960=NO          ENABLEHPPA=YES
77          ENABLEIA64=NO          ENABLEI960=YES
78          ENABLEM68K=NO          ENABLEIA64=YES
79            ENABLEM68K=YES
80          ENABLEMIPS=YES          ENABLEMIPS=YES
81          ENABLEPPC=YES          ENABLEPPC=YES
82          ENABLESH=NO          ENABLERCA180X=YES
83          ENABLESPARC=NO          ENABLESH=YES
84          ENABLEX86=NO          ENABLESPARC=YES
85            ENABLETRANSPUTER=YES
86            ENABLEX86=YES
87    fi
88    
89    if [ z"$UNSTABLE" = zYES ]; then
90            printf "###\n###  DEVELOPMENT (UNSTABLE)\n###\n\n"
91  fi  fi
92    
93  if [ z"$*" != z ]; then  if [ z"$*" != z ]; then
# Line 85  if [ z"$*" != z ]; then Line 95  if [ z"$*" != z ]; then
95          for a in $*; do          for a in $*; do
96                  if [ z$a = z--disable-x ]; then                  if [ z$a = z--disable-x ]; then
97                          NOX11=YES                          NOX11=YES
                 else if [ z$a = z--always32 ]; then  
                         ALWAYS32=YES  
                 else if [ z$a = z--tracenull ]; then  
                         TRACENULL=YES  
                 else if [ z$a = z--disable-bintrans ]; then  
                         NOBINTRANS=YES  
                 else if [ z$a = z--enable-bintrans ]; then  
                         NOBINTRANS=NO  
                 else if [ z$a = z--disable-mips16 ]; then  
                         MIPS16=NO  
                 else if [ z$a = z--enable-mips16 ]; then  
                         MIPS16=YES  
                 else if [ z$a = z--enable-all ]; then  
                         ENABLEALPHA=YES  
                         ENABLEARM=YES  
                         ENABLEAVR=YES  
                         ENABLEHPPA=YES  
                         ENABLEI960=YES  
                         ENABLEIA64=YES  
                         ENABLEM68K=YES  
                         ENABLEMIPS=YES  
                         ENABLEPPC=YES  
                         ENABLESH=YES  
                         ENABLESPARC=YES  
                         ENABLEX86=YES  
                 else if [ z$a = z--disable-alpha ]; then  
                         ENABLEALPHA=NO  
                 else if [ z$a = z--enable-alpha ]; then  
                         ENABLEALPHA=YES  
                 else if [ z$a = z--disable-arm ]; then  
                         ENABLEARM=NO  
                 else if [ z$a = z--enable-arm ]; then  
                         ENABLEARM=YES  
                 else if [ z$a = z--disable-avr ]; then  
                         ENABLEAVR=NO  
                 else if [ z$a = z--enable-avr ]; then  
                         ENABLEAVR=YES  
                 else if [ z$a = z--disable-hppa ]; then  
                         ENABLEHPPA=NO  
                 else if [ z$a = z--enable-hppa ]; then  
                         ENABLEHPPA=YES  
                 else if [ z$a = z--disable-i960 ]; then  
                         ENABLEI960=NO  
                 else if [ z$a = z--enable-i960 ]; then  
                         ENABLEI960=YES  
                 else if [ z$a = z--disable-ia64 ]; then  
                         ENABLEIA64=NO  
                 else if [ z$a = z--enable-ia64 ]; then  
                         ENABLEIA64=YES  
                 else if [ z$a = z--disable-m68k ]; then  
                         ENABLEM68K=NO  
                 else if [ z$a = z--enable-m68k ]; then  
                         ENABLEM86K=YES  
                 else if [ z$a = z--disable-mips ]; then  
                         ENABLEMIPS=NO  
                 else if [ z$a = z--enable-mips ]; then  
                         ENABLEMIPS=YES  
                 else if [ z$a = z--disable-ppc ]; then  
                         ENABLEPPC=NO  
                 else if [ z$a = z--enable-ppc ]; then  
                         ENABLEPPC=YES  
                 else if [ z$a = z--disable-sh ]; then  
                         ENABLESH=NO  
                 else if [ z$a = z--enable-sh ]; then  
                         ENABLESH=YES  
                 else if [ z$a = z--disable-sparc ]; then  
                         ENABLESPARC=NO  
                 else if [ z$a = z--enable-sparc ]; then  
                         ENABLESPARC=YES  
                 else if [ z$a = z--disable-x86 ]; then  
                         ENABLEX86=NO  
                 else if [ z$a = z--enable-x86 ]; then  
                         ENABLEX86=YES  
                 else if [ z$a = z--disable-delays ]; then  
                         DELAYS=NO  
                 else if [ z$a = z--enable-delays ]; then  
                         DELAYS=YES  
                 else if [ z$a = z--disable-caches ]; then  
                         CACHES=NO  
                 else if [ z$a = z--enable-caches ]; then  
                         CACHES=YES  
98                  else if [ z$a = z--help ]; then                  else if [ z$a = z--help ]; then
99                          echo "usage: $0 [options]"                          printf "usage: $0 [options]\n\n"
100                            echo "  --disable-x         don't include X11 support,"\
101                          printf "\nGeneral options:\n\n"                              "even if the host supports it"
102                            echo
                         echo "  --disable-bintrans  configure without the" \  
                             "old binary translation subsystem,"  
                         echo "                      even if the host" \  
                             "supports it"  
                         echo "  --disable-x         don't include X11 support"  
   
                         printf "\nDevelopment (debug) options:\n\n"  
   
                         echo "  --always32         enable ALWAYS_SIGNEXTEND_32"\  
                             "(for hunting down 32-bit bugs)"  
                         echo "  --tracenull        enable" \  
                             "TRACE_NULL_CRASHES (for bug hunting)"  
                         printf "  --enable-caches    enable cache emulation"  
                         printf " (BUGGY)\n"  
                         echo "  --enable-delays    enable instruction" \  
                             "latency/delay emulation"  
   
                         printf "  --enable-all       enable everything\n"  
   
                         if [ z$ENABLEALPHA = zYES ]; then  
                                 printf "  --disable-alpha    disable "  
                         else  
                                 printf "  --enable-alpha     enable "  
                         fi  
                         printf "Alpha CPU emulation\n"  
   
                         if [ z$ENABLEARM = zYES ]; then  
                                 printf "  --disable-arm      disable "  
                         else  
                                 printf "  --enable-arm       enable "  
                         fi  
                         printf "ARM CPU emulation\n"  
   
                         if [ z$ENABLEAVR = zYES ]; then  
                                 printf "  --disable-avr      disable "  
                         else  
                                 printf "  --enable-avr       enable "  
                         fi  
                         printf "Atmel AVR CPU emulation\n"  
   
                         if [ z$ENABLEHPPA = zYES ]; then  
                                 printf "  --disable-hppa     disable "  
                         else  
                                 printf "  --enable-hppa      enable "  
                         fi  
                         printf "HPPA CPU emulation\n"  
   
                         if [ z$ENABLEI960 = zYES ]; then  
                                 printf "  --disable-i960     disable "  
                         else  
                                 printf "  --enable-i960      enable "  
                         fi  
                         printf "i960 CPU emulation\n"  
   
                         if [ z$ENABLEIA64 = zYES ]; then  
                                 printf "  --disable-ia64     disable "  
                         else  
                                 printf "  --enable-ia64      enable "  
                         fi  
                         printf "IA64 CPU emulation\n"  
   
                         if [ z$ENABLEM68K = zYES ]; then  
                                 printf "  --disable-m68k     disable "  
                         else  
                                 printf "  --enable-m68k      enable "  
                         fi  
                         printf "M68K CPU emulation\n"  
   
                         if [ z$ENABLEMIPS = zYES ]; then  
                                 printf "  --disable-mips     disable "  
                         else  
                                 printf "  --enable-mips      enable "  
                         fi  
                         printf "MIPS CPU emulation\n"  
   
                         if [ z$ENABLEPPC = zYES ]; then  
                                 printf "  --disable-ppc      disable "  
                         else  
                                 printf "  --enable-ppc       enable "  
                         fi  
                         printf "POWER/PPC CPU emulation\n"  
   
                         if [ z$ENABLESH = zYES ]; then  
                                 printf "  --disable-sh       disable "  
                         else  
                                 printf "  --enable-sh        enable "  
                         fi  
                         printf "SH CPU emulation\n"  
   
                         if [ z$ENABLESPARC = zYES ]; then  
                                 printf "  --disable-sparc    disable "  
                         else  
                                 printf "  --enable-sparc     enable "  
                         fi  
                         printf "SPARC CPU emulation\n"  
   
                         if [ z$ENABLEX86 = zYES ]; then  
                                 printf "  --disable-x86      disable "  
                         else  
                                 printf "  --enable-x86       enable "  
                         fi  
                         printf "x86 CPU emulation\n"  
   
                         echo "  --enable-mips16    enable MIPS16 support"  
   
                         printf "\n(Pretty much all of these options are only"  
                         printf " meaningful during the development of\nthe"  
                         printf " emulator, and should not be used when "  
                         printf "compiling a stable version.)\n"  
103                          exit                          exit
104                  else                  else
105                          echo "Invalid option: $a"                          echo "Invalid option: $a"
106                          echo "Run  $0 --help  to get a list of" \                          echo "Run  $0 --help  to get a list of" \
107                              "available options."                              "available options."
108                          exit                          exit
109                  fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi                  fi; fi
                 fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi  
                 fi; fi; fi; fi; fi  
110          done          done
111  fi  fi
112    
# Line 318  else Line 136  else
136  fi  fi
137    
138    
139    if [ z"$UNSTABLE" = zYES ]; then
140            printf "#define UNSTABLE_DEVEL\n" >> config.h
141    fi
142    
143    
144  ZZ=`echo compiled on \`uname\`/\`uname -m\`, \`date\``  ZZ=`echo compiled on \`uname\`/\`uname -m\`, \`date\``
145  printf "#define COMPILE_DATE \"$ZZ\"\n" >> config.h  printf "#define COMPILE_DATE \"$ZZ\"\n" >> config.h
146    
147    
148    
149  #  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  
150  if [ z$ENABLEALPHA = zYES ]; then  if [ z$ENABLEALPHA = zYES ]; then
151          printf "#define ENABLE_ALPHA\n" >> config.h          printf "#define ENABLE_ALPHA\n" >> config.h
152          CPU_ARCHS="$CPU_ARCHS cpu_alpha.o cpu_alpha_palcode.o"          CPU_ARCHS="$CPU_ARCHS cpu_alpha.o cpu_alpha_palcode.o memory_alpha.o"
153          CPU_TOOLS="$CPU_TOOLS generate_alpha_misc"          CPU_TOOLS="$CPU_TOOLS generate_alpha_misc"
154  fi  fi
155  if [ z$ENABLEARM = zYES ]; then  if [ z$ENABLEARM = zYES ]; then
# Line 345  if [ z$ENABLEARM = zYES ]; then Line 163  if [ z$ENABLEARM = zYES ]; then
163          CPU_ARCHS="$CPU_ARCHS tmp_arm_r8.o tmp_arm_r9.o"          CPU_ARCHS="$CPU_ARCHS tmp_arm_r8.o tmp_arm_r9.o"
164          CPU_ARCHS="$CPU_ARCHS tmp_arm_ra.o tmp_arm_rb.o"          CPU_ARCHS="$CPU_ARCHS tmp_arm_ra.o tmp_arm_rb.o"
165          CPU_ARCHS="$CPU_ARCHS tmp_arm_rc.o tmp_arm_rd.o"          CPU_ARCHS="$CPU_ARCHS tmp_arm_rc.o tmp_arm_rd.o"
166          CPU_ARCHS="$CPU_ARCHS tmp_arm_re.o tmp_arm_rf.o"          CPU_ARCHS="$CPU_ARCHS tmp_arm_re.o tmp_arm_rf.o tmp_arm_multi.o"
167          CPU_TOOLS="$CPU_TOOLS generate_arm_dpi generate_arm_r"          CPU_TOOLS="$CPU_TOOLS generate_arm_dpi generate_arm_r"
168          CPU_TOOLS="$CPU_TOOLS generate_arm_loadstore"          CPU_TOOLS="$CPU_TOOLS generate_arm_loadstore generate_arm_multi"
169  fi  fi
170  if [ z$ENABLEAVR = zYES ]; then  if [ z$ENABLEAVR = zYES ]; then
171          printf "#define ENABLE_AVR\n" >> config.h          printf "#define ENABLE_AVR\n" >> config.h
172          CPU_ARCHS="$CPU_ARCHS cpu_avr.o"          CPU_ARCHS="$CPU_ARCHS cpu_avr.o"
173  fi  fi
174    if [ z$ENABLEAVR32 = zYES ]; then
175            printf "#define ENABLE_AVR32\n" >> config.h
176            CPU_ARCHS="$CPU_ARCHS cpu_avr32.o"
177    fi
178  if [ z$ENABLEHPPA = zYES ]; then  if [ z$ENABLEHPPA = zYES ]; then
179          printf "#define ENABLE_HPPA\n" >> config.h          printf "#define ENABLE_HPPA\n" >> config.h
180          CPU_ARCHS="$CPU_ARCHS cpu_hppa.o"          CPU_ARCHS="$CPU_ARCHS cpu_hppa.o"
# Line 371  if [ z$ENABLEM68K = zYES ]; then Line 193  if [ z$ENABLEM68K = zYES ]; then
193  fi  fi
194  if [ z$ENABLEMIPS = zYES ]; then  if [ z$ENABLEMIPS = zYES ]; then
195          printf "#define ENABLE_MIPS\n" >> config.h          printf "#define ENABLE_MIPS\n" >> config.h
196            CPU_ARCHS="$CPU_ARCHS cpu_mips.o cpu_mips_coproc.o "
197            CPU_ARCHS="$CPU_ARCHS cpu_mips_instr_unaligned.o"
198            CPU_TOOLS="$CPU_TOOLS generate_mips_loadstore"
199  fi  fi
200  if [ z$ENABLEPPC = zYES ]; then  if [ z$ENABLEPPC = zYES ]; then
201          printf "#define ENABLE_PPC\n" >> config.h          printf "#define ENABLE_PPC\n" >> config.h
202          CPU_ARCHS="$CPU_ARCHS cpu_ppc.o"          CPU_ARCHS="$CPU_ARCHS cpu_ppc.o"
203          CPU_TOOLS="$CPU_TOOLS generate_ppc_loadstore"          CPU_TOOLS="$CPU_TOOLS generate_ppc_loadstore"
204  fi  fi
205    if [ z$ENABLERCA180X = zYES ]; then
206            printf "#define ENABLE_RCA180X\n" >> config.h
207            CPU_ARCHS="$CPU_ARCHS cpu_rca180x.o"
208    fi
209  if [ z$ENABLESH = zYES ]; then  if [ z$ENABLESH = zYES ]; then
210          printf "#define ENABLE_SH\n" >> config.h          printf "#define ENABLE_SH\n" >> config.h
211          CPU_ARCHS="$CPU_ARCHS cpu_sh.o"          CPU_ARCHS="$CPU_ARCHS cpu_sh.o memory_sh.o"
212  fi  fi
213  if [ z$ENABLESPARC = zYES ]; then  if [ z$ENABLESPARC = zYES ]; then
214          printf "#define ENABLE_SPARC\n" >> config.h          printf "#define ENABLE_SPARC\n" >> config.h
215          CPU_ARCHS="$CPU_ARCHS cpu_sparc.o"          CPU_ARCHS="$CPU_ARCHS cpu_sparc.o memory_sparc.o"
216            CPU_TOOLS="$CPU_TOOLS generate_sparc_loadstore"
217    fi
218    if [ z$ENABLETRANSPUTER = zYES ]; then
219            printf "#define ENABLE_TRANSPUTER\n" >> config.h
220            CPU_ARCHS="$CPU_ARCHS cpu_transputer.o"
221  fi  fi
222  if [ z$ENABLEX86 = zYES ]; then  if [ z$ENABLEX86 = zYES ]; then
223          printf "#define ENABLE_X86\n" >> config.h          printf "#define ENABLE_X86\n" >> config.h
# Line 391  if [ z$ENABLEX86 = zYES ]; then Line 225  if [ z$ENABLEX86 = zYES ]; then
225  fi  fi
226    
227    
 #  Instruction delay/latency emulation:  
 if [ z$DELAYS = zYES ]; then  
         echo 'Enabling Instruction delay/latency emulation.'  
         printf "#define ENABLE_INSTRUCTION_DELAYS\n" >> config.h  
 fi  
   
   
 #  Development option: ALWAYS_SIGNEXTEND_32  
 if [ z$ALWAYS32 = zYES ]; then  
         echo 'Enabling ALWAYS_SIGNEXTEND_32. (NOTE:' \  
             'This slows down everything.)'  
         printf "#define ALWAYS_SIGNEXTEND_32\n" >> config.h  
 fi  
   
   
 #  Development option: TRACE_NULL_CRASHES  
 if [ z$TRACENULL = zYES ]; then  
         echo 'Enabling TRACE_NULL_CRASHES. (NOTE:' \  
             'This slows down the emulator.)'  
         printf "#define TRACE_NULL_CRASHES\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  
   
         printf "\nNOTE: Cache emulation enabled, but right now it triggers "  
         printf "weird bugs in the\n      emulator. You have been warned.\n\n"  
 fi  
   
   
228  ###############################################################################  ###############################################################################
229  #  #
230  #  Special hacks for some host OSes:  #  Special hacks for some host OSes:
# Line 767  if [ -x _testprog ]; then Line 561  if [ -x _testprog ]; then
561          if [ z"$COMPAQCC" = zYES ]; then          if [ z"$COMPAQCC" = zYES ]; then
562                  CWARNINGS="$CWARNINGS -msg_disable longlongtype,unusedtop"                  CWARNINGS="$CWARNINGS -msg_disable longlongtype,unusedtop"
563          fi          fi
564    
565            if [ z"$UNSTABLE" = zYES ]; then
566                    printf "checking whether -Werror can be used... "
567                    rm -f _testprog
568                    $CC $CFLAGS $CWARNINGS _testprog.c -o _testprog -Werror 2> /dev/null
569                    if [ -x _testprog ]; then
570                            printf "yes\n"
571                            CWARNINGS="$CWARNINGS -Werror"
572                    else
573                            printf "no\n"
574                    fi
575            fi
576  else  else
577          printf "no\n"          printf "no\n"
578  fi  fi
# Line 774  rm -f _testprog Line 580  rm -f _testprog
580    
581    
582  if [ z"$COMPAQCC" = zYES ]; then  if [ z"$COMPAQCC" = zYES ]; then
583          #  -O4 is possible, but is -O3 better?          #  -O4 is possible, but sometimes -O3 is better?
584          CFLAGS="-O4 $CFLAGS"          CFLAGS="-O4 $CFLAGS"
585  else  else
586          if [ z"`uname`" = zSunOS ]; then          if [ z"`uname`" = zSunOS ]; then
# Line 789  else Line 595  else
595                  $CC $CFLAGS _testprog.c -o _testprog -O 2> /dev/null                  $CC $CFLAGS _testprog.c -o _testprog -O 2> /dev/null
596                  if [ -x _testprog ]; then                  if [ -x _testprog ]; then
597                          rm -f _testprog                          rm -f _testprog
598                          $CC $CFLAGS _testprog.c -o _testprog -O2 2> /dev/null                          $CC $CFLAGS _testprog.c -o _testprog -O3 2> /dev/null
599                          if [ -x _testprog ]; then                          if [ -x _testprog ]; then
600                                  CFLAGS="-O2 $CFLAGS"                                  CFLAGS="-O3 $CFLAGS"
601                          else                          else
602                                  CFLAGS="-O $CFLAGS"                                  CFLAGS="-O $CFLAGS"
603                          fi                          fi
# Line 879  fi Line 685  fi
685  rm -f _testprog _testprog.error _testprog.stdout  rm -f _testprog _testprog.error _testprog.stdout
686    
687    
688    #  -g, for development builds
689    if [ z"$UNSTABLE" = zYES ]; then
690            printf "checking whether -g can be used... "
691            if [ z"$COMPAQCC" = zYES ]; then
692                    printf "skipping\n"
693            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"
701                            fi
702            fi
703            rm -f _testprog _testprog.error _testprog.stdout
704    fi
705    
706    
707  #  -lrt for nanosleep?  #  -lrt for nanosleep?
708  printf "checking whether -lrt is required for nanosleep... "  printf "checking whether -lrt is required for nanosleep... "
709  printf "#include <time.h>\n#include <stdio.h>  printf "#include <time.h>\n#include <stdio.h>
# Line 1013  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 "missing\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 "found\n"          printf "found\n"
857  fi  fi
# Line 1075  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 1166  rm -f _testuint.c _testuint Line 1040  rm -f _testuint.c _testuint
1040    
1041    
1042  ###############################################################################  ###############################################################################
 #  
 #  Dynamic binary translation (BINTRANS):  
 #  
 ###############################################################################  
   
 printf "checking for bintrans backend... "  
   
 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:  
         if [ z"`uname -m`" = zalpha ]; then  
                 printf "#define ALPHA\n" >> config.h  
                 printf "#define BINTRANS\n" >> config.h  
                 printf "Alpha\n"  
                 BINTRANS=YES  
         fi  
   
         #  x86:  (all machines ending in "86" are treated as i386)  
         if [ z"`uname -m|rev|cut -c1-2`" = z68 ]; then  
                 printf "#define I386\n" >> config.h  
                 printf "#define BINTRANS\n" >> config.h  
                 printf "i386\n"  
                 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"  
         fi  
 fi  
   
   
 ###############################################################################  
1043    
1044  #  Host byte order?  #  Host byte order?
1045  printf "checking host endianness... "  printf "checking host endianness... "
# Line 1257  rm -f _test_end* Line 1066  rm -f _test_end*
1066    
1067  ###############################################################################  ###############################################################################
1068    
 #  Prefetch support?  
 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"  
 fi  
   
   
 ###############################################################################  
   
1069  INCLUDE=-Iinclude/  INCLUDE=-Iinclude/
1070  DINCLUDE=-I../include/  DINCLUDE=-I../include/
1071    
# Line 1302  echo "" >> _Makefile.header Line 1085  echo "" >> _Makefile.header
1085    
1086    
1087  #  Create the Makefiles:  #  Create the Makefiles:
1088    D=". src src/include src/cpus src/debugger src/devices src/devices/fonts"
1089  for a in . src src/cpus src/devices src/devices/fonts src/promemul; do  D="$D src/machines src/net src/promemul"
1090    for a in $D; do
1091          echo "creating $a/Makefile"          echo "creating $a/Makefile"
1092          touch $a/Makefile          touch $a/Makefile
1093          cat _Makefile.header > $a/Makefile          cat _Makefile.header > $a/Makefile

Legend:
Removed from v.16  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26