FFmpeg
Loading...
Searching...
No Matches
header_config.h
Go to the documentation of this file.
1/*
2 * Copyright © 2025, Niklas Haas
3 * Copyright © 2018, VideoLAN and dav1d authors
4 * Copyright © 2018, Two Orioles, LLC
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 *
10 * 1. Redistributions of source code must retain the above copyright notice, this
11 * list of conditions and the following disclaimer.
12 *
13 * 2. Redistributions in binary form must reproduce the above copyright notice,
14 * this list of conditions and the following disclaimer in the documentation
15 * and/or other materials provided with the distribution.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
21 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef CHECKASM_HEADER_CONFIG_H
30#define CHECKASM_HEADER_CONFIG_H
31
32#ifdef CHECKASM_HAVE_HEADER_GENERATED_H
33 #include "checkasm_header_config_generated.h"
34#endif
35
36#if defined(__aarch64__) || defined(_M_ARM64) || defined(__arm64ec__) \
37 || defined(_M_ARM64EC)
38 #ifndef CHECKASM_ARCH_AARCH64
39 #define CHECKASM_ARCH_AARCH64 1
40 #endif
41#elif defined(__arm__) || defined(_M_ARM)
42 #ifndef CHECKASM_ARCH_ARM
43 #define CHECKASM_ARCH_ARM 1
44 #endif
45#elif defined(__x86_64__) || defined(_M_AMD64)
46 #ifndef CHECKASM_ARCH_X86
47 #define CHECKASM_ARCH_X86 1
48 #define CHECKASM_ARCH_X86_64 1
49 #endif
50#elif defined(__i386__) || defined(_M_IX86)
51 #ifndef CHECKASM_ARCH_X86
52 #define CHECKASM_ARCH_X86 1
53 #define CHECKASM_ARCH_X86_32 1
54 #endif
55#elif defined(__powerpc64__) && defined(__LITTLE_ENDIAN__)
56 #ifndef CHECKASM_ARCH_PPC64LE
57 #define CHECKASM_ARCH_PPC64LE 1
58 #endif
59#elif defined(__riscv)
60 #ifndef CHECKASM_ARCH_RISCV
61 #define CHECKASM_ARCH_RISCV 1
62 #if __riscv_xlen == 64
63 #define CHECKASM_ARCH_RV64 1
64 #else
65 #define CHECKASM_ARCH_RV32 1
66 #endif
67 #endif
68#elif defined(__loongarch__)
69 #ifndef CHECKASM_ARCH_LOONGARCH
70 #define CHECKASM_ARCH_LOONGARCH 1
71 #if defined(__loongarch64)
72 #define CHECKASM_ARCH_LOONGARCH64 1
73 #else
74 #define CHECKASM_ARCH_LOONGARCH32 1
75 #endif
76 #endif
77#endif
78
79#ifndef CHECKASM_ARCH_AARCH64
80 #define CHECKASM_ARCH_AARCH64 0
81#endif
82
83#ifndef CHECKASM_ARCH_ARM
84 #define CHECKASM_ARCH_ARM 0
85#endif
86
87#ifndef CHECKASM_ARCH_X86
88 #define CHECKASM_ARCH_X86 0
89#endif
90
91#ifndef CHECKASM_ARCH_X86_64
92 #define CHECKASM_ARCH_X86_64 0
93#endif
94
95#ifndef CHECKASM_ARCH_X86_32
96 #define CHECKASM_ARCH_X86_32 0
97#endif
98
99#ifndef CHECKASM_ARCH_PPC64LE
100 #define CHECKASM_ARCH_PPC64LE 0
101#endif
102
103#ifndef CHECKASM_ARCH_RISCV
104 #define CHECKASM_ARCH_RISCV 0
105#endif
106
107#ifndef CHECKASM_ARCH_RV64
108 #define CHECKASM_ARCH_RV64 0
109#endif
110
111#ifndef CHECKASM_ARCH_RV32
112 #define CHECKASM_ARCH_RV32 0
113#endif
114
115#ifndef CHECKASM_ARCH_LOONGARCH
116 #define CHECKASM_ARCH_LOONGARCH 0
117#endif
118
119#ifndef CHECKASM_ARCH_LOONGARCH64
120 #define CHECKASM_ARCH_LOONGARCH64 0
121#endif
122
123#ifndef CHECKASM_ARCH_LOONGARCH32
124 #define CHECKASM_ARCH_LOONGARCH32 0
125#endif
126
127#endif /* CHECKASM_HEADER_CONFIG_H */