/[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 22 by dpavlin, Mon Oct 8 16:19:37 2007 UTC revision 34 by dpavlin, Mon Oct 8 16:21:17 2007 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2  ###############################################################################  ###############################################################################
3  #  #
4  #  Copyright (C) 2003-2006  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.198 2006/02/18 13:15:20 debug Exp $  #  $Id: configure,v 1.243 2007/02/10 14:29:54 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)  native code generation backend (i.e. detect host architecture)
53  #  #
54  #  TODO:  #
55  #    o)  X11 libs and includes via command line options?  #  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    
# Line 59  Line 62 
62  X=`basename \`pwd\`|cut -d \- -f 2-|cut -c1-2`  X=`basename \`pwd\`|cut -d \- -f 2-|cut -c1-2`
63  if [ z"$X" = z0. ]; then  if [ z"$X" = z0. ]; then
64          #  Stable:          #  Stable:
65            ENABLEALPHA=YES
66          ENABLEARM=YES          ENABLEARM=YES
67          ENABLEMIPS=YES          ENABLEMIPS=YES
68          ENABLEPPC=YES          ENABLEPPC=YES
69            ENABLESH=YES
70  else  else
71          #  Development:          #  Development:
72          UNSTABLE=YES          UNSTABLE=YES
         DYNTRANSBACKEND=NO #YES  
73          ENABLEALPHA=YES          ENABLEALPHA=YES
74          ENABLEARM=YES          ENABLEARM=YES
75          ENABLEAVR=YES          ENABLEAVR=YES
         ENABLEHPPA=YES  
         ENABLEI960=YES  
         ENABLEIA64=YES  
76          ENABLEM68K=YES          ENABLEM68K=YES
77          ENABLEMIPS=YES          ENABLEMIPS=YES
         NEWMIPS=NO  
78          ENABLEPPC=YES          ENABLEPPC=YES
79            ENABLERCA180X=YES
80          ENABLESH=YES          ENABLESH=YES
81          ENABLESPARC=YES          ENABLESPARC=YES
82          ENABLEX86=YES          ENABLETRANSPUTER=YES
83  fi  fi
84    
85  if [ z"$UNSTABLE" = zYES ]; then  if [ z"$UNSTABLE" = zYES ]; then
86          printf "###  DEVELOPMENT (UNSTABLE)\n\n"          printf "###\n###  DEVELOPMENT (UNSTABLE)\n###\n\n"
87  fi  fi
88    
89  if [ z"$*" != z ]; then  if [ z"$*" != z ]; then
# Line 90  if [ z"$*" != z ]; then Line 91  if [ z"$*" != z ]; then
91          for a in $*; do          for a in $*; do
92                  if [ z$a = z--disable-x ]; then                  if [ z$a = z--disable-x ]; then
93                          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--disable-dyntransbackend ]; then  
                         DYNTRANSBACKEND=NO  
                 else if [ z$a = z--enable-dyntransbackend ]; then  
                         DYNTRANSBACKEND=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  
                 else if [ z$a = z--disable-newmips ]; then  
                         NEWMIPS=NO  
                 else if [ z$a = z--enable-newmips ]; then  
                         NEWMIPS=YES  
                 else if [ z$a = z--disable-1k-pages ]; then  
                         ONEKPAGE=NO  
                 else if [ z$a = z--enable-1k-pages ]; then  
                         ONEKPAGE=YES  
94                  else if [ z$a = z--help ]; then                  else if [ z$a = z--help ]; then
95                          echo "usage: $0 [options]"                          printf "usage: $0 [options]\n\n"
96                            echo "  --disable-x         don't include X11 support,"\
97                          printf "\nGeneral options:\n\n"                              "even if the host supports it"
98                            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)"  
                         printf "  --enable-caches    enable cache emulation"  
                         printf " (BUGGY)\n"  
                         echo "  --enable-delays    enable instruction" \  
                             "latency/delay emulation"  
   
                         if [ z$DYNTRANSBACKEND = zYES ]; then  
                                 printf "  --disable-dyntransbackend  disable "  
                         else  
                                 printf "  --enable-dyntransbackend  enable"  
                         fi  
                         printf "dyntrans backend\n"  
   
                         echo "  --enable-mips16    enable MIPS16 support"  
                         echo "  --enable-newmips   use new MIPS dyntrans code"  
                         #printf "  --enable-1k-pages  allow 1KB dyntrans pages"  
                         #printf " (default: 4KB)\n"  
   
                         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"  
