diff options
| -rw-r--r-- | meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch | 57 | ||||
| -rw-r--r-- | meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb | 35 |
2 files changed, 92 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch b/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch new file mode 100644 index 0000000000..e96dedfc39 --- /dev/null +++ b/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch | |||
| @@ -0,0 +1,57 @@ | |||
| 1 | From 41a8c9b5ac13066770baee476ebf9828371f4dad Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Adrian Ratiu <adrian.ratiu@collabora.com> | ||
| 3 | Date: Tue, 24 Sep 2019 16:07:18 +0300 | ||
| 4 | Subject: [PATCH] renderdoc: use xxd instead of cross-compiling shim binary | ||
| 5 | |||
| 6 | Renderdoc's attempt to cross compile an xxd replacement by directly | ||
| 7 | calling a host cross-compiler breaks under OE's recipe specific | ||
| 8 | sysroots protection because this is not a native recipe, so we just | ||
| 9 | use xxd-native instead. | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [embedded-specific] | ||
| 12 | |||
| 13 | --- | ||
| 14 | renderdoc/CMakeLists.txt | 23 +---------------------- | ||
| 15 | 1 file changed, 1 insertion(+), 22 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt | ||
| 18 | index 5cb7440a4..453a034ba 100644 | ||
| 19 | --- a/renderdoc/CMakeLists.txt | ||
| 20 | +++ b/renderdoc/CMakeLists.txt | ||
| 21 | @@ -370,26 +370,6 @@ set(data | ||
| 22 | set(data_objects) | ||
| 23 | |||
| 24 | if(UNIX) | ||
| 25 | - # If we're cross-compiling, include-bin will get built for the target and we | ||
| 26 | - # then can't execute it. Instead, we force calling c++ (which we can safely | ||
| 27 | - # assume is present) directly to build the binary | ||
| 28 | - | ||
| 29 | - if(CMAKE_CROSSCOMPILING) | ||
| 30 | - set(HOST_NATIVE_CPP_COMPILER c++ CACHE STRING "Command to run to compile a .cpp into an executable. Default is just c++") | ||
| 31 | - | ||
| 32 | - add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin | ||
| 33 | - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | ||
| 34 | - COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} | ||
| 35 | - COMMAND ${HOST_NATIVE_CPP_COMPILER} 3rdparty/include-bin/main.cpp -o ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin | ||
| 36 | - DEPENDS 3rdparty/include-bin/main.cpp) | ||
| 37 | - set(INCLUDE_BIN_EXE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin") | ||
| 38 | - set(INCLUDE_BIN_DEP "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin") | ||
| 39 | - else() | ||
| 40 | - add_executable(include-bin 3rdparty/include-bin/main.cpp) | ||
| 41 | - set(INCLUDE_BIN_EXE $<TARGET_FILE:include-bin>) | ||
| 42 | - set(INCLUDE_BIN_DEP include-bin) | ||
| 43 | - endif() | ||
| 44 | - | ||
| 45 | foreach(res ${data}) | ||
| 46 | set(in ${res}) | ||
| 47 | set(working_dir ${CMAKE_CURRENT_SOURCE_DIR}) | ||
| 48 | @@ -399,8 +379,7 @@ if(UNIX) | ||
| 49 | add_custom_command(OUTPUT ${out_src} | ||
| 50 | WORKING_DIRECTORY ${working_dir} | ||
| 51 | COMMAND ${CMAKE_COMMAND} -E make_directory ${out_src_dir} | ||
| 52 | - COMMAND ${INCLUDE_BIN_EXE} ${in} ${out_src} | ||
| 53 | - DEPENDS ${INCLUDE_BIN_DEP} | ||
| 54 | + COMMAND xxd -i ${in} ${out_src} | ||
| 55 | DEPENDS ${res}) | ||
| 56 | |||
| 57 | list(APPEND data_objects ${out_src}) | ||
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb new file mode 100644 index 0000000000..b6e0c92f6d --- /dev/null +++ b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | SUMMARY = "RenderDoc recipe providing renderdoccmd" | ||
| 2 | DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger" | ||
| 3 | HOMEPAGE = "https://github.com/baldurk/renderdoc" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9753b1b4fba3261c27d1ce5c1acef667" | ||
| 6 | |||
| 7 | SRCREV = "214d85228538e71cc63a0d7fa11dd75b1d56cc81" | ||
| 8 | SRC_URI = "git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \ | ||
| 9 | file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \ | ||
| 10 | " | ||
| 11 | S = "${WORKDIR}/git" | ||
| 12 | |||
| 13 | DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native" | ||
| 14 | |||
| 15 | RDEPENDS_${PN} = "libxcb xcb-util-keysyms" | ||
| 16 | |||
| 17 | inherit cmake python3native | ||
| 18 | |||
| 19 | python __anonymous () { | ||
| 20 | # only works on glibc systems | ||
| 21 | if d.getVar('TCLIBC') != "glibc": | ||
| 22 | raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC')) | ||
| 23 | } | ||
| 24 | |||
| 25 | COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux" | ||
| 26 | |||
| 27 | EXTRA_OECMAKE += "\ | ||
| 28 | -DENABLE_QRENDERDOC=OFF \ | ||
| 29 | -DENABLE_PYRENDERDOC=OFF \ | ||
| 30 | -DENABLE_RENDERDOCCMD=ON \ | ||
| 31 | -DCMAKE_BUILD_TYPE=Release \ | ||
| 32 | " | ||
| 33 | |||
| 34 | FILES_${PN} += "${libdir}" | ||
| 35 | FILES_${PN}-dev = "${includedir}" | ||
