source: branches/libc-0.6/src/gcc/libjava/configure.host

Last change on this file was 1392, checked in by bird, 21 years ago

This commit was generated by cvs2svn to compensate for changes in r1391,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 5.0 KB
Line 
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
32libgcj_flags=
33libgcj_cflags=
34libgcj_cxxflags=
35libgcj_javaflags=
36libgcj_interpreter=
37enable_java_net_default=yes
38enable_hash_synchronization_default=no
39sysdeps_dir=generic
40slow_pthread_self=
41can_unwind_signal=no
42
43case "${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 ;;
53esac
54
55AM_RUNTESTFLAGS=
56
57# Set any host dependent compiler flags.
58# THIS TABLE IS SORTED. KEEP IT THAT WAY.
59
60echo "$target"
61
62DIVIDESPEC=-fuse-divide-subroutine
63EXCEPTIONSPEC=-fnon-call-exceptions
64CHECKREFSPEC=
65
66# This case statement supports per-CPU defaults.
67case "${host}" in
68 arm*-elf | strongarm*-elf | xscale*-elf)
69 with_libffi_default=no
70 PROCESS=Ecos
71 FILE=Posix
72 CHECKREFSPEC=-fcheck-references
73 EXCEPTIONSPEC=
74 enable_java_net_default=no
75 enable_getenv_properties_default=no
76 enable_main_args_default=no
77 ;;
78 mips-tx39-*|mipstx39-unknown-*)
79 libgcj_flags="${libgcj_flags} -G 0"
80 LDFLAGS="$LDFLAGS -Tjmr3904dram.ld"
81 AM_RUNTESTFLAGS="--target_board=jmr3904-sim"
82 # Use "Ecos" processes since they are a no-op.
83 PROCESS=Ecos
84 FILE=Posix
85 enable_java_net_default=no
86 enable_getenv_properties_default=no
87 ;;
88 i686-*|i586-*|i486-*|i386-*)
89 sysdeps_dir=i386
90 libgcj_flags="${libgcj_flags} -ffloat-store"
91 libgcj_interpreter=yes
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 x86_64-*)
99 CHECKREFSPEC="%{m32:-fcheck-references}"
100 sysdeps_dir=x86-64
101 libgcj_flags="${libgcj_flags} -ffloat-store -fno-omit-frame-pointer"
102 libgcj_cxxflags="-D__NO_MATH_INLINES"
103 libgcj_cflags="-D__NO_MATH_INLINES"
104 enable_hash_synchronization_default=yes
105 slow_pthread_self=yes
106 libgcj_interpreter=yes
107 ;;
108 alpha*-*)
109 sysdeps_dir=alpha
110 libgcj_flags="${libgcj_flags} -mieee"
111 libgcj_interpreter=yes
112 enable_hash_synchronization_default=yes
113 IEEESPEC=-mieee
114 ;;
115 powerpc64*-*)
116 # libffi not ported.
117 with_libffi_default=no
118 libgcj_interpreter=no
119 libgcj_flags="${libgcj_flags} -mminimal-toc"
120 # this may not be correct
121 sysdeps_dir=powerpc
122 enable_hash_synchronization_default=yes
123 slow_pthread_self=yes
124 ;;
125 powerpc*-*)
126 sysdeps_dir=powerpc
127 libgcj_interpreter=yes
128 enable_hash_synchronization_default=yes
129 slow_pthread_self=yes
130 ;;
131 s390*-*)
132 sysdeps_dir=s390
133 libgcj_interpreter=yes
134 enable_hash_synchronization_default=yes
135 ;;
136 sparc*-*)
137 libgcj_interpreter=yes
138 ;;
139 ia64-*)
140 sysdeps_dir=ia64
141 libgcj_flags="${libgcj_flags} -funwind-tables"
142 libgcj_interpreter=yes
143 enable_hash_synchronization_default=yes
144 ;;
145 sh-* | sh[34]*-*)
146 sysdeps_dir=sh
147 libgcj_flags="${libgcj_flags} -mieee"
148 libgcj_interpreter=yes
149 CHECKREFSPEC=-fcheck-references
150 EXCEPTIONSPEC=
151 enable_hash_synchronization_default=yes
152 ;;
153esac
154
155# This case statement supports generic port properties and may refine
156# the above per-CPU defaults. Note: If your OS implements
157# MD_FALLBACK_FRAME_STATE_FOR, then you want to set can_unwind_signal
158# here.
159case "${host}" in
160 i[34567]86*-linux* | \
161 powerpc*-linux* | \
162 alpha*-linux* | \
163 s390*-linux* | \
164 sparc*-linux* | \
165 ia64-* | \
166 x86_64*-linux*)
167 can_unwind_signal=yes
168 ;;
169 *-*-darwin*)
170 enable_hash_synchronization_default=no
171 slow_pthread_self=
172 can_unwind_signal=no
173 ;;
174 *-*-freebsd*)
175 slow_pthread_self=
176 ;;
177 *-cygwin*)
178 # The cygwin linker doesn't do 8-byte alignment by default, so
179 # disable hash synchronization for now.
180 enable_hash_synchronization_default=no
181 slow_pthread_self=
182 ;;
183esac
184
185libgcj_cflags="${libgcj_cflags} ${libgcj_flags}"
186libgcj_cxxflags="${libgcj_cxxflags} ${libgcj_flags}"
187libgcj_javaflags="${libgcj_javaflags} ${libgcj_flags}"
Note: See TracBrowser for help on using the repository browser.