Default to dwarf version 4 on hppa64-hpux
[official-gcc.git] / libffi / configure.host
blob7248acb7458f6e2f87b1c88d9f31caa31325874a
1 # configure.host
3 # This shell script handles all host based configuration for libffi.
6 # THIS TABLE IS SORTED.  KEEP IT THAT WAY.
7 # Most of the time we can define all the variables all at once...
8 case "${host}" in
9   aarch64*-*-*)
10         TARGET=AARCH64; TARGETDIR=aarch64
11         SOURCES="ffi.c sysv.S"
12         ;;
14   alpha*-*-*)
15         TARGET=ALPHA; TARGETDIR=alpha;
16         # Support 128-bit long double, changeable via command-line switch.
17         HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
18         SOURCES="ffi.c osf.S"
19         ;;
21   arc*-*-*)
22         TARGET=ARC; TARGETDIR=arc
23         SOURCES="ffi.c arcompact.S"
24         ;;
26   arm*-*-*)
27         TARGET=ARM; TARGETDIR=arm
28         SOURCES="ffi.c sysv.S"
29         ;;
31   avr32*-*-*)
32         TARGET=AVR32; TARGETDIR=avr32
33         SOURCES="ffi.c sysv.S"
34         ;;
36   bfin*)
37         TARGET=BFIN; TARGETDIR=bfin
38         SOURCES="ffi.c sysv.S"
39         ;;
41   cris-*-*)
42         TARGET=LIBFFI_CRIS; TARGETDIR=cris
43         SOURCES="ffi.c sysv.S"
44         ;;
46   frv-*-*)
47         TARGET=FRV; TARGETDIR=frv
48         SOURCES="ffi.c eabi.S"
49         ;;
51   hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
52         TARGET=PA_LINUX; TARGETDIR=pa
53         SOURCES="ffi.c linux.S"
54         ;;
55   hppa*64-*-hpux*)
56         TARGET=PA64_HPUX; TARGETDIR=pa
57         ;;
58   hppa*-*-hpux*)
59         TARGET=PA_HPUX; TARGETDIR=pa
60         SOURCES="ffi.c hpux32.S"
61         ;;
63   i?86-*-freebsd* | i?86-*-openbsd*)
64         TARGET=X86_FREEBSD; TARGETDIR=x86
65         ;;
67   i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix* \
68   | x86_64-*-cygwin* | x86_64-*-mingw*)
69         TARGETDIR=x86
70         if test $ac_cv_sizeof_size_t = 4; then
71           TARGET=X86_WIN32
72         else
73           TARGET=X86_WIN64
74         fi
75         # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
76         # We must also check with_cross_host to decide if this is a native
77         # or cross-build and select where to install dlls appropriately.
78         if test -n "$with_cross_host" &&
79            test x"$with_cross_host" != x"no"; then
80           AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
81         else
82           AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
83         fi
84         ;;
86   i?86-*-darwin* | x86_64-*-darwin*)
87         TARGETDIR=x86
88         if test $ac_cv_sizeof_size_t = 4; then
89           TARGET=X86_DARWIN
90         else
91           TARGET=X86_64_DARWIN
92         fi
93         ;;
95   i?86-*-* | x86_64-*-* | amd64-*)
96         TARGETDIR=x86
97         if test $ac_cv_sizeof_size_t = 4; then
98           echo 'int foo (void) { return __x86_64__; }' > conftest.c
99           if $CC $CFLAGS -Werror -S conftest.c -o conftest.s > /dev/null 2>&1; then
100             TARGET=X86_64;
101           else
102             TARGET=X86;
103            fi
104            rm -f conftest.*
105         else
106           TARGET=X86_64;
107         fi
108         ;;
110   ia64*-*-*)
111         TARGET=IA64; TARGETDIR=ia64
112         SOURCES="ffi.c unix.S"
113         ;;
115   m32r*-*-*)
116         TARGET=M32R; TARGETDIR=m32r
117         SOURCES="ffi.c sysv.S"
118         ;;
120   m68k-*-*)
121         TARGET=M68K; TARGETDIR=m68k
122         SOURCES="ffi.c sysv.S"
123         ;;
125   m88k-*-*)
126         TARGET=M88K; TARGETDIR=m88k
127         SOURCES="ffi.c obsd.S"
128         ;;
130   microblaze*-*-*)
131         TARGET=MICROBLAZE; TARGETDIR=microblaze
132         SOURCES="ffi.c sysv.S"
133         ;;
135   moxie-*-*)
136         TARGET=MOXIE; TARGETDIR=moxie
137         SOURCES="ffi.c eabi.S"
138         ;;
140   metag-*-*)
141         TARGET=METAG; TARGETDIR=metag
142         SOURCES="ffi.c sysv.S"
143         ;;
145   mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
146         TARGET=MIPS; TARGETDIR=mips
147         ;;
148   mips*-*linux* | mips*-*-openbsd*)
149         # Support 128-bit long double for NewABI.
150         HAVE_LONG_DOUBLE='defined(__mips64)'
151         TARGET=MIPS; TARGETDIR=mips
152         ;;
154   nios2*-linux*)
155         TARGET=NIOS2; TARGETDIR=nios2
156         SOURCES="ffi.c sysv.S"
157         ;;
159   or1k*-linux*)
160         TARGET=OR1K; TARGETDIR=or1k
161         SOURCES="ffi.c sysv.S"
162         ;;
164   powerpc*-*-linux* | powerpc-*-sysv*)
165         TARGET=POWERPC; TARGETDIR=powerpc
166         HAVE_LONG_DOUBLE_VARIANT=1
167         ;;
168   powerpc-*-amigaos*)
169         TARGET=POWERPC; TARGETDIR=powerpc
170         ;;
171   powerpc-*-beos*)
172         TARGET=POWERPC; TARGETDIR=powerpc
173         ;;
174   powerpc-*-darwin* | powerpc64-*-darwin*)
175         TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
176         ;;
177   powerpc-*-aix* | rs6000-*-aix*)
178         TARGET=POWERPC_AIX; TARGETDIR=powerpc
179         ;;
180   powerpc-*-freebsd* | powerpc-*-openbsd*)
181         TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
182         HAVE_LONG_DOUBLE_VARIANT=1
183         ;;
184   powerpc64-*-freebsd*)
185         TARGET=POWERPC; TARGETDIR=powerpc
186         ;;
187   powerpc*-*-rtems*)
188         TARGET=POWERPC; TARGETDIR=powerpc
189         ;;
191   riscv*-*)
192         TARGET=RISCV; TARGETDIR=riscv
193         SOURCES="ffi.c sysv.S"
194         ;;
196   s390-*-* | s390x-*-*)
197         TARGET=S390; TARGETDIR=s390
198         SOURCES="ffi.c sysv.S"
199         ;;
201   sh-*-* | sh[34]*-*-*)
202         TARGET=SH; TARGETDIR=sh
203         SOURCES="ffi.c sysv.S"
204         ;;
205   sh64-*-* | sh5*-*-*)
206         TARGET=SH64; TARGETDIR=sh64
207         SOURCES="ffi.c sysv.S"
208         ;;
210   sparc*-*-*)
211         TARGET=SPARC; TARGETDIR=sparc
212         SOURCES="ffi.c ffi64.c v8.S v9.S"
213         ;;
215   tile*-*)
216         TARGET=TILE; TARGETDIR=tile
217         SOURCES="ffi.c tile.S"
218         ;;
220   vax-*-*)
221         TARGET=VAX; TARGETDIR=vax
222         SOURCES="ffi.c elfbsd.S"
223         ;;
225   xtensa*-*)
226         TARGET=XTENSA; TARGETDIR=xtensa
227         SOURCES="ffi.c sysv.S"
228         ;;
229 esac
231 # ... but some of the cases above share configury.
232 case "${TARGET}" in
233   MIPS)
234         SOURCES="ffi.c o32.S n32.S"
235         ;;
236   POWERPC)
237         SOURCES="ffi.c ffi_sysv.c ffi_linux64.c sysv.S ppc_closure.S"
238         SOURCES="${SOURCES} linux64.S linux64_closure.S"
239         ;;
240   POWERPC_AIX)
241         SOURCES="ffi_darwin.c aix.S aix_closure.S"
242         ;;
243   POWERPC_DARWIN)
244         SOURCES="ffi_darwin.c darwin.S darwin_closure.S"
245         ;;
246   POWERPC_FREEBSD)
247         SOURCES="ffi.c ffi_sysv.c sysv.S ppc_closure.S"
248         ;;
249   X86 | X86_FREEBSD | X86_WIN32)
250         SOURCES="ffi.c sysv.S"
251         ;;
252   X86_64)
253         SOURCES="ffi64.c unix64.S"
254         ;;
255   X86_WIN64)
256         SOURCES="ffiw64.c win64.S"
257         ;;
258   X86_DARWIN)
259         SOURCES="darwin_c.c darwin.S"
260         ;;
261   X86_64_DARWIN)
262         SOURCES="darwin64_c.c darwin64.S"
263         ;;
264 esac
266 # If we failed to configure SOURCES, we can't do anything.
267 if test -z "${SOURCES}"; then
268   UNSUPPORTED=1