All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] spirv-tools: disable tests
@ 2021-02-13  0:59 Jose Quaresma
  2021-02-13  0:59 ` [PATCH 2/5] spirv-tools: build all libaries as shared Jose Quaresma
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Jose Quaresma @ 2021-02-13  0:59 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 meta/recipes-graphics/spir/spirv-tools_2020.6.bb | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-graphics/spir/spirv-tools_2020.6.bb b/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
index b1899d3957..a2cbaf426f 100644
--- a/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
+++ b/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
@@ -11,11 +11,14 @@ SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git"
 UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
 
-inherit cmake python3native
+inherit cmake
 
 DEPENDS = "spirv-headers"
 
-EXTRA_OECMAKE += "-DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR}"
+EXTRA_OECMAKE += "\
+    -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \
+    -DSPIRV_SKIP_TESTS=ON \
+"
 
 do_install_append_class-target() {
     # reproducibility: remove build host path
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/5] spirv-tools: build all libaries as shared
  2021-02-13  0:59 [PATCH 1/5] spirv-tools: disable tests Jose Quaresma
@ 2021-02-13  0:59 ` Jose Quaresma
  2021-02-13  0:59 ` [PATCH 3/5] glslang: generate glslang pkg-config Jose Quaresma
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Jose Quaresma @ 2021-02-13  0:59 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 meta/recipes-graphics/spir/spirv-tools_2020.6.bb | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/spir/spirv-tools_2020.6.bb b/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
index a2cbaf426f..4f45c68bbe 100644
--- a/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
+++ b/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
@@ -17,6 +17,8 @@ DEPENDS = "spirv-headers"
 
 EXTRA_OECMAKE += "\
     -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \
+    -DSPIRV_TOOLS_BUILD_STATIC=OFF \
+    -DBUILD_SHARED_LIBS=ON \
     -DSPIRV_SKIP_TESTS=ON \
 "
 
@@ -26,8 +28,9 @@ do_install_append_class-target() {
         -e 's:${STAGING_DIR_HOST}::g'
 }
 
+# all the libraries are unversioned, so don't pack it on PN-dev
+SOLIBS = ".so"
 FILES_SOLIBSDEV = ""
-FILES_${PN} += "${libdir}/*.so"
 
 PACKAGES =+ "${PN}-lesspipe"
 FILES_${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh"
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/5] glslang: generate glslang pkg-config
  2021-02-13  0:59 [PATCH 1/5] spirv-tools: disable tests Jose Quaresma
  2021-02-13  0:59 ` [PATCH 2/5] spirv-tools: build all libaries as shared Jose Quaresma
