diff options
| author | Markus Volk <f_l_k@t-online.de> | 2025-11-14 04:08:50 +0100 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2025-11-13 23:02:36 -0800 |
| commit | b9370342b4ead575a0c26a67e373cc91abf238d8 (patch) | |
| tree | d9b25e96d5d08e3b9a76cceaf3e994287ca95d22 /meta-oe/recipes-devtools/fex | |
| parent | c1af157c7854625171afa459c47f4edf4551ae04 (diff) | |
| download | meta-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.bb | 56 |
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 @@ | |||
| 1 | SUMMARY = "A fast usermode x86 and x86-64 emulator for Arm64 Linux" | ||
| 2 | HOMEPAGE = "https://github.com/FEX-Emu/FEX" | ||
| 3 | LICENSE = "MIT & BSL-1.0 & BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=70d20d502833c35d6d5a4f0ef5d9efcc" | ||
| 5 | LIC_FILES_CHKSUM += "file://External/range-v3/LICENSE.txt;md5=5dc23d5193abaedb6e42f05650004624" | ||
| 6 | LIC_FILES_CHKSUM += "file://External/xxhash/LICENSE;md5=13be6b481ff5616f77dda971191bb29b" | ||
| 7 | |||
| 8 | COMPATIBLE_HOST = "aarch64.*-linux" | ||
| 9 | COMPATIBLE_HOST:libc-musl = "null" | ||
| 10 | |||
| 11 | SRC_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 | |||
| 22 | SRCREV_FORMAT = "fex" | ||
| 23 | SRCREV_fex = "663fd5a98befbf7a0ac585627de15c662715a731" | ||
| 24 | SRCREV_cpp-optparse = "9f94388a339fcbb0bc95c17768eb786c85988f6e" | ||
| 25 | SRCREV_fex-drm = "3e49836995c1dcb3df709440ad2f270b569c6a5f" | ||
| 26 | SRCREV_xxhash = "e626a72bc2321cd320e953a0ccf1584cad60f363" | ||
| 27 | SRCREV_jemalloc = "ce24593018ca5d5af7e5661ceda9744e02b59f8f" | ||
| 28 | SRCREV_jemalloc-glibc = "8436195ad5e1bc347d9b39743af3d29abee59f06" | ||
| 29 | SRCREV_robin-map = "d5683d9f1891e5b04e3e3b2192b5349dc8d814ea" | ||
| 30 | SRCREV_range-v3 = "ca1388fb9da8e69314dda222dc7b139ca84e092f" | ||
| 31 | |||
| 32 | DEPENDS = " \ | ||
| 33 | catch2 \ | ||
| 34 | fmt \ | ||
| 35 | libdrm \ | ||
| 36 | nasm-native \ | ||
| 37 | vulkan-headers \ | ||
| 38 | " | ||
| 39 | |||
| 40 | PACKAGECONFIG = "" | ||
| 41 | PACKAGECONFIG[qt] = "-DBUILD_FEXCONFIG=ON,-DBUILD_FEXCONFIG=OFF,qtbase qttools-native qtquick3d" | ||
| 42 | |||
| 43 | EXTRA_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 | |||
| 51 | inherit cmake ccache pkgconfig | ||
| 52 | |||
| 53 | LDFLAGS += "-fuse-ld=lld" | ||
| 54 | |||
| 55 | FILES:${PN} += "${datadir} ${libdir}/binfmt.d ${libdir}/libFEXCore.so" | ||
| 56 | FILES:${PN}-dev = "${includedir}" | ||
