summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch57
-rw-r--r--meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb35
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 @@
1From 41a8c9b5ac13066770baee476ebf9828371f4dad Mon Sep 17 00:00:00 2001
2From: Adrian Ratiu <adrian.ratiu@collabora.com>
3Date: Tue, 24 Sep 2019 16:07:18 +0300
4Subject: [PATCH] renderdoc: use xxd instead of cross-compiling shim binary
5
6Renderdoc's attempt to cross compile an xxd replacement by directly
7calling a host cross-compiler breaks under OE's recipe specific
8sysroots protection because this is not a native recipe, so we just
9use xxd-native instead.
10
11Upstream-Status: Inappropriate [embedded-specific]
12
13---
14 renderdoc/CMakeLists.txt | 23 +----------------------
15 1 file changed, 1 insertion(+), 22 deletions(-)
16
17diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
18index 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 @@
1SUMMARY = "RenderDoc recipe providing renderdoccmd"
2DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger"
3HOMEPAGE = "https://github.com/baldurk/renderdoc"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9753b1b4fba3261c27d1ce5c1acef667"
6
7SRCREV = "214d85228538e71cc63a0d7fa11dd75b1d56cc81"
8SRC_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"
11S = "${WORKDIR}/git"
12
13DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native"
14
15RDEPENDS_${PN} = "libxcb xcb-util-keysyms"
16
17inherit cmake python3native
18
19python __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
25COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux"
26
27EXTRA_OECMAKE += "\
28 -DENABLE_QRENDERDOC=OFF \
29 -DENABLE_PYRENDERDOC=OFF \
30 -DENABLE_RENDERDOCCMD=ON \
31 -DCMAKE_BUILD_TYPE=Release \
32"
33
34FILES_${PN} += "${libdir}"
35FILES_${PN}-dev = "${includedir}"