@ 2021-02-13  0:59 ` Jose Quaresma
  2021-02-13  0:59 ` [PATCH 4/5] glslang: add comment about unversioned libraries Jose Quaresma
  2021-02-13  0:59 ` [PATCH 5/5] shaderc: remove the receipe configure hack and use a patch for that Jose Quaresma
  3 siblings, 0 replies; 5+ messages in thread
From: Jose Quaresma @ 2021-02-13  0:59 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

- it will be useful for shaderc

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 .../0001-generate-glslang-pkg-config.patch    | 47 +++++++++++++++++++
 .../glslang/glslang_11.1.0.bb                 |  3 +-
 2 files changed, 49 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch

diff --git a/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch b/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
new file mode 100644
index 0000000000..ef092f17a1
--- /dev/null
+++ b/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
@@ -0,0 +1,47 @@
+From 6692611126b40d499c94bbcc8e29604560262072 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sun, 7 Feb 2021 01:30:39 +0000
+Subject: [PATCH] generate glslang pkg-config
+
+Based on https://src.fedoraproject.org/rpms/glslang/blob/main/f/0001-pkg-config-compatibility.patch
+
+Upstream-Status: Pending
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+
+---
+ glslang/CMakeLists.txt      |  2 ++
+ glslang/glslang.pc.cmake.in | 11 +++++++++++
+ 2 files changed, 13 insertions(+)
+ create mode 100644 glslang/glslang.pc.cmake.in
+
+diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
+index 1c7d22a2..10c1e841 100644
+--- a/glslang/CMakeLists.txt
++++ b/glslang/CMakeLists.txt
+@@ -209,6 +209,8 @@ if(ENABLE_GLSLANG_INSTALL)
+                 EXPORT  glslangTargets
+                 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+     endif()
++    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY)
++    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ 
+     install(EXPORT glslangTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
+ 
+diff --git a/glslang/glslang.pc.cmake.in b/glslang/glslang.pc.cmake.in
+new file mode 100644
+index 00000000..64b6882d
+--- /dev/null
++++ b/glslang/glslang.pc.cmake.in
+@@ -0,0 +1,11 @@
++    prefix=@CMAKE_INSTALL_PREFIX@
++    exec_prefix=@CMAKE_INSTALL_PREFIX@
++    libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
++    includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
++    
++    Name: @PROJECT_NAME@
++    Description: OpenGL and OpenGL ES shader front end and validator
++    Requires:
++    Version: @GLSLANG_VERSION@
++    Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper
++    Cflags: -I${includedir}
diff --git a/meta/recipes-graphics/glslang/glslang_11.1.0.bb b/meta/recipes-graphics/glslang/glslang_11.1.0.bb
index fe21dbcf50..9b7c098743 100644
--- a/meta/recipes-graphics/glslang/glslang_11.1.0.bb
+++ b/meta/recipes-graphics/glslang/glslang_11.1.0.bb
@@ -9,7 +9,8 @@ LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exc
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c5ce49c0456e9b413b98a4368c378229"
 
 SRCREV = "c594de23cdd790d64ad5f9c8b059baae0ee2941d"
-SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https"
+SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https \
+           file://0001-generate-glslang-pkg-config.patch"
 UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
 
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 4/5] glslang: add comment about unversioned libraries
  2021-02-13  0:59 [PATCH 1/5] spirv-tools: disable tests Jose Quaresma
  2021-02-13  0:59 ` [PATCH 2/5] spirv-tools: build all libaries as shared Jose Quaresma
  2021-02-13  0:59 ` [PATCH 3/5] glslang: generate glslang pkg-config Jose Quaresma
@ 2021-02-13  0:59 ` Jose Quaresma
  2021-02-13  0:59 ` [PATCH 5/5] shaderc: remove the receipe configure hack and use a patch for that Jose Quaresma
  3 siblings, 0 replies; 5+ messages in thread
From: Jose Quaresma @ 2021-02-13  0:59 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 meta/recipes-graphics/glslang/glslang_11.1.0.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-graphics/glslang/glslang_11.1.0.bb b/meta/recipes-graphics/glslang/glslang_11.1.0.bb
index 9b7c098743..53d90c9165 100644
--- a/meta/recipes-graphics/glslang/glslang_11.1.0.bb
+++ b/meta/recipes-graphics/glslang/glslang_11.1.0.bb
@@ -25,6 +25,7 @@ EXTRA_OECMAKE = " \
 "
 
 SOLIBSDEV = "glslang.so"
+# all the other libraries are unversioned, so pack it on PN
 FILES_${PN} += "${libdir}/*.so"
 
 BBCLASSEXTEND = "native nativesdk"
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 5/5] shaderc: remove the receipe configure hack and use a patch for that
  2021-02-13  0:59 [PATCH 1/5] spirv-tools: disable tests Jose Quaresma
                   ` (2 preceding siblings ...)
  2021-02-13  0:59 ` [PATCH 4/5] glslang: add comment about unversioned libraries Jose Quaresma
@ 2021-02-13  0:59 ` Jose Quaresma
  3 siblings, 0 replies; 5+ messages in thread
From: Jose Quaresma @ 2021-02-13  0:59 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