99                          exit                          exit
100                  else                  else
101                          echo "Invalid option: $a"                          echo "Invalid option: $a"
102                          echo "Run  $0 --help  to get a list of" \                          echo "Run  $0 --help  to get a list of" \
103                              "available options."                              "available options."
104                          exit                          exit
                 fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi; fi  
105                  fi; fi                  fi; fi
106          done          done
107  fi  fi
# Line 195  else Line 132  else
132  fi  fi
133    
134    
135    if [ z"$UNSTABLE" = zYES ]; then
136            printf "#define UNSTABLE_DEVEL\n" >> config.h
137    fi
138    
139    
140  ZZ=`echo compiled on \`uname\`/\`uname -m\`, \`date\``  ZZ=`echo compiled on \`uname\`/\`uname -m\`, \`date\``
141  printf "#define COMPILE_DATE \"$ZZ\"\n" >> config.h  printf "#define COMPILE_DATE \"$ZZ\"\n" >> config.h
142    
143    
144    
145  #  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  
146  if [ z$ENABLEALPHA = zYES ]; then  if [ z$ENABLEALPHA = zYES ]; then
147          printf "#define ENABLE_ALPHA\n" >> config.h          printf "#define ENABLE_ALPHA\n" >> config.h
148          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"
149          CPU_TOOLS="$CPU_TOOLS generate_alpha_misc"          CPU_TOOLS="$CPU_TOOLS generate_alpha_misc"
150  fi  fi
151  if [ z$ENABLEARM = zYES ]; then  if [ z$ENABLEARM = zYES ]; then
# Line 230  if [ z$ENABLEAVR = zYES ]; then Line 167  if [ z$ENABLEAVR = zYES ]; then
167          printf "#define ENABLE_AVR\n" >> config.h          printf "#define ENABLE_AVR\n" >> config.h
168          CPU_ARCHS="$CPU_ARCHS cpu_avr.o"          CPU_ARCHS="$CPU_ARCHS cpu_avr.o"
169  fi  fi
 if [ z$ENABLEHPPA = zYES ]; then  
         printf "#define ENABLE_HPPA\n" >> config.h  
         CPU_ARCHS="$CPU_ARCHS cpu_hppa.o"  
 fi  
 if [ z$ENABLEI960 = zYES ]; then  
         printf "#define ENABLE_I960\n" >> config.h  
         CPU_ARCHS="$CPU_ARCHS cpu_i960.o"  
 fi  
 if [ z$ENABLEIA64 = zYES ]; then  
         printf "#define ENABLE_IA64\n" >> config.h  
         CPU_ARCHS="$CPU_ARCHS cpu_ia64.o"  
 fi  
170  if [ z$ENABLEM68K = zYES ]; then  if [ z$ENABLEM68K = zYES ]; then
171          printf "#define ENABLE_M68K\n" >> config.h          printf "#define ENABLE_M68K\n" >> config.h
172          CPU_ARCHS="$CPU_ARCHS cpu_m68k.o"          CPU_ARCHS="$CPU_ARCHS cpu_m68k.o"
173  fi  fi
174  if [ z$ENABLEMIPS = zYES ]; then  if [ z$ENABLEMIPS = zYES ]; then
175          printf "#define ENABLE_MIPS\n" >> config.h          printf "#define ENABLE_MIPS\n" >> config.h
176          if [ z$NEWMIPS = zYES ]; then          CPU_ARCHS="$CPU_ARCHS cpu_mips.o cpu_mips_coproc.o "
177                  echo 'Enabling the _EXPERIMENTAL_ MIPS dyntrans code.'          CPU_ARCHS="$CPU_ARCHS cpu_mips_instr_unaligned.o"
178                  printf "#define EXPERIMENTAL_NEWMIPS\n" >> config.h          CPU_TOOLS="$CPU_TOOLS generate_mips_loadstore"
179          fi          CPU_TOOLS="$CPU_TOOLS generate_mips_loadstore_multi"
180  fi  fi
181  if [ z$ENABLEPPC = zYES ]; then  if [ z$ENABLEPPC = zYES ]; then
182          printf "#define ENABLE_PPC\n" >> config.h          printf "#define ENABLE_PPC\n" >> config.h
183          CPU_ARCHS="$CPU_ARCHS cpu_ppc.o"          CPU_ARCHS="$CPU_ARCHS cpu_ppc.o"
184          CPU_TOOLS="$CPU_TOOLS generate_ppc_loadstore"          CPU_TOOLS="$CPU_TOOLS generate_ppc_loadstore"
185  fi  fi
186    if [ z$ENABLERCA180X = zYES ]; then
187            printf "#define ENABLE_RCA180X\n" >> config.h
188            CPU_ARCHS="$CPU_ARCHS cpu_rca180x.o"
189    fi
190  if [ z$ENABLESH = zYES ]; then  if [ z$ENABLESH = zYES ]; then
191          printf "#define ENABLE_SH\n" >> config.h          printf "#define ENABLE_SH\n" >> config.h
192          CPU_ARCHS="$CPU_ARCHS cpu_sh.o"          CPU_ARCHS="$CPU_ARCHS cpu_sh.o memory_sh.o"
193  fi  fi
194  if [ z$ENABLESPARC = zYES ]; then  if [ z$ENABLESPARC = zYES ]; then
195          printf "#define ENABLE_SPARC\n" >> config.h          printf "#define ENABLE_SPARC\n" >> config.h
196          CPU_ARCHS="$CPU_ARCHS cpu_sparc.o"          CPU_ARCHS="$CPU_ARCHS cpu_sparc.o memory_sparc.o"
197  fi          CPU_TOOLS="$CPU_TOOLS generate_sparc_loadstore"
 if [ z$ENABLEX86 = zYES ]; then  
         printf "#define ENABLE_X86\n" >> config.h  
         CPU_ARCHS="$CPU_ARCHS cpu_x86.o"  
 fi  
   
   
 #  Instruction delay/latency emulation:  
 if [ z$DELAYS = zYES ]; then  
         echo 'Enabling Instruction delay/latency emulation.'  
         printf "#define ENABLE_INSTRUCTION_DELAYS\n" >> config.h  
