| # configure.host |
| |
| # This shell script handles all host based configuration for libgcj. |
| # It sets various shell variables based on the the host and the |
| # configuration options. You can modify this shell script without |
| # needing to rerun autoconf. |
| |
| # This shell script should be invoked as |
| # . configure.host |
| # If it encounters an error, it will exit with a message. |
| |
| # It uses the following shell variables: |
| # host The configuration host |
| # host_cpu The configuration host CPU |
| # target_optspace --enable-target-optspace ("yes", "no", "") |
| |
| # It sets the following shell variables: |
| # libgcj_cflags Special CFLAGS to use when building |
| # libgcj_cxxflags Special CXXFLAGS to use when building |
| # libgcj_javaflags Special JAVAFLAGS to use when building |
| # libgcj_interpreter If the bytecode interpreter supports this platform. |
| # enable_java_net_default If java.net native code should be enabled by |
| # default. |
| # enable_hash_synchronization_default If hash synchronization should be |
| # enabled by default. |
| # sysdeps_dir Directory containing system-dependent headers |
| # slow_pthread_self The synchronization code should try to avoid |
| # pthread_self calls by caching thread IDs in a hashtable |
| # can_unwind_signal Set to "yes" if the EH unwinder supports throwing |
| # from a signal handler. |
| |
| libgcj_flags= |
| libgcj_cflags= |
| libgcj_cxxflags= |
| libgcj_javaflags= |
| libgcj_interpreter= |
| enable_java_net_default=yes |
| enable_hash_synchronization_default=no |
| sysdeps_dir=generic |
| slow_pthread_self= |
| can_unwind_signal=no |
| |
| case "${target_optspace}:${host}" in |
| yes:*) |
| libgcj_flags="${libgcj_flags} -Os" |
| ;; |
| :m32r-* | :d10v-* | :d30v-*) |
| libgcj_flags="${libgcj_flags} -Os" |
| ;; |
| no:* | :*) |
| # Nothing. |
| ;; |
| esac |
| |
| AM_RUNTESTFLAGS= |
| |
| # Set any host dependent compiler flags. |
| # THIS TABLE IS SORTED. KEEP IT THAT WAY. |
| |
| echo "$target" |
| |
| DIVIDESPEC=-fuse-divide-subroutine |
| EXCEPTIONSPEC=-fnon-call-exceptions |
| CHECKREFSPEC= |
| |
| # This case statement supports per-CPU defaults. |
| case "${host}" in |
| arm*-elf | strongarm*-elf | xscale*-elf) |
| with_libffi_default=no |
| PROCESS=Ecos |
| FILE=Posix |
| CHECKREFSPEC=-fcheck-references |
| EXCEPTIONSPEC= |
| enable_java_net_default=no |
| enable_getenv_properties_default=no |
| enable_main_args_default=no |
| ;; |
| mips-tx39-*|mipstx39-unknown-*) |
| libgcj_flags="${libgcj_flags} -G 0" |
| LDFLAGS="$LDFLAGS -Tjmr3904dram.ld" |
| AM_RUNTESTFLAGS="--target_board=jmr3904-sim" |
| # Use "Ecos" processes since they are a no-op. |
| PROCESS=Ecos |
| FILE=Posix |
| enable_java_net_default=no |
| enable_getenv_properties_default=no |
| ;; |
| i686-*|i586-*|i486-*|i386-*) |
| sysdeps_dir=i386 |
| libgcj_flags="${libgcj_flags} -ffloat-store" |
| libgcj_interpreter=yes |
| libgcj_cxxflags="-D__NO_MATH_INLINES" |
| libgcj_cflags="-D__NO_MATH_INLINES" |
| DIVIDESPEC=-fno-use-divide-subroutine |
| enable_hash_synchronization_default=yes |
| slow_pthread_self=yes |
| ;; |
| x86_64-*) |
| CHECKREFSPEC="%{m32:-fcheck-references}" |
| sysdeps_dir=x86-64 |
| libgcj_flags="${libgcj_flags} -ffloat-store -fno-omit-frame-pointer" |
| libgcj_cxxflags="-D__NO_MATH_INLINES" |
| libgcj_cflags="-D__NO_MATH_INLINES" |
| enable_hash_synchronization_default=yes |
| slow_pthread_self=yes |
| libgcj_interpreter=yes |
| ;; |
| alpha*-*) |
| sysdeps_dir=alpha |
| libgcj_flags="${libgcj_flags} -mieee" |
| libgcj_interpreter=yes |
| enable_hash_synchronization_default=yes |
| IEEESPEC=-mieee |
| ;; |
| powerpc64*-*) |
| # libffi not ported. |
| with_libffi_default=no |
| libgcj_interpreter=no |
| libgcj_flags="${libgcj_flags} -mminimal-toc" |
| # this may not be correct |
| sysdeps_dir=powerpc |
| enable_hash_synchronization_default=yes |
| slow_pthread_self=yes |
| ;; |
| powerpc*-*) |
| sysdeps_dir=powerpc |
| libgcj_interpreter=yes |
| enable_hash_synchronization_default=yes |
| slow_pthread_self=yes |
| ;; |
| s390*-*) |
| sysdeps_dir=s390 |
| libgcj_interpreter=yes |
| enable_hash_synchronization_default=yes |
| ;; |
| sparc*-*) |
| libgcj_interpreter=yes |
| ;; |
| ia64-*) |
| sysdeps_dir=ia64 |
| libgcj_flags="${libgcj_flags} -funwind-tables" |
| libgcj_interpreter=yes |
| enable_hash_synchronization_default=yes |
| ;; |
| sh-* | sh[34]*-*) |
| sysdeps_dir=sh |
| libgcj_flags="${libgcj_flags} -mieee" |
| libgcj_interpreter=yes |
| CHECKREFSPEC=-fcheck-references |
| EXCEPTIONSPEC= |
| enable_hash_synchronization_default=yes |
| ;; |
| esac |
| |
| # This case statement supports generic port properties and may refine |
| # the above per-CPU defaults. Note: If your OS implements |
| # MD_FALLBACK_FRAME_STATE_FOR, then you want to set can_unwind_signal |
| # here. |
| case "${host}" in |
| i[34567]86*-linux* | \ |
| powerpc*-linux* | \ |
| alpha*-linux* | \ |
| s390*-linux* | \ |
| sparc*-linux* | \ |
| ia64-* | \ |
| x86_64*-linux*) |
| can_unwind_signal=yes |
| ;; |
| *-*-darwin*) |
| enable_hash_synchronization_default=no |
| slow_pthread_self= |
| can_unwind_signal=no |
| ;; |
| *-*-freebsd*) |
| slow_pthread_self= |
| ;; |
| *-cygwin*) |
| # The cygwin linker doesn't do 8-byte alignment by default, so |
| # disable hash synchronization for now. |
| enable_hash_synchronization_default=no |
| slow_pthread_self= |
| ;; |
| esac |
| |
| libgcj_cflags="${libgcj_cflags} ${libgcj_flags}" |
| libgcj_cxxflags="${libgcj_cxxflags} ${libgcj_flags}" |
| libgcj_javaflags="${libgcj_javaflags} ${libgcj_flags}" |