Bundle QEMU
This commit is contained in:
parent
2766611878
commit
40a527bb23
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -14,3 +14,7 @@
|
|||||||
[submodule "dependencies/LIEF/src"]
|
[submodule "dependencies/LIEF/src"]
|
||||||
path = dependencies/LIEF/src
|
path = dependencies/LIEF/src
|
||||||
url = https://github.com/lief-project/LIEF.git
|
url = https://github.com/lief-project/LIEF.git
|
||||||
|
[submodule "dependencies/qemu/src"]
|
||||||
|
path = dependencies/qemu/src
|
||||||
|
url = https://gitlab.com/qemu-project/qemu.git
|
||||||
|
ignore = dirty
|
||||||
|
4
dependencies/CMakeLists.txt
vendored
4
dependencies/CMakeLists.txt
vendored
@ -16,3 +16,7 @@ endif()
|
|||||||
if(BUILD_NATIVE_COMPONENTS OR (BUILD_ARM_COMPONENTS AND NOT MCPI_SERVER_MODE AND NOT MCPI_USE_MEDIA_LAYER_PROXY))
|
if(BUILD_NATIVE_COMPONENTS OR (BUILD_ARM_COMPONENTS AND NOT MCPI_SERVER_MODE AND NOT MCPI_USE_MEDIA_LAYER_PROXY))
|
||||||
add_subdirectory(LIEF)
|
add_subdirectory(LIEF)
|
||||||
endif()
|
endif()
|
||||||
|
# QEMU
|
||||||
|
if(BUILD_NATIVE_COMPONENTS AND NOT (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64"))
|
||||||
|
add_subdirectory(qemu)
|
||||||
|
endif()
|
||||||
|
33
dependencies/qemu/CMakeLists.txt
vendored
Normal file
33
dependencies/qemu/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
project(qemu)
|
||||||
|
|
||||||
|
## QEMU
|
||||||
|
|
||||||
|
# Build
|
||||||
|
include(ProcessorCount)
|
||||||
|
ProcessorCount(NPROC)
|
||||||
|
include(ExternalProject)
|
||||||
|
ExternalProject_Add(qemu
|
||||||
|
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src"
|
||||||
|
CONFIGURE_COMMAND
|
||||||
|
"${CMAKE_COMMAND}" "-E" "env" "PKG_CONFIG_LIBDIR=$ENV{PKG_CONFIG_LIBDIR}"
|
||||||
|
"<SOURCE_DIR>/configure"
|
||||||
|
"--prefix=${CMAKE_INSTALL_PREFIX}"
|
||||||
|
"--cross-prefix="
|
||||||
|
"--cc=${CMAKE_C_COMPILER}"
|
||||||
|
"--cxx=${CMAKE_CXX_COMPILER}"
|
||||||
|
"--target-list=arm-linux-user"
|
||||||
|
"--without-default-features"
|
||||||
|
USES_TERMINAL_CONFIGURE TRUE
|
||||||
|
BUILD_COMMAND "make" "-j${NPROC}" "qemu-arm"
|
||||||
|
USES_TERMINAL_BUILD TRUE
|
||||||
|
INSTALL_COMMAND ""
|
||||||
|
TEST_COMMAND ""
|
||||||
|
BUILD_BYPRODUCTS "<BINARY_DIR>/qemu-arm"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Install
|
||||||
|
ExternalProject_Get_property(qemu BINARY_DIR)
|
||||||
|
install(PROGRAMS "${BINARY_DIR}/qemu-arm" DESTINATION "${MCPI_BIN_DIR}")
|
||||||
|
|
||||||
|
# License
|
||||||
|
install(FILES src/COPYING DESTINATION "${MCPI_LEGAL_DIR}/qemu")
|
1
dependencies/qemu/src
vendored
Submodule
1
dependencies/qemu/src
vendored
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 621da7789083b80d6f1ff1c0fb499334007b4f51
|
@ -5,9 +5,6 @@ Download packages [here](https://jenkins.thebrokenrail.com/job/minecraft-pi-rebo
|
|||||||
|
|
||||||
### System Requirements
|
### System Requirements
|
||||||
* Debian Buster/Ubuntu 18.04 Or Higher
|
* Debian Buster/Ubuntu 18.04 Or Higher
|
||||||
* QEMU User-Mode
|
|
||||||
* Debian/Ubuntu: ``sudo apt install qemu-user``
|
|
||||||
* Arch: ``sudo pacman -S qemu-user``
|
|
||||||
* Client-Only Dependencies
|
* Client-Only Dependencies
|
||||||
* Graphics Drivers
|
* Graphics Drivers
|
||||||
* GTK+ 3
|
* GTK+ 3
|
||||||
|
@ -37,9 +37,6 @@ __attribute__((noreturn)) void safe_execvpe(const char *const argv[], const char
|
|||||||
// Run
|
// Run
|
||||||
int ret = execvpe(argv[0], (char *const *) argv, (char *const *) envp);
|
int ret = execvpe(argv[0], (char *const *) argv, (char *const *) envp);
|
||||||
if (ret == -1) {
|
if (ret == -1) {
|
||||||
if (errno == ENOENT && strcmp(argv[0], "qemu-qrm")) {
|
|
||||||
ERR("Unable to find QEMU! To install on Ubuntu/Debian, run \"sudo apt install qemu-user\". To install on Arch Linux, run \"sudo pacman -S qemu-user\".");
|
|
||||||
}
|
|
||||||
ERR("Unable To Execute Program: %s: %s", argv[0], strerror(errno));
|
ERR("Unable To Execute Program: %s: %s", argv[0], strerror(errno));
|
||||||
} else {
|
} else {
|
||||||
IMPOSSIBLE();
|
IMPOSSIBLE();
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit c18851f52ec9704eb06464058a600845ec1eada1
|
Subproject commit dd8a678a66f1967372e5a5e3deac41ebf65ee127
|
Loading…
Reference in New Issue
Block a user