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