[Yocto #14226]

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 ...ndor-libs-and-disable-git-versioning.patch |  48 --------
 ...sable-building-external-dependencies.patch | 109 ++++++++++++++++++
 ...til-fix-glslang-header-file-location.patch |  28 +++++
 ...dd-option-to-skip-build-the-examples.patch |  47 ++++++++
 .../shaderc/shaderc_2020.4.bb                 |  20 +---
 5 files changed, 189 insertions(+), 63 deletions(-)
 delete mode 100644 meta/recipes-graphics/shaderc/files/0001-cmake-de-vendor-libs-and-disable-git-versioning.patch
 create mode 100644 meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
 create mode 100644 meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch
 create mode 100644 meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch

diff --git a/meta/recipes-graphics/shaderc/files/0001-cmake-de-vendor-libs-and-disable-git-versioning.patch b/meta/recipes-graphics/shaderc/files/0001-cmake-de-vendor-libs-and-disable-git-versioning.patch
deleted file mode 100644
index 40cc84df26..0000000000
--- a/meta/recipes-graphics/shaderc/files/0001-cmake-de-vendor-libs-and-disable-git-versioning.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From a07ac322a5a5fd4f0339913eb4456321ad1a69fd Mon Sep 17 00:00:00 2001
-From: Jose Quaresma <quaresma.jose@gmail.com>
-Date: Sat, 17 Oct 2020 12:51:50 +0100
-Subject: [PATCH] cmake: de-vendor libs and disable git versioning
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
-
----
- CMakeLists.txt              | 2 --
- glslc/CMakeLists.txt        | 1 -
- glslc/src/build-version.inc | 0
- 3 files changed, 3 deletions(-)
- create mode 100644 glslc/src/build-version.inc
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5c74cd8..9451fbc 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -102,12 +102,10 @@ endif(MSVC)
- 
- # Configure subdirectories.
- # We depend on these for later projects, so they should come first.
--add_subdirectory(third_party)
- 
- add_subdirectory(libshaderc_util)
- add_subdirectory(libshaderc)
- add_subdirectory(glslc)
--add_subdirectory(examples)
- 
- add_custom_target(build-version
-   ${PYTHON_EXECUTABLE}
-diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt
-index 31664d1..358d91b 100644
---- a/glslc/CMakeLists.txt
-+++ b/glslc/CMakeLists.txt
-@@ -53,7 +53,6 @@ shaderc_default_compile_options(glslc_exe)
- target_include_directories(glslc_exe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/.. ${spirv-tools_SOURCE_DIR}/include)
- set_target_properties(glslc_exe PROPERTIES OUTPUT_NAME glslc)
- target_link_libraries(glslc_exe PRIVATE glslc shaderc_util shaderc)
--add_dependencies(glslc_exe build-version)
- 
- shaderc_add_tests(
-   TEST_PREFIX glslc
-diff --git a/glslc/src/build-version.inc b/glslc/src/build-version.inc
-new file mode 100644
-index 0000000..e69de29
diff --git a/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch b/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
new file mode 100644
index 0000000000..cc9a400028
--- /dev/null
+++ b/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
@@ -0,0 +1,109 @@
+From 071a9d71bea91bbefcf15e061fc87e53568f3188 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sat, 13 Feb 2021 00:45:56 +0000
+Subject: [PATCH 1/3] cmake: disable building external dependencies
+
+- add cmake option to disable the build of the third_party dependencies
+- change the update_build_version.py to use pkg-config when third_party dependencies not found
+
+Upstream-Status: Inappropriate [OE-core specific]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ CMakeLists.txt                | 13 ++++++++++---
+ utils/update_build_version.py | 22 +++++++++++++++-------
+ 2 files changed, 25 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5c74cd8..b358f6b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,6 +41,7 @@ else()
+ endif()
+ 
+ option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON)
++option(BUILD_EXTERNAL "Build external dependencies in /third_party" ON)
+ 
+ set (CMAKE_CXX_STANDARD 11)
+ 
+@@ -101,8 +102,14 @@ endif(MSVC)
+ 
+ 
+ # Configure subdirectories.
+-# We depend on these for later projects, so they should come first.
+-add_subdirectory(third_party)
++if(BUILD_EXTERNAL)
++    # We depend on these for later projects, so they should come first.
++    add_subdirectory(third_party)
++else()
++    find_package(PkgConfig REQUIRED)
++    pkg_check_modules (PKG_CHECK REQUIRED SPIRV-Tools)
++    pkg_check_modules (PKG_CHECK REQUIRED glslang)
++endif()
+ 
+ add_subdirectory(libshaderc_util)
+ add_subdirectory(libshaderc)
+@@ -112,7 +119,7 @@ add_subdirectory(examples)
+ add_custom_target(build-version
+   ${PYTHON_EXECUTABLE}
+   ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py
+-  ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc
++  ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR}
+   COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).")
+ 
+ function(define_pkg_config_file NAME LIBS)
+diff --git a/utils/update_build_version.py b/utils/update_build_version.py
+index 5785390..f72b762 100755
+--- a/utils/update_build_version.py
++++ b/utils/update_build_version.py
+@@ -30,6 +30,7 @@ import re
+ import subprocess
+ import sys
+ import time
++import itertools
+ 
+ def mkdir_p(directory):
+     """Make the directory, and all its ancestors as required.  Any of the
+@@ -121,25 +122,32 @@ def get_version_string(project, directory):
+     directory, which consists of software version string and git description
+     string."""
+     detailed_version_string_lst = [project]
+-    if project != 'glslang':
+-        detailed_version_string_lst.append(deduce_software_version(directory))
+-    detailed_version_string_lst.append(describe(directory).replace('"', '\\"'))
++    if isinstance(directory, str) and os.path.isdir(directory):
++        if project != 'glslang':
++            detailed_version_string_lst.append(deduce_software_version(directory))
++        detailed_version_string_lst.append(describe(directory).replace('"', '\\"'))
++    else:
++        if project == 'spirv-tools':
++            project = 'SPIRV-Tools'
++        pkgconfig = ['pkg-config', '--modversion', project]
++        version = subprocess.run(pkgconfig, capture_output=True, text=True).stdout.rstrip()
++        detailed_version_string_lst.append(version)
+     return ' '.join(detailed_version_string_lst)
+ 
+ 
+ def main():
+-    if len(sys.argv) != 5:
+-        print(('usage: {} <shaderc-dir> <spirv-tools-dir> <glslang-dir> <output-file>'.format(
++    if len(sys.argv) < 3:
++        print(('usage: {} <output-file> <shaderc-dir> [spirv-tools-dir] [glslang-dir]'.format(
+             sys.argv[0])))
+         sys.exit(1)
+ 
+     projects = ['shaderc', 'spirv-tools', 'glslang']
+     new_content = ''.join([
+         '"{}\\n"\n'.format(get_version_string(p, d))
+-        for (p, d) in zip(projects, sys.argv[1:])
++        for (p, d) in itertools.zip_longest(projects, sys.argv[2:])
+     ])
+ 
+-    output_file = sys.argv[4]
++    output_file = sys.argv[1]
+     mkdir_p(os.path.dirname(output_file))
+ 
+     if os.path.isfile(output_file):
+-- 
+2.30.1
+
diff --git a/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch b/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch
new file mode 100644
index 0000000000..df670cdded
--- /dev/null
+++ b/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch
@@ -0,0 +1,28 @@
+From 046c3c2da9c4ff66f14db5bd68e9557504a49241 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sat, 13 Feb 2021 00:45:56 +0000
+Subject: [PATCH 2/3] libshaderc_util: fix glslang header file location
+
+Upstream-Status: Pending
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ libshaderc_util/src/compiler.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc
+index c5ce37e..4703634 100644
+--- a/libshaderc_util/src/compiler.cc
++++ b/libshaderc_util/src/compiler.cc
+@@ -20,7 +20,7 @@
+ #include <thread>
+ #include <tuple>
+ 
+-#include "SPIRV/GlslangToSpv.h"
++#include "glslang/SPIRV/GlslangToSpv.h"
+ #include "libshaderc_util/format.h"
+ #include "libshaderc_util/io.h"
+ #include "libshaderc_util/message.h"
+-- 
+2.30.1
+
diff --git a/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch b/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch
new file mode 100644
index 0000000000..43f9edc031
--- /dev/null
+++ b/meta/recipes-graphics/shaderc/files/0003-cmake-add-option-to-skip-build-the-examples.patch
@@ -0,0 +1,47 @@
+From f1064e4b6cfc5955bc7e2b036f2d05540da9f09b Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sat, 13 Feb 2021 00:45:56 +0000
+Subject: [PATCH 3/3] cmake: add option to skip build the examples
+
+Upstream-Status: Backport [https://github.com/google/shaderc/commit/8d081127ee28ff5df8123c994c00bc66a57e9e9c]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ CMakeLists.txt | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b358f6b..d8a5405 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -40,6 +40,16 @@ else()
+   message(STATUS "Configuring Shaderc to avoid building tests.")
+ endif()
+ 
++option(SHADERC_SKIP_EXAMPLES "Skip building examples" ${SHADERC_SKIP_EXAMPLES})
++if(NOT ${SHADERC_SKIP_EXAMPLES})
++  set(SHADERC_ENABLE_EXAMPLES ON)
++endif()
++if(${SHADERC_ENABLE_EXAMPLES})
++  message(STATUS "Configuring Shaderc to build examples.")
++else()
++  message(STATUS "Configuring Shaderc to avoid building examples.")
++endif()
++
+ option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON)
+ option(BUILD_EXTERNAL "Build external dependencies in /third_party" ON)
+ 
+@@ -114,7 +124,9 @@ endif()
+ add_subdirectory(libshaderc_util)
+ add_subdirectory(libshaderc)
+ add_subdirectory(glslc)
+-add_subdirectory(examples)
++if(${SHADERC_ENABLE_EXAMPLES})
++    add_subdirectory(examples)
++endif()
+ 
+ add_custom_target(build-version
+   ${PYTHON_EXECUTABLE}
+-- 
+2.30.1
+
diff --git a/meta/recipes-graphics/shaderc/shaderc_2020.4.bb b/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
index e966ed3d77..3b82b150b6 100644
--- a/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
+++ b/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
@@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
 SRCREV = "0dbd899941a43ffd55df527d65128b3b66e75c9c"
 SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
-           file://0001-cmake-de-vendor-libs-and-disable-git-versioning.patch \
+           file://0001-cmake-disable-building-external-dependencies-in-thir.patch \
+           file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
+           file://0003-cmake-add-option-to-skip-build-the-examples.patch \
            "
 UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
@@ -19,21 +21,9 @@ DEPENDS = "spirv-headers spirv-tools glslang"
 
 EXTRA_OECMAKE = " \
     -DCMAKE_BUILD_TYPE=Release \
+    -DBUILD_EXTERNAL=OFF \
     -DSHADERC_SKIP_TESTS=ON \
-    -Dglslang_SOURCE_DIR=${STAGING_INCDIR}/glslang \
+    -DSHADERC_SKIP_EXAMPLES=ON \
 "
 
 BBCLASSEXTEND = "native nativesdk"
-
-# TODO: probably there is better solution for this.
-# I don't know any method for get the version of a receipe in DEPENDS,
-# so do this ugly hack
-inherit pkgconfig
-DEPENDS += "glslang-native"
-do_configure_prepend() {
-    cat <<- EOF > ${S}/glslc/src/build-version.inc
-"${PV}\\n"
-"$(pkg-config --modversion SPIRV-Tools)\\n"
-"$(glslangValidator --version | head -1 | cut -d' ' -f3)\\n"
-EOF
-}
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-02-13  0:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-13  0:59 [PATCH 1/5] spirv-tools: disable tests Jose Quaresma
2021-02-13  0:59 ` [PATCH 2/5] spirv-tools: build all libaries as shared Jose Quaresma
2021-02-13  0:59 ` [PATCH 3/5] glslang: generate glslang pkg-config Jose Quaresma
2021-02-13  0:59 ` [PATCH 4/5] glslang: add comment about unversioned libraries Jose Quaresma
2021-02-13  0:59 ` [PATCH 5/5] shaderc: remove the receipe configure hack and use a patch for that Jose Quaresma

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.