[oe-commits] [meta-openembedded] branch master-next updated: renderdoc: add new recipe

git at git.openembedded.org git at git.openembedded.org
Fri Sep 27 17:15:29 UTC 2019


This is an automated email from the git hooks/post-receive script.

khem pushed a commit to branch master-next
in repository meta-openembedded.

The following commit(s) were added to refs/heads/master-next by this push:
     new e87079d  renderdoc: add new recipe
e87079d is described below

commit e87079d6fcc76170f30b0972579736e8d7e30854
Author: Adrian Ratiu <adrian.ratiu at collabora.com>
AuthorDate: Fri Sep 27 19:56:05 2019 +0300

    renderdoc: add new recipe
    
    RenderDoc is a MIT licensed stand-alone multi-platform graphics
    debugger that allows easy frame by frame capture and detailed
    introspection of any applications using Vulkan, OpenGL, OpenGL ES,
    and others.
    
    Signed-off-by: Adrian Ratiu <adrian.ratiu at collabora.com>
    Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 ...se-xxd-instead-of-cross-compiling-shim-bi.patch | 57 ++++++++++++++++++++++
 ...-CMakeLists.txt-remove-flag-unsupported-b.patch | 48 ++++++++++++++++++
 .../recipes-graphics/renderdoc/renderdoc_1.4.bb    | 37 ++++++++++++++
 3 files changed, 142 insertions(+)

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 0000000..e96dedf
--- /dev/null
+++ b/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch
@@ -0,0 +1,57 @@
+From 41a8c9b5ac13066770baee476ebf9828371f4dad Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu at collabora.com>
+Date: Tue, 24 Sep 2019 16:07:18 +0300
+Subject: [PATCH] renderdoc: use xxd instead of cross-compiling shim binary
+
+Renderdoc's attempt to cross compile an xxd replacement by directly
+calling a host cross-compiler breaks under OE's recipe specific
+sysroots protection because this is not a native recipe, so we just
+use xxd-native instead.
+
+Upstream-Status: Inappropriate [embedded-specific]
+
+---
+ renderdoc/CMakeLists.txt | 23 +----------------------
+ 1 file changed, 1 insertion(+), 22 deletions(-)
+
+diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
+index 5cb7440a4..453a034ba 100644
+--- a/renderdoc/CMakeLists.txt
++++ b/renderdoc/CMakeLists.txt
+@@ -370,26 +370,6 @@ set(data
+ set(data_objects)
+ 
+ if(UNIX)
+-    # If we're cross-compiling, include-bin will get built for the target and we
+-    # then can't execute it. Instead, we force calling c++ (which we can safely
+-    # assume is present) directly to build the binary
+-
+-    if(CMAKE_CROSSCOMPILING)
+-        set(HOST_NATIVE_CPP_COMPILER c++ CACHE STRING "Command to run to compile a .cpp into an executable. Default is just c++")
+-
+-        add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin
+-            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-            COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+-            COMMAND ${HOST_NATIVE_CPP_COMPILER} 3rdparty/include-bin/main.cpp -o ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin
+-            DEPENDS 3rdparty/include-bin/main.cpp)
+-        set(INCLUDE_BIN_EXE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin")
+-        set(INCLUDE_BIN_DEP "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin")
+-    else()
+-        add_executable(include-bin 3rdparty/include-bin/main.cpp)
+-        set(INCLUDE_BIN_EXE $<TARGET_FILE:include-bin>)
+-        set(INCLUDE_BIN_DEP include-bin)
+-    endif()
+-
+     foreach(res ${data})
+         set(in ${res})
+         set(working_dir ${CMAKE_CURRENT_SOURCE_DIR})
+@@ -399,8 +379,7 @@ if(UNIX)
+         add_custom_command(OUTPUT ${out_src}
+             WORKING_DIRECTORY ${working_dir}
+             COMMAND ${CMAKE_COMMAND} -E make_directory ${out_src_dir}
+-            COMMAND ${INCLUDE_BIN_EXE} ${in} ${out_src}
+-            DEPENDS ${INCLUDE_BIN_DEP}
++            COMMAND xxd -i ${in} ${out_src}
+             DEPENDS ${res})
+ 
+         list(APPEND data_objects ${out_src})
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc/0002-q-renderdoc-CMakeLists.txt-remove-flag-unsupported-b.patch b/meta-oe/recipes-graphics/renderdoc/renderdoc/0002-q-renderdoc-CMakeLists.txt-remove-flag-unsupported-b.patch
new file mode 100644
index 0000000..8cfac3b
--- /dev/null
+++ b/meta-oe/recipes-graphics/renderdoc/renderdoc/0002-q-renderdoc-CMakeLists.txt-remove-flag-unsupported-b.patch
@@ -0,0 +1,48 @@
+From 40511a6f4dc6311c8cf7f2954d1202ede55881ff Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu at collabora.com>
+Date: Wed, 25 Sep 2019 19:31:14 +0300
+Subject: [PATCH] (q)renderdoc/CMakeLists.txt: remove flag unsupported by GCC
+
+-Wno-unknown-warning is not supported by GCC, only by Clang so we
+remove it because newer GCC versions like 9.2.0 will complain, older
+versions would just ignore it.
+
+Upstream-Status: Pending [https://github.com/baldurk/renderdoc/pull/1530]
+
+Signed-off-by: Adrian Ratiu <adrian.ratiu at collabora.com>
+
+---
+ qrenderdoc/CMakeLists.txt | 2 +-
+ renderdoc/CMakeLists.txt  | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/qrenderdoc/CMakeLists.txt b/qrenderdoc/CMakeLists.txt
+index 9fd65b2d3..d52dd274e 100644
+--- a/qrenderdoc/CMakeLists.txt
++++ b/qrenderdoc/CMakeLists.txt
+@@ -149,7 +149,7 @@ file(WRITE
+ if(CMAKE_COMPILER_IS_GNUCXX)
+     file(APPEND
+         ${CMAKE_BINARY_DIR}/qrenderdoc/qrenderdoc_cmake.pri
+-        "QMAKE_CXXFLAGS+=-Wno-unknown-warning -Wno-implicit-fallthrough -Wno-cast-function-type -Wno-stringop-truncation\n")
++        "QMAKE_CXXFLAGS+=-Wno-implicit-fallthrough -Wno-cast-function-type -Wno-stringop-truncation\n")
+ endif()
+ 
+ # propagate build version info. Lots of escaping needed here to pass ""s into the define value
+diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
+index 453a034ba..abe7e1302 100644
+--- a/renderdoc/CMakeLists.txt
++++ b/renderdoc/CMakeLists.txt
+@@ -320,10 +320,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR APPLE)
+ 
+     if(CMAKE_COMPILER_IS_GNUCXX)
+         set_property(SOURCE 3rdparty/jpeg-compressor/jpgd.cpp
+-            APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-unknown-warning -Wno-implicit-fallthrough")
++            APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-implicit-fallthrough")
+ 
+         set_property(SOURCE strings/utf8printf.cpp
+-            APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-unknown-warning -Wno-format-truncation")
++            APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-format-truncation")
+     endif()
+ 
+     # Need to add -Wno-unknown-warning-option since only newer clang versions have
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 0000000..1bd0c71
--- /dev/null
+++ b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
@@ -0,0 +1,37 @@
+SUMMARY = "RenderDoc recipe providing renderdoccmd"
+DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger"
+HOMEPAGE = "https://github.com/baldurk/renderdoc"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9753b1b4fba3261c27d1ce5c1acef667"
+
+SRCREV = "214d85228538e71cc63a0d7fa11dd75b1d56cc81"
+SRC_URI = "git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \
+	   file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \
+	   file://0002-q-renderdoc-CMakeLists.txt-remove-flag-unsupported-b.patch \
+"
+S = "${WORKDIR}/git"
+
+DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native"
+
+RDEPENDS_${PN} = "libxcb xcb-util-keysyms"
+
+inherit cmake python3native
+
+python __anonymous () {
+    # only works on glibc systems
+    if d.getVar('TCLIBC') != "glibc":
+        raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC'))
+}
+
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux"
+
+EXTRA_OECMAKE += "\
+    -DENABLE_QRENDERDOC=OFF \
+    -DENABLE_PYRENDERDOC=OFF \
+    -DENABLE_RENDERDOCCMD=ON \
+"
+
+TARGET_CFLAGS += "-Wno-error=deprecated-copy"
+
+FILES_${PN} += "${libdir}"
+FILES_${PN}-dev = "${includedir}"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list