Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Adrian Ratiu <adrian.ratiu@collabora.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: openembeded-devel <openembedded-devel@lists.openembedded.org>
Subject: Re: [meta-oe] [PATCH] renderdoc: add new recipe
Date: Thu, 26 Sep 2019 21:39:54 +0300	[thread overview]
Message-ID: <87o8z6vr45.fsf@collabora.com> (raw)
In-Reply-To: <CAMKF1sq5tSLNoWEwv8A1Yt=uqu9iwaQDUSH83V0d_5hWbq8FEQ@mail.gmail.com>

On Thu, 26 Sep 2019, Khem Raj <raj.khem@gmail.com> wrote:
> On Thu, Sep 26, 2019 at 8:10 AM Adrian Ratiu 
> <adrian.ratiu@collabora.com> wrote: 
>> 
>> Hello, 
>> 
>> On Thu, 26 Sep 2019, Khem Raj <raj.khem@gmail.com> wrote: 
>> > https://errors.yoctoproject.org/Errors/Details/272045/ 
>> 
>> Is using COMPATIBLE_MACHINE to stop the recipe from being built 
>> on mips an acceptable solution? Something like: 
>> 
>> COMPATIBLE_MACHINE_mipsarch = "(^$)" 
>> 
> 
> I think we need to understand the whole set of arches it 
> supports just doing mips will fix one of the CI builds 

Agreed. I'm on it, expect a v2 by the end of the week. Thank you!

>
>> >
>> > On Thu, Sep 26, 2019 at 1:02 AM Adrian Ratiu <adrian.ratiu@collabora.com> wrote:
>> >>
>> >> 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@collabora.com>
>> >> ---
>> >>  ...d-instead-of-cross-compiling-shim-bi.patch | 57 +++++++++++++++++++
>> >>  ...eLists.txt-remove-flag-unsupported-b.patch | 48 ++++++++++++++++
>> >>  .../renderdoc/renderdoc_1.4.bb                | 29 ++++++++++
>> >>  3 files changed, 134 insertions(+)
>> >>  create mode 100644 meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch
>> >>  create mode 100644 meta-oe/recipes-graphics/renderdoc/renderdoc/0002-q-renderdoc-CMakeLists.txt-remove-flag-unsupported-b.patch
>> >>  create mode 100644 meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
>> >>
>> >> 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 000000000..e96dedfc3
>> >> --- /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@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 000000000..8cfac3b0e
>> >> --- /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@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@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 000000000..ca26ae8c3
>> >> --- /dev/null
>> >> +++ b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
>> >> @@ -0,0 +1,29 @@
>> >> +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
>> >> +
>> >> +EXTRA_OECMAKE += "\
>> >> +       -DENABLE_QRENDERDOC=OFF \
>> >> +       -DENABLE_PYRENDERDOC=OFF \
>> >> +       -DENABLE_RENDERDOCCMD=ON \
>> >> +"
>> >> +
>> >> +TARGET_CFLAGS += "-Wno-error=deprecated-copy"
>> >> +
>> >> +FILES_${PN} += "${libdir}"
>> >> +FILES_${PN}-dev = "${includedir}"
>> >> --
>> >> 2.23.0
>> >>
>> >> --
>> >> _______________________________________________
>> >> Openembedded-devel mailing list
>> >> Openembedded-devel@lists.openembedded.org
>> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


      reply	other threads:[~2019-09-26 18:39 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-26  8:02 [meta-oe] [PATCH] renderdoc: add new recipe Adrian Ratiu
2019-09-26 13:57 ` Khem Raj
2019-09-26 15:10   ` Adrian Ratiu
2019-09-26 16:28     ` Khem Raj
2019-09-26 18:39       ` Adrian Ratiu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o8z6vr45.fsf@collabora.com \
    --to=adrian.ratiu@collabora.com \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=raj.khem@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox