Squashed 'external/capstone/' content from commit e46f64fa
git-subtree-dir: external/capstone git-subtree-split: e46f64fadb351e9ecd05264fab26f2772feb0994
This commit is contained in:
@@ -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})
|
||||
@@ -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)
|
||||
|
||||
@@ -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/)
|
||||
@@ -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/)
|
||||
@@ -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)
|
||||
@@ -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/")
|
||||
@@ -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/")
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user