|
| 1 | +# compile-condition |
| 2 | + |
| 3 | +## Syntax |
| 4 | + |
| 5 | +'`(` _compile_condition_ `)` __|__ |
| 6 | +[_identifier_](identifier.md) __|__ |
| 7 | +[_integer_literal_](integer_literal.md) __|__ |
| 8 | +[_version_literal_](version_literal.md) __|__ |
| 9 | +_compile_condition_ `<` _compile_condition_ __|__ |
| 10 | +_compile_condition_ `>` _compile_condition_ __|__ |
| 11 | +_compile_condition_ `<=` _compile_condition_ __|__ |
| 12 | +_compile_condition_ `>=` _compile_condition_ __|__ |
| 13 | +_compile_condition_ `==` _compile_condition_ __|__ |
| 14 | +_compile_condition_ `!=` _compile_condition_ __|__ |
| 15 | +_compile_condition_ `and` _compile_condition_ __|__ |
| 16 | +_compile_condition_ `or` _compile_condition_ __|__ |
| 17 | +`not` _compile_condition_ |
| 18 | + |
| 19 | +## Semantics |
| 20 | + |
| 21 | +If a identifier is a `false`, then any comparison with a version-literal or integer-literal is `false` as well. |
| 22 | + |
| 23 | +Build phases: |
| 24 | + - **download**: Download data before generating code. |
| 25 | + - **generate**: Generate code before building. |
| 26 | + - **build**: Build normal applications. |
| 27 | + |
| 28 | +Build type: |
| 29 | + - **debug**: Application is build for debugging. |
| 30 | + - **release**: Application is build for release. |
| 31 | + |
| 32 | +Operating systems: |
| 33 | + - **windows**: (version) Build for Microsoft Windows platform. Version of Windows |
| 34 | + - **macos**: (version) Build for Apple MacOS platform. Version of MacOS. |
| 35 | + - **linux**: (version) Build for Linux platform. Version of Linux kernel. |
| 36 | + - **ios**: (version) Mobile version of `macos`, which is also set. |
| 37 | + - **android**: (version) Mobile version of `linux`, which is also set. |
| 38 | + |
| 39 | +Platform: |
| 40 | + - **desktop**: |
| 41 | + - **phone**: |
| 42 | + - **watch**: |
| 43 | + - **pad**: |
| 44 | + |
| 45 | +The CPU: |
| 46 | + - **x86**: Intel x86 CPU. Integer is register size. |
| 47 | + - **x86_32** |
| 48 | + - **x86_64** |
| 49 | + - **x86_64v1** |
| 50 | + - **x86_64v2** |
| 51 | + - **x86_64v3** |
| 52 | + - **x86_64v4** |
| 53 | + - **x86_AVX**: Intel x86 AVX feature. |
| 54 | + - **arm**: Arm CPU. Integer is register size. |
| 55 | + - **arm_32** |
| 56 | + - **arm_64** |
0 commit comments