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}" |
---|