This repository has been archived by the owner on Jun 6, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCOMPATIBILITY
116 lines (92 loc) · 3.08 KB
/
COMPATIBILITY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
== Flect: Functional Systems Programming Language ==
-- Compatibility --
Flect requires Erlang R16B+ and Elixir 0.10.0. You will also need GNU Make
and basic POSIX utilities to build.
Flect must be configured at compile time. It needs information about the C99
compiler to use, the linker to use, operating system (if any), target
architecture, application binary interface, and so on. Below is a list of the
various supported values (the values in parentheses are the ones to enter in
the configuration script).
Compilers (FLECT_CC) supported:
* Clang (clang)
* GCC (gcc)
* ICC (icc)
Note that FLECT_CC is the path to the compiler or the name of its executable
so a full path can be specified too.
Compiler types (FLECT_CC_TYPE) supported:
* GCC interface (gcc)
Linkers (FLECT_LD) supported:
* LD (ld)
Note that FLECT_LD is the path to the linker or the name of its executable so
a full path can be specified too.
Linker types (FLECT_LD_TYPE) supported:
* LD interface (ld)
Operating systems (FLECT_OS) supported:
* None (none)
* AIX (aix)
* Android (android)
* DragonFlyBSD (dragonflybsd)
* FreeBSD (freebsd)
* GNU Hurd (hurd)
* Haiku (haiku)
* HP-UX (hpux)
* iOS (ios)
* Linux (linux)
* Mac OS X (darwin)
* OpenBSD (openbsd)
* Solaris (solaris)
* Windows (windows)
Architectures (FLECT_ARCH) supported:
* ARM (arm)
* Itanium (ia64)
* MIPS (mips)
* PowerPC (ppc)
* x86 (x86)
Note that certain architecture and operating system combinations don't make
sense, so you may get configuration errors if you configure these values
incorrectly.
ABIs (FLECT_ABI) supported:
* ARM
- 32-bit ARM w/ Thumb (arm-thumb)
- 32-bit ARM w/ Thumb 2 (arm-thumb2)
- 64-bit ARM (arm-aarch64)
* Itanium
- 32-bit Itanium (ia64-ilp32)
- 64-bit Itanium (ia64-lp64)
* MIPS
- 32-bit MIPS O32 (mips-o32)
- 32-bit MIPS N32 (mips-n32)
- 32-bit MIPS EABI (mips-eabi32)
- 64-bit MIPS O64 (mips-o64)
- 64-bit MIPS N64 (mips-n64)
- 64-bit MIPS EABI (mips-eabi64)
* PowerPC
- 32-bit PowerPC (ppc-ppc32)
- 64-bit PowerPC (ppc-ppc64)
* x86
- 32-bit x86 Microsoft (x86-ms32)
- 32-bit x86 System V (x86-sysv32)
- 64-bit x86 Microsoft (x86-ms64)
- 64-bit x86 System V (x86-sysv64)
- 64-bit x86 w/ x32 (x86-x32)
Floating point ABIs (FLECT_FPABI) supported:
* ARM
- Software floating point (arm-soft)
- VFP with software conventions (arm-softfp)
- VFP with hardware conventions (arm-hardfp)
* Itanium
- Software floating point (ia64-softfp)
- Hardware floating point (ia64-hardfp)
* MIPS
- Software floating point (mips-softfp)
- Hardware floating point (mips-hardfp)
* PowerPC
- Software floating point (ppc-softfp)
- Hardware floating point (ppc-hardfp)
* x86
- Software floating point (x86-softfp)
- x87 FPU (x86-x87)
- Streaming SIMD Extensions (x86-sse)
Endiannesses (FLECT_ENDIAN) supported:
* Big endian (big)
* Little endian (little)