198  fi  fi
199    if [ z$ENABLETRANSPUTER = zYES ]; then
200            printf "#define ENABLE_TRANSPUTER\n" >> config.h
201  #  Development option: ALWAYS_SIGNEXTEND_32          CPU_ARCHS="$CPU_ARCHS cpu_transputer.o"
 if [ z$ALWAYS32 = zYES ]; then  
         echo 'Enabling ALWAYS_SIGNEXTEND_32. (NOTE:' \  
             'This slows down everything.)'  
         printf "#define ALWAYS_SIGNEXTEND_32\n" >> config.h  
 fi  
   
   
 #  1KB page emulation:  
 if [ z$ONEKPAGE = zYES ]; then  
         echo '1 KB pages: not yet.'  
         exit  
         echo 'Enabling 1 KB page dyntrans support. (NOTE:' \  
             'This slows down everything.)'  
         printf "#define ONEKPAGE\n" >> config.h  
 fi  
   
   
 #  Cache emulation:  
 if [ z$CACHES = zYES ]; then  
         echo 'Enabling Cache emulation. (EXPERIMENTAL and BUGGY)'  
         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"  
202  fi  fi
203    
204    
# Line 458  if [ z$NOX11 = z ]; then Line 346  if [ z$NOX11 = z ]; then
346    
347          rm -f _test_x11 _test_x11.o          rm -f _test_x11 _test_x11.o
348    
349            #  Special case for some 64-bit Linux/x86_64 systems:
350            if [ z$XOK = z0 ]; then
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 774  fi Line 673  fi
673  rm -f _testprog _testprog.error _testprog.stdout  rm -f _testprog _testprog.error _testprog.stdout
674    
675    
676  #  -g  #  -g, for development builds
677  printf "checking whether -g can be used... "  if [ z"$UNSTABLE" = zYES ]; then
678  if [ z"$COMPAQCC" = zYES ]; then          printf "checking whether -g can be used... "
679          printf "skipping\n"          if [ z"$COMPAQCC" = zYES ]; then
680  else                  printf "skipping\n"
         $CC $CFLAGS -g _testprog.c -o _testprog > _testprog.stdout 2>&1  
         cat _testprog.stdout >> _testprog.error  
         if [ -x _testprog ]; then  
                 CFLAGS="-g $CFLAGS"  
                 printf "yes\n"  
681          else          else
682                    $CC $CFLAGS -g _testprog.c -o _testprog > _testprog.stdout 2>&1
683                    cat _testprog.stdout >> _testprog.error
684                    if [ -x _testprog ]; then
685                            CFLAGS="-g $CFLAGS"
686                            printf "yes\n"
687                    else
688                  printf "no\n"                  printf "no\n"
689                            fi
690          fi          fi
691            rm -f _testprog _testprog.error _testprog.stdout
692  fi  fi
 rm -f _testprog _testprog.error _testprog.stdout  
