| 1 | # configure.host | 
|---|
| 2 |  | 
|---|
| 3 | # This shell script handles all host based configuration for libgcj. | 
|---|
| 4 | # It sets various shell variables based on the the host and the | 
|---|
| 5 | # configuration options.  You can modify this shell script without | 
|---|
| 6 | # needing to rerun autoconf. | 
|---|
| 7 |  | 
|---|
| 8 | # This shell script should be invoked as | 
|---|
| 9 | #   . configure.host | 
|---|
| 10 | # If it encounters an error, it will exit with a message. | 
|---|
| 11 |  | 
|---|
| 12 | # It uses the following shell variables: | 
|---|
| 13 | #   host                The configuration host | 
|---|
| 14 | #   host_cpu            The configuration host CPU | 
|---|
| 15 | #   target_optspace     --enable-target-optspace ("yes", "no", "") | 
|---|
| 16 |  | 
|---|
| 17 | # It sets the following shell variables: | 
|---|
| 18 | #   libgcj_cflags       Special CFLAGS to use when building | 
|---|
| 19 | #   libgcj_cxxflags     Special CXXFLAGS to use when building | 
|---|
| 20 | #   libgcj_javaflags    Special JAVAFLAGS to use when building | 
|---|
| 21 | #   libgcj_interpreter  If the bytecode interpreter supports this platform. | 
|---|
| 22 | #   enable_java_net_default  If java.net native code should be enabled by | 
|---|
| 23 | #                            default. | 
|---|
| 24 | #   enable_hash_synchronization_default  If hash synchronization should be | 
|---|
| 25 | #                                        enabled by default. | 
|---|
| 26 | #   sysdeps_dir         Directory containing system-dependent headers | 
|---|
| 27 | #   slow_pthread_self   The synchronization code should try to avoid | 
|---|
| 28 | #                       pthread_self calls by caching thread IDs in a hashtable | 
|---|
| 29 | #   can_unwind_signal   Set to "yes" if the EH unwinder supports throwing | 
|---|
| 30 | #                       from a signal handler. | 
|---|
| 31 |  | 
|---|
| 32 | libgcj_flags= | 
|---|
| 33 | libgcj_cflags= | 
|---|
| 34 | libgcj_cxxflags= | 
|---|
| 35 | libgcj_javaflags= | 
|---|
| 36 | libgcj_interpreter= | 
|---|
| 37 | enable_java_net_default=yes | 
|---|
| 38 | enable_hash_synchronization_default=no | 
|---|
| 39 | sysdeps_dir=generic | 
|---|
| 40 | slow_pthread_self= | 
|---|
| 41 | can_unwind_signal=no | 
|---|
| 42 |  | 
|---|
| 43 | case "${target_optspace}:${host}" in | 
|---|
| 44 | yes:*) | 
|---|
| 45 | libgcj_flags="${libgcj_flags} -Os" | 
|---|
| 46 | ;; | 
|---|
| 47 | :m32r-* | :d10v-* | :d30v-*) | 
|---|
| 48 | libgcj_flags="${libgcj_flags} -Os" | 
|---|
| 49 | ;; | 
|---|
| 50 | no:* | :*) | 
|---|
| 51 | # Nothing. | 
|---|
| 52 | ;; | 
|---|
| 53 | esac | 
|---|
| 54 |  | 
|---|
| 55 | AM_RUNTESTFLAGS= | 
|---|
| 56 |  | 
|---|
| 57 | # Set any host dependent compiler flags. | 
|---|
| 58 | # THIS TABLE IS SORTED.  KEEP IT THAT WAY. | 
|---|
| 59 |  | 
|---|
| 60 | echo "$target" | 
|---|
| 61 |  | 
|---|
| 62 | DIVIDESPEC=-fuse-divide-subroutine | 
|---|
| 63 | EXCEPTIONSPEC=-fnon-call-exceptions | 
|---|
| 64 | CHECKREFSPEC= | 
|---|
| 65 |  | 
|---|
| 66 | # This case statement supports per-CPU defaults. | 
|---|
| 67 | case "${host}" in | 
|---|
| 68 | mips-tx39-*|mipstx39-unknown-*) | 
|---|
| 69 | libgcj_flags="${libgcj_flags} -G 0" | 
|---|
| 70 | LDFLAGS="$LDFLAGS -Tjmr3904dram.ld" | 
|---|
| 71 | AM_RUNTESTFLAGS="--target_board=jmr3904-sim" | 
|---|
| 72 | # Use "Ecos" processes since they are a no-op. | 
|---|
| 73 | PROCESS=Ecos | 
|---|
| 74 | FILE=Posix | 
|---|
| 75 | enable_java_net_default=no | 
|---|
| 76 | enable_getenv_properties_default=no | 
|---|
| 77 | ;; | 
|---|
| 78 | i686-*|i586-*|i486-*|i386-*) | 
|---|
| 79 | sysdeps_dir=i386 | 
|---|
| 80 | libgcj_flags="${libgcj_flags} -ffloat-store" | 
|---|
| 81 | libgcj_interpreter=yes | 
|---|
| 82 | libgcj_cxxflags="-D__NO_MATH_INLINES" | 
|---|
| 83 | libgcj_cflags="-D__NO_MATH_INLINES" | 
|---|
| 84 | DIVIDESPEC=-fno-use-divide-subroutine | 
|---|
| 85 | enable_hash_synchronization_default=yes | 
|---|
| 86 | slow_pthread_self=yes | 
|---|
| 87 | ;; | 
|---|
| 88 | alpha*-*) | 
|---|
| 89 | sysdeps_dir=alpha | 
|---|
| 90 | libgcj_flags="${libgcj_flags} -mieee" | 
|---|
| 91 | libgcj_interpreter=yes | 
|---|
| 92 | enable_hash_synchronization_default=yes | 
|---|
| 93 | ;; | 
|---|
| 94 | powerpc*-*) | 
|---|
| 95 | sysdeps_dir=powerpc | 
|---|
| 96 | libgcj_interpreter=yes | 
|---|
| 97 | enable_hash_synchronization_default=yes | 
|---|
| 98 | slow_pthread_self=yes | 
|---|
| 99 | ;; | 
|---|
| 100 | sparc-*) | 
|---|
| 101 | ;; | 
|---|
| 102 | ia64-*) | 
|---|
| 103 | sysdeps_dir=ia64 | 
|---|
| 104 | libgcj_flags="${libgcj_flags} -funwind-tables" | 
|---|
| 105 | libgcj_interpreter=yes | 
|---|
| 106 | enable_hash_synchronization_default=yes | 
|---|
| 107 | ;; | 
|---|
| 108 | xscale*-elf) | 
|---|
| 109 | with_libffi_default=no | 
|---|
| 110 | PROCESS=Ecos | 
|---|
| 111 | FILE=Posix | 
|---|
| 112 | CHECKREFSPEC=-fcheck-references | 
|---|
| 113 | EXCEPTIONSPEC= | 
|---|
| 114 | enable_java_net_default=no | 
|---|
| 115 | enable_getenv_properties_default=no | 
|---|
| 116 | enable_main_args_default=no | 
|---|
| 117 | ;; | 
|---|
| 118 | esac | 
|---|
| 119 |  | 
|---|
| 120 | # This case statement supports generic port properties and may refine | 
|---|
| 121 | # the above per-CPU defaults.  Note: If your OS implements | 
|---|
| 122 | # MD_FALLBACK_FRAME_STATE_FOR, then you want to set can_unwind_signal | 
|---|
| 123 | # here. | 
|---|
| 124 | case "${host}" in | 
|---|
| 125 | i[34567]86*-linux* | \ | 
|---|
| 126 | powerpc*-linux* | \ | 
|---|
| 127 | alpha*-linux* | \ | 
|---|
| 128 | sparc*-linux* | \ | 
|---|
| 129 | ia64-*) | 
|---|
| 130 | can_unwind_signal=yes | 
|---|
| 131 | ;; | 
|---|
| 132 | *-*-darwin*) | 
|---|
| 133 | enable_hash_synchronization_default=no | 
|---|
| 134 | slow_pthread_self= | 
|---|
| 135 | ;; | 
|---|
| 136 | *-*-freebsd*) | 
|---|
| 137 | slow_pthread_self= | 
|---|
| 138 | ;; | 
|---|
| 139 | *-cygwin*) | 
|---|
| 140 | # The cygwin linker doesn't do 8-byte alignment by default, so | 
|---|
| 141 | # disable hash synchronization for now. | 
|---|
| 142 | enable_hash_synchronization_default=no | 
|---|
| 143 | slow_pthread_self= | 
|---|
| 144 | ;; | 
|---|
| 145 | esac | 
|---|
| 146 |  | 
|---|
| 147 | libgcj_cflags="${libgcj_cflags} ${libgcj_flags}" | 
|---|
| 148 | libgcj_cxxflags="${libgcj_cxxflags} ${libgcj_flags}" | 
|---|
| 149 | libgcj_javaflags="${libgcj_javaflags} ${libgcj_flags}" | 
|---|