Squashed 'external/capstone/' content from commit e46f64fa

git-subtree-dir: external/capstone
git-subtree-split: e46f64fadb351e9ecd05264fab26f2772feb0994
This commit is contained in:
2026-05-11 11:55:07 +02:00
commit 802798ce3c
3968 changed files with 2967598 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
# Cross Compilation Configs
This directory holds example cross compilation configs for cmake.
Files are named like: `<targetOS>_<targetMachine>_<hostOS>.cmake`
@@ -0,0 +1,19 @@
# This example file is for ARMv7 cross builds on Fedora 42.
# The toolchain used is https://musl.cc/armv7m-linux-musleabi-cross.tgz
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILE_OPTIONS_SYSROOT "--sysroot=")
set(CMAKE_CXX_COMPILE_OPTIONS_SYSROOT "--sysroot=")
set(TOOLCHAIN_DIR /home/user/toolchains/armv7m-linux-musleabi-cross/)
set(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/armv7m-linux-musleabi-gcc)
set(CMAKE_ASM_COMPILER ${TOOLCHAIN_DIR}/bin/armv7m-linux-musleabi-gcc)
set(CMAKE_CROSS_COMPILING 1)
set(CMAKE_SYSROOT /home/user/toolchains/armv7m-linux-musleabi-cross/armv7m-linux-musleabi/)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-arm-static;-L;${CMAKE_SYSROOT})
+17
View File
@@ -0,0 +1,17 @@
# This example file is for builds on Ubunutu 24.04.
# sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf libc6-armhf-cross libc6-dev-armhf-cross qemu-user-static
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_ASM_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CROSS_COMPILING 1)
set(CMAKE_SYSROOT /usr/arm-linux-gnueabihf/usr)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-arm-static;-L;/usr/arm-linux-gnueabihf)
+17
View File
@@ -0,0 +1,17 @@
# This example file is for builds on Ubunutu 24.04.
# Search for required packages (compiler + libc) with `apt search mips64`
# sudo apt install gcc-mips64el-linux-gnuabi64 g++-mips64el-linux-gnuabi64 binutils-mips64el-linux-gnuabi64 libc6-dev-mips64el-cross qemu-user-static
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR mips64el)
set(CMAKE_C_COMPILER mips64el-linux-gnuabi64-gcc)
set(CMAKE_ASM_COMPILER mips64el-linux-gnuabi64-gcc)
set(CMAKE_CROSS_COMPILING 1)
set(CMAKE_SYSROOT /usr/mips64el-linux-gnuabi64/usr/)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-mips64el-static;-L;/usr/mips64el-linux-gnuabi64/)
+17
View File
@@ -0,0 +1,17 @@
# This example file is for builds on Ubunutu 24.04.
# Search for required packages (compiler + libc) with `apt search mips`
# sudo apt install gcc-mips-linux-gnu g++-mips-linux-gnu binutils-mips-linux-gnu libc6-dev-mips-cross qemu-user-static
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR mips)
set(CMAKE_C_COMPILER mips-linux-gnu-gcc)
set(CMAKE_ASM_COMPILER mips-linux-gnu-gcc)
set(CMAKE_CROSS_COMPILING 1)
set(CMAKE_SYSROOT /usr/mips-linux-gnu/usr/)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-mips-static;-L;/usr/mips-linux-gnu/)
+17
View File
@@ -0,0 +1,17 @@
# This example file is for builds on Ubunutu 24.04.
# Search for required packages (compiler + libc) with `apt search PPC64`
# sudo apt install gcc-powerpc64-linux-gnu g++-powerpc64-linux-gnu binutils-powerpc64-linux-gnu libc6-dev-ppc64-cross qemu-user-static
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR ppc64)
set(CMAKE_C_COMPILER powerpc64-linux-gnu-gcc)
set(CMAKE_ASM_COMPILER powerpc64-linux-gnu-gcc)
set(CMAKE_CROSS_COMPILING 1)
set(CMAKE_SYSROOT /usr/powerpc64-linux-gnu/usr)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_CROSSCOMPILING_EMULATOR qemu-ppc64-static;-L;/usr/powerpc64-linux-gnu)
+20
View File
@@ -0,0 +1,20 @@
# This example file is for build on Fedora 42.
# Search for required packages with `dnf search s390x`
# Bug of cmake not passing sysroot early enough
# https://stackoverflow.com/questions/36195791/cmake-missing-sysroot-when-cross-compiling
set(CMAKE_C_COMPILE_OPTIONS_SYSROOT "--sysroot=")
set(CMAKE_CXX_COMPILE_OPTIONS_SYSROOT "--sysroot=")
set(CMAKE_C_COMPILER /usr/bin/s390x-linux-gnu-gcc)
set(CMAKE_ASM_COMPILER /usr/bin/s390x-linux-gnu-gcc)
set(CMAKE_CROSS_COMPILING 1)
set(CMAKE_SYSROOT /usr/s390x-redhat-linux/sys-root/fc42/)
set(CMAKE_FIND_ROOT_PATH /usr/s390x-redhat-linux/sys-root/fc42/)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_CROSSCOMPILING_EMULATOR "qemu-s390x-static;-L;${CMAKE_SYSROOT}/usr/")
+17
View File
@@ -0,0 +1,17 @@
# This example file is for builds on Ubunutu 24.04.
# Search for required packages (compiler + libc) with `apt search s390x`
set(CMAKE_C_COMPILER /usr/bin/s390x-linux-gnu-gcc)
set(CMAKE_ASM_COMPILER /usr/bin/s390x-linux-gnu-gcc)
set(CMAKE_CROSS_COMPILING 1)
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSROOT /usr/s390x-linux-gnu/usr/)
set(CMAKE_SYSTEM_PROCESSOR "s390x")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_CROSSCOMPILING_EMULATOR "qemu-s390x-static;-L;/usr/s390x-linux-gnu/")
+24
View File
@@ -0,0 +1,24 @@
# SPDX-FileCopyrightText: 2025 Rot127 <unisono@quyllur.org>
# SPDX-License-Identifier: LGPL-3.0-only
# Requires the 32bit libc like glibc-devel.i686 libgcc.i686 (Fedora) or similar
# for other distributions.
# This example was tested on Fedora 43
# the name of the target operating system
set(CMAKE_SYSTEM_NAME Linux)
# which compilers to use for C and C++
set(CMAKE_C_COMPILER gcc)
set(CMAKE_C_FLAGS -m32)
set(CMAKE_CXX_COMPILER g++)
set(CMAKE_CXX_FLAGS -m32)
# where is the target environment located
set(CMAKE_FIND_ROOT_PATH /)
set(CMAKE_SYSTEM_PROCESSOR "i686")
# search headers and libraries in the target environment
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+13
View File
@@ -0,0 +1,13 @@
# This example file is for builds on Ubunutu 24.04.
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR i686)
set(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
set(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
set(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)