ieeefp.h: Add x86-64 support.
[gcc.git] / libjava / configure.host
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 x86_64-*)
89 sysdeps_dir=x86-64
90 libgcj_flags="${libgcj_flags} -ffloat-store"
91 libgcj_interpreter=no
92 libgcj_cxxflags="-D__NO_MATH_INLINES"
93 libgcj_cflags="-D__NO_MATH_INLINES"
94 DIVIDESPEC=-fno-use-divide-subroutine
95 enable_hash_synchronization_default=yes
96 slow_pthread_self=yes
97 ;;
98 alpha*-*)
99 sysdeps_dir=alpha
100 libgcj_flags="${libgcj_flags} -mieee"
101 libgcj_interpreter=yes
102 enable_hash_synchronization_default=yes
103 ;;
104 powerpc*-*)
105 sysdeps_dir=powerpc
106 libgcj_interpreter=yes
107 enable_hash_synchronization_default=yes
108 slow_pthread_self=yes
109 ;;
110 sparc-*)
111 ;;
112 ia64-*)
113 sysdeps_dir=ia64
114 libgcj_flags="${libgcj_flags} -funwind-tables"
115 libgcj_interpreter=yes
116 enable_hash_synchronization_default=yes
117 ;;
118 xscale*-elf)
119 with_libffi_default=no
120 PROCESS=Ecos
121 FILE=Posix
122 CHECKREFSPEC=-fcheck-references
123 EXCEPTIONSPEC=
124 enable_java_net_default=no
125 enable_getenv_properties_default=no
126 enable_main_args_default=no
127 ;;
128 esac
129
130 # This case statement supports generic port properties and may refine
131 # the above per-CPU defaults. Note: If your OS implements
132 # MD_FALLBACK_FRAME_STATE_FOR, then you want to set can_unwind_signal
133 # here.
134 case "${host}" in
135 i[34567]86*-linux* | \
136 powerpc*-linux* | \
137 alpha*-linux* | \
138 s390*-linux* | \
139 sparc*-linux* | \
140 ia64-* | \
141 x86_64*-linux*)
142 can_unwind_signal=yes
143 ;;
144 *-*-darwin*)
145 enable_hash_synchronization_default=no
146 slow_pthread_self=
147 ;;
148 *-*-freebsd*)
149 slow_pthread_self=
150 ;;
151 *-cygwin*)
152 # The cygwin linker doesn't do 8-byte alignment by default, so
153 # disable hash synchronization for now.
154 enable_hash_synchronization_default=no
155 slow_pthread_self=
156 ;;
157 esac
158
159 libgcj_cflags="${libgcj_cflags} ${libgcj_flags}"
160 libgcj_cxxflags="${libgcj_cxxflags} ${libgcj_flags}"
161 libgcj_javaflags="${libgcj_javaflags} ${libgcj_flags}"