github.com/prattmic/llgo-embedded@v0.0.0-20150820070356-41cfecea0e1e/third_party/gofrontend/libffi/configure.host (about) 1 # configure.host 2 # 3 # This shell script handles all host based configuration for libffi. 4 # 5 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 ;; 13 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 ;; 20 21 arc*-*-*) 22 TARGET=ARC; TARGETDIR=arc 23 SOURCES="ffi.c arcompact.S" 24 ;; 25 26 arm*-*-*) 27 TARGET=ARM; TARGETDIR=arm 28 SOURCES="ffi.c sysv.S" 29 ;; 30 31 avr32*-*-*) 32 TARGET=AVR32; TARGETDIR=avr32 33 SOURCES="ffi.c sysv.S" 34 ;; 35 36 bfin*) 37 TARGET=BFIN; TARGETDIR=bfin 38 SOURCES="ffi.c sysv.S" 39 ;; 40 41 cris-*-*) 42 TARGET=LIBFFI_CRIS; TARGETDIR=cris 43 SOURCES="ffi.c sysv.S" 44 ;; 45 46 frv-*-*) 47 TARGET=FRV; TARGETDIR=frv 48 SOURCES="ffi.c eabi.S" 49 ;; 50 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 ;; 62 63 i?86-*-freebsd* | i?86-*-openbsd*) 64 TARGET=X86_FREEBSD; TARGETDIR=x86 65 ;; 66 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 ;; 85 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 ;; 94 95 i?86-*-* | x86_64-*-* | amd64-*) 96 TARGETDIR=x86 97 if test $ac_cv_sizeof_size_t = 4; then 98 case "$host" in 99 *-gnux32) 100 TARGET=X86_64 101 ;; 102 *) 103 TARGET=X86 104 ;; 105 esac 106 else 107 TARGET=X86_64; 108 fi 109 ;; 110 111 ia64*-*-*) 112 TARGET=IA64; TARGETDIR=ia64 113 SOURCES="ffi.c unix.S" 114 ;; 115 116 m32r*-*-*) 117 TARGET=M32R; TARGETDIR=m32r 118 SOURCES="ffi.c sysv.S" 119 ;; 120 121 m68k-*-*) 122 TARGET=M68K; TARGETDIR=m68k 123 SOURCES="ffi.c sysv.S" 124 ;; 125 126 m88k-*-*) 127 TARGET=M88K; TARGETDIR=m88k 128 SOURCES="ffi.c obsd.S" 129 ;; 130 131 microblaze*-*-*) 132 TARGET=MICROBLAZE; TARGETDIR=microblaze 133 SOURCES="ffi.c sysv.S" 134 ;; 135 136 moxie-*-*) 137 TARGET=MOXIE; TARGETDIR=moxie 138 SOURCES="ffi.c eabi.S" 139 ;; 140 141 metag-*-*) 142 TARGET=METAG; TARGETDIR=metag 143 SOURCES="ffi.c sysv.S" 144 ;; 145 146 mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*) 147 TARGET=MIPS; TARGETDIR=mips 148 ;; 149 mips*-*linux* | mips*-*-openbsd*) 150 # Support 128-bit long double for NewABI. 151 HAVE_LONG_DOUBLE='defined(__mips64)' 152 TARGET=MIPS; TARGETDIR=mips 153 ;; 154 155 nios2*-linux*) 156 TARGET=NIOS2; TARGETDIR=nios2 157 SOURCES="ffi.c sysv.S" 158 ;; 159 160 or1k*-linux*) 161 TARGET=OR1K; TARGETDIR=or1k 162 SOURCES="ffi.c sysv.S" 163 ;; 164 165 powerpc*-*-linux* | powerpc-*-sysv*) 166 TARGET=POWERPC; TARGETDIR=powerpc 167 HAVE_LONG_DOUBLE_VARIANT=1 168 ;; 169 powerpc-*-amigaos*) 170 TARGET=POWERPC; TARGETDIR=powerpc 171 ;; 172 powerpc-*-beos*) 173 TARGET=POWERPC; TARGETDIR=powerpc 174 ;; 175 powerpc-*-darwin* | powerpc64-*-darwin*) 176 TARGET=POWERPC_DARWIN; TARGETDIR=powerpc 177 ;; 178 powerpc-*-aix* | rs6000-*-aix*) 179 TARGET=POWERPC_AIX; TARGETDIR=powerpc 180 ;; 181 powerpc-*-freebsd* | powerpc-*-openbsd*) 182 TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc 183 HAVE_LONG_DOUBLE_VARIANT=1 184 ;; 185 powerpc64-*-freebsd*) 186 TARGET=POWERPC; TARGETDIR=powerpc 187 ;; 188 powerpc*-*-rtems*) 189 TARGET=POWERPC; TARGETDIR=powerpc 190 ;; 191 192 s390-*-* | s390x-*-*) 193 TARGET=S390; TARGETDIR=s390 194 SOURCES="ffi.c sysv.S" 195 ;; 196 197 sh-*-* | sh[[34]]*-*-*) 198 TARGET=SH; TARGETDIR=sh 199 SOURCES="ffi.c sysv.S" 200 ;; 201 sh64-*-* | sh5*-*-*) 202 TARGET=SH64; TARGETDIR=sh64 203 SOURCES="ffi.c sysv.S" 204 ;; 205 206 sparc*-*-*) 207 TARGET=SPARC; TARGETDIR=sparc 208 SOURCES="ffi.c ffi64.c v8.S v9.S" 209 ;; 210 211 tile*-*) 212 TARGET=TILE; TARGETDIR=tile 213 SOURCES="ffi.c tile.S" 214 ;; 215 216 vax-*-*) 217 TARGET=VAX; TARGETDIR=vax 218 SOURCES="ffi.c elfbsd.S" 219 ;; 220 221 xtensa*-*) 222 TARGET=XTENSA; TARGETDIR=xtensa 223 SOURCES="ffi.c sysv.S" 224 ;; 225 esac 226 227 # ... but some of the cases above share configury. 228 case "${TARGET}" in 229 MIPS) 230 SOURCES="ffi.c o32.S n32.S" 231 ;; 232 POWERPC) 233 SOURCES="ffi.c ffi_sysv.c ffi_linux64.c sysv.S ppc_closure.S" 234 SOURCES="${SOURCES} linux64.S linux64_closure.S" 235 ;; 236 POWERPC_AIX) 237 SOURCES="ffi_darwin.c aix.S aix_closure.S" 238 ;; 239 POWERPC_DARWIN) 240 SOURCES="ffi_darwin.c darwin.S darwin_closure.S" 241 ;; 242 POWERPC_FREEBSD) 243 SOURCES="ffi.c ffi_sysv.c sysv.S ppc_closure.S" 244 ;; 245 X86 | X86_FREEBSD | X86_WIN32) 246 SOURCES="ffi.c sysv.S" 247 ;; 248 X86_64) 249 SOURCES="ffi64.c unix64.S" 250 ;; 251 X86_WIN64) 252 SOURCES="ffiw64.c win64.S" 253 ;; 254 X86_DARWIN) 255 SOURCES="darwin_c.c darwin.S" 256 ;; 257 X86_64_DARWIN) 258 SOURCES="darwin64_c.c darwin64.S" 259 ;; 260 esac 261 262 # If we failed to configure SOURCES, we can't do anything. 263 if test -z "${SOURCES}"; then 264 UNSUPPORTED=1 265 fi