summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/fex
diff options
context:
space:
mode:
authorMarkus Volk <f_l_k@t-online.de>2025-11-14 04:08:50 +0100
committerKhem Raj <raj.khem@gmail.com>2025-11-13 23:02:36 -0800
commitb9370342b4ead575a0c26a67e373cc91abf238d8 (patch)
treed9b25e96d5d08e3b9a76cceaf3e994287ca95d22 /meta-oe/recipes-devtools/fex
parentc1af157c7854625171afa459c47f4edf4551ae04 (diff)
downloadmeta-openembedded-b9370342b4ead575a0c26a67e373cc91abf238d8.tar.gz
fex: add recipe
Fex is a fast usermode x86 and x86-64 emulator for Arm64 Linux It is used by 'valve' to run windows games on snapdragon Compilation requires TOOLCHAIN = "clang" Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools/fex')
-rw-r--r--meta-oe/recipes-devtools/fex/fex_2511.bb56
1 files changed, 56 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/fex/fex_2511.bb b/meta-oe/recipes-devtools/fex/fex_2511.bb
new file mode 100644
index 0000000000..9c0748ac63
--- /dev/null
+++ b/meta-oe/recipes-devtools/fex/fex_2511.bb
@@ -0,0 +1,56 @@
1SUMMARY = "A fast usermode x86 and x86-64 emulator for Arm64 Linux"
2HOMEPAGE = "https://github.com/FEX-Emu/FEX"
3LICENSE = "MIT & BSL-1.0 & BSD-2-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=70d20d502833c35d6d5a4f0ef5d9efcc"
5LIC_FILES_CHKSUM += "file://External/range-v3/LICENSE.txt;md5=5dc23d5193abaedb6e42f05650004624"
6LIC_FILES_CHKSUM += "file://External/xxhash/LICENSE;md5=13be6b481ff5616f77dda971191bb29b"
7
8COMPATIBLE_HOST = "aarch64.*-linux"
9COMPATIBLE_HOST:libc-musl = "null"
10
11SRC_URI = " \
12 git://github.com/FEX-Emu/FEX.git;name=fex;protocol=https;nobranch=1;tag=FEX-${PV} \
13 git://github.com/Sonicadvance1/cpp-optparse.git;name=cpp-optparse;subdir=${S}/Source/Common/cpp-optparse;protocol=https;nobranch=1 \
14 git://github.com/FEX-Emu/drm-headers.git;name=fex-drm;subdir=${S}/External/drm-headers;protocol=https;nobranch=1 \
15 git://github.com/Cyan4973/xxHash.git;name=xxhash;subdir=${S}/External/xxhash;protocol=https;nobranch=1 \
16 git://github.com/FEX-Emu/jemalloc.git;name=jemalloc;subdir=${S}/External/jemalloc;protocol=https;nobranch=1 \
17 git://github.com/FEX-Emu/jemalloc.git;name=jemalloc-glibc;subdir=${S}/External/jemalloc_glibc;protocol=https;nobranch=1 \
18 git://github.com/ericniebler/range-v3.git;name=range-v3;subdir=${S}/External/range-v3;protocol=https;nobranch=1 \
19 git://github.com/FEX-Emu/robin-map.git;name=robin-map;subdir=${S}/External/robin-map;protocol=https;nobranch=1 \
20"
21
22SRCREV_FORMAT = "fex"
23SRCREV_fex = "663fd5a98befbf7a0ac585627de15c662715a731"
24SRCREV_cpp-optparse = "9f94388a339fcbb0bc95c17768eb786c85988f6e"
25SRCREV_fex-drm = "3e49836995c1dcb3df709440ad2f270b569c6a5f"
26SRCREV_xxhash = "e626a72bc2321cd320e953a0ccf1584cad60f363"
27SRCREV_jemalloc = "ce24593018ca5d5af7e5661ceda9744e02b59f8f"
28SRCREV_jemalloc-glibc = "8436195ad5e1bc347d9b39743af3d29abee59f06"
29SRCREV_robin-map = "d5683d9f1891e5b04e3e3b2192b5349dc8d814ea"
30SRCREV_range-v3 = "ca1388fb9da8e69314dda222dc7b139ca84e092f"
31
32DEPENDS = " \
33 catch2 \
34 fmt \
35 libdrm \
36 nasm-native \
37 vulkan-headers \
38"
39
40PACKAGECONFIG = ""
41PACKAGECONFIG[qt] = "-DBUILD_FEXCONFIG=ON,-DBUILD_FEXCONFIG=OFF,qtbase qttools-native qtquick3d"
42
43EXTRA_OECMAKE += " \
44 -DBUILD_TESTING=OFF \
45 -DENABLE_VIXL_DISASSEMBLER=OFF \
46 -DENABLE_VIXL_SIMULATOR=OFF \
47 -DDATA_DIRECTORY=${datadir} \
48 -DQT_HOST_PATH:PATH=${RECIPE_SYSROOT_NATIVE}${prefix_native} \
49"
50
51inherit cmake ccache pkgconfig
52
53LDFLAGS += "-fuse-ld=lld"
54
55FILES:${PN} += "${datadir} ${libdir}/binfmt.d ${libdir}/libFEXCore.so"
56FILES:${PN}-dev = "${includedir}"