693    
694    
695  #  -lrt for nanosleep?  #  -lrt for nanosleep?
# Line 925  printf "#include <stdlib.h> Line 826  printf "#include <stdlib.h>
826  #include <stdio.h>  #include <stdio.h>
827  #include <sys/types.h>  #include <sys/types.h>
828  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
829  $CC $CFLAGS _tests.c -o _tests 2> /dev/null  $CC $CFLAGS $CWARNINGS _tests.c -o _tests 2> /dev/null
830  if [ ! -x _tests ]; then  if [ ! -x _tests ]; then
831          printf "missing\n"          # Try with _LARGEFILE_SOURCE (hack to make fseeko
832          printf "WARNING! fseeko missing from libc. Using a hack, "          # work on 64-bit Linux):
833          printf "which probably doesn't work.\n"          $CC $CFLAGS -D_LARGEFILE_SOURCE $CWARNINGS _tests.c -o _tests 2> /dev/null
834          printf "#define HACK_FSEEKO\n" >> config.h          if [ ! -x _tests ]; then
835                    printf "missing\n"
836                    printf "WARNING! fseeko missing from libc. Using a hack, "
837                    printf "which probably doesn't work.\n"
838                    printf "#define HACK_FSEEKO\n" >> config.h
839            else
840                    printf "using -D_LARGEFILE_SOURCE hack\n"
841                    CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE"
842            fi
843  else  else
844          printf "found\n"          printf "found\n"
845  fi  fi
# Line 987  fi Line 896  fi
896  rm -f _tests.[co] _tests  rm -f _tests.[co] _tests
897    
898    
899    #  Check for PRIx64 in inttypes.h:
900    printf "checking for PRIx64 in inttypes.h... "
901    printf "#include <inttypes.h>\nint main(int argc, char *argv[])\n
902    {\n#ifdef PRIx64\nreturn 0;\n#else\nreturn 1;\n#endif\n}\n" > _testpri.c
903    $CC $CFLAGS _testpri.c -o _testpri 2> /dev/null
904    if [ ! -x _testpri ]; then
905            printf "\nERROR! COULD NOT COMPILE PRIx64 TEST PROGRAM AT ALL!\n"
906            exit
907    else
908            if ./_testpri; then
909                    printf "yes\n"
910            else
911                    printf "no, using an ugly hack instead, "
912                    printf "#define NO_C99_PRINTF_DEFINES\n" >> config.h
913    
914                    # Try llx first:
915                    printf "#include <stdio.h>\n#include <inttypes.h>\nint main(int argc, char *argv[]){
916                        printf(\"%%llx\\\n\", (int64_t)128);return 0;}\n" > _testpri.c
917                    rm -f _testpri
918                    $CC $CFLAGS $CWARNINGS _testpri.c -o _testpri 2> /dev/null
919                    if [ z`./_testpri` = z80 ]; then
920                            printf "PRIx64=llx\n"
921                            printf "#define NO_C99_64BIT_LONGLONG\n" >> config.h
922                    else
923                            # Try lx too:
924                            printf "#include <stdio.h>\n#include <inttypes.h>\nint main(int argc, char *argv[]){
925                                printf(\"%%lx\\\n\", (int64_t)128);return 0;}\n" > _testpri.c
926                            rm -f _testpri
927                            $CC $CFLAGS $CWARNINGS _testpri.c -o _testpri 2> /dev/null
928                            if [ z`./_testpri` = z80 ]; then
929                                    printf "PRIx64=lx\n"
930                            else
931                                    printf "\nFailed, neither lx nor llx worked!\n"
932                                    exit
933                            fi
934                    fi
935            fi
936    fi
937    rm -f _testpri.c _testpri
938    
939    
940  #  Check for 64-bit off_t:  #  Check for 64-bit off_t:
941  printf "checking for 64-bit off_t... "  printf "checking for 64-bit off_t... "
942  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 1078  rm -f _testuint.c _testuint Line 1028  rm -f _testuint.c _testuint
1028    
1029    
1030  ###############################################################################  ###############################################################################
 #  
 #  OLD 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:  
         if `uname -m|grep -v 64|grep -q 86`; 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  
   
   
 ###############################################################################  
 #  
 #  Dyntrans recompilation (native backend) support:  
 #  
 ###############################################################################  
   
 if [ z$DYNTRANSBACKEND = zYES ]; then  
         printf "Dyntrans: Not yet.\n"  
         exit  
   
         printf "checking for dyntrans backend... "  
         DBFOUND=NO  
   
         #  Alpha:  
         if [ z"`uname -m`" = zalpha ]; then  
                 printf "#define DYNTRANS_BACKEND_ALPHA\n" >> config.h  
                 printf "Alpha\n"  
                 CPU_BACKENDS="$CPU_BACKENDS backend_alpha.o"  
                 DBFOUND=YES  
         fi  
   
         #  AMD64:  
         #  TODO  
   
 #       #  UltraSPARC:  
 #       if [ z"`uname -m`" = zsun4u ]; then  
 #               printf "#define DYNTRANS_BACKEND_SPARC64\n" >> config.h  
 #               printf "UltraSPARC\n"  
 #               CPU_BACKENDS="$CPU_BACKENDS backend_sparc.o"  
 #               DBFOUND=YES  
 #       fi  
 #       if [ z"`uname -m`" = zsparc64 ]; then  
 #               printf "#define DYNTRANS_BACKEND_SPARC64\n" >> config.h  
 #               printf "UltraSPARC\n"  
 #               CPU_BACKENDS="$CPU_BACKENDS backend_sparc.o"  
 #               DBFOUND=YES  
 #       fi  
   
         #  x86:  
         if `uname -m|grep -q -v 64|grep -q 86`; then  
                 printf "#define DYNTRANS_BACKEND_I386\n" >> config.h  
                 printf "i386\n"  
                 CPU_BACKENDS="$CPU_BACKENDS backend_i386.o"  
                 DBFOUND=YES  
         fi  
   
         if [ z$DBFOUND = zYES ]; then  
                 printf "#define DYNTRANS_BACKEND\n" >> config.h  
         else  
                 printf "not supported yet on this arch ("  
                 printf `uname -m`  
                 printf ")\n"  
         fi  
 fi  
   
   
 ###############################################################################  
1031    
1032  #  Host byte order?  #  Host byte order?
1033  printf "checking host endianness... "  printf "checking host endianness... "
# Line 1223  else Line 1052  else
1052  fi  fi
1053  rm -f _test_end*  rm -f _test_end*
1054    
1055    
1056    ###############################################################################
1057    #
1058    #  Native code generation backend:  (Detect host architecture.)
1059    #
1060    ###############################################################################
1061    
1062    if [ z$UNSTABLE = zYES ]; then
1063            printf "native code generation backend... "
1064    
1065            if [ z"`uname -m`" = zamd64 ]; then
1066                    NATIVE_CODE_GENERATION=YES
1067                    printf "amd64\n"
1068                    printf "#define NATIVE_CODE_GENERATION\n" >> config.h
1069                    printf "#define HOST_ARCH_AMD64\n" >> config.h
1070            fi
1071    
1072            if [ z"`uname -m`" = zx86_64 ]; then
1073                    NATIVE_CODE_GENERATION=YES
1074                    printf "amd64\n"
1075                    printf "#define NATIVE_CODE_GENERATION\n" >> config.h
1076                    printf "#define HOST_ARCH_AMD64\n" >> config.h
1077            fi
1078    
1079            if [ z$NATIVE_CODE_GENERATION = z ]; then
1080                    printf "not yet for this host platform\n"
1081            fi
1082    fi
1083    
1084    
1085  ###############################################################################  ###############################################################################
1086    
1087  INCLUDE=-Iinclude/  INCLUDE=-Iinclude/
# Line 1239  echo "DINCLUDE=$DINCLUDE" >> _Makefile.h Line 1098  echo "DINCLUDE=$DINCLUDE" >> _Makefile.h
1098  echo "CC=$CC" >> _Makefile.header  echo "CC=$CC" >> _Makefile.header
1099  echo "OTHERLIBS=$OTHERLIBS" >> _Makefile.header  echo "OTHERLIBS=$OTHERLIBS" >> _Makefile.header
1100  echo "CPU_ARCHS=$CPU_ARCHS" >> _Makefile.header  echo "CPU_ARCHS=$CPU_ARCHS" >> _Makefile.header
 echo "CPU_BACKENDS=$CPU_BACKENDS" >> _Makefile.header  
1101  echo "CPU_TOOLS=$CPU_TOOLS" >> _Makefile.header  echo "CPU_TOOLS=$CPU_TOOLS" >> _Makefile.header
1102  echo "" >> _Makefile.header  echo "" >> _Makefile.header
1103    
1104    
1105  #  Create the Makefiles:  #  Create the Makefiles:
1106  D=". src src/include src/cpus src/devices src/devices/fonts"  D=". src src/include src/cpus src/debugger src/devices src/devices/fonts"
1107  D="$D src/machines src/promemul"  D="$D src/machines src/native src/net src/promemul"
1108  for a in $D; do  for a in $D; do
1109          echo "creating $a/Makefile"          echo "creating $a/Makefile"
1110          touch $a/Makefile          touch $a/Makefile

Legend:
Removed from v.22  
changed lines
  Added in v.34

  ViewVC Help
Powered by ViewVC 1.1.26