All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] glslang: only build shared libs for dev packages
@ 2021-02-07  1:51 Jose Quaresma
  2021-02-07  1:51 ` [PATCH 2/4] glslang: generate glslang pkg-config Jose Quaresma
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jose Quaresma @ 2021-02-07  1:51 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 ...g-default-resource-limits-lib-static.patch | 28 +++++++++++++++++++
 .../glslang/glslang_11.1.0.bb                 |  7 ++---
 2 files changed, 31 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-graphics/glslang/glslang/0001-build-the-glslang-default-resource-limits-lib-static.patch

diff --git a/meta/recipes-graphics/glslang/glslang/0001-build-the-glslang-default-resource-limits-lib-static.patch b/meta/recipes-graphics/glslang/glslang/0001-build-the-glslang-default-resource-limits-lib-static.patch
new file mode 100644
index 0000000000..111d85b212
--- /dev/null
+++ b/meta/recipes-graphics/glslang/glslang/0001-build-the-glslang-default-resource-limits-lib-static.patch
@@ -0,0 +1,28 @@
+From 58ebb16f1ea50dbc4096ea24292be8e174528d75 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] build the glslang-default-resource-limits lib statically
+
+Taken from https://src.fedoraproject.org/rpms/glslang/blob/main/f/glslang-default-resource-limits_staticlib.patch
+
+Upstream-Status: Pending
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+
+---
+ StandAlone/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt
+index bff9ab61..c4d10ae9 100644
+--- a/StandAlone/CMakeLists.txt
++++ b/StandAlone/CMakeLists.txt
+@@ -31,7 +31,7 @@
+ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ # POSSIBILITY OF SUCH DAMAGE.
+ 
+-add_library(glslang-default-resource-limits
++add_library(glslang-default-resource-limits STATIC
+             ${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp
+             ${CMAKE_CURRENT_SOURCE_DIR}/resource_limits_c.cpp)
+ set_property(TARGET glslang-default-resource-limits PROPERTY FOLDER glslang)
diff --git a/meta/recipes-graphics/glslang/glslang_11.1.0.bb b/meta/recipes-graphics/glslang/glslang_11.1.0.bb
index fe21dbcf50..7e83ff0626 100644
--- a/meta/recipes-graphics/glslang/glslang_11.1.0.bb
+++ b/meta/recipes-graphics/glslang/glslang_11.1.0.bb
@@ -9,7 +9,9 @@ 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-build-the-glslang-default-resource-limits-lib-static.patch \
+           "
 UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
 
@@ -23,7 +25,4 @@ EXTRA_OECMAKE = " \
     -DBUILD_EXTERNAL=OFF \
 "
 
-SOLIBSDEV = "glslang.so"
-FILES_${PN} += "${libdir}/*.so"
-
 BBCLASSEXTEND = "native nativesdk"
-- 
2.30.0


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

* [PATCH 2/4] glslang: generate glslang pkg-config
  2021-02-07  1:51 [PATCH 1/4] glslang: only build shared libs for dev packages Jose Quaresma
@ 2021-02-07  1:51 ` Jose Quaresma
  2021-02-07  1:51 ` [PATCH 3/4] shaderc: add option to skip building the examples Jose Quaresma
  2021-02-07  1:51 ` [PATCH 4/4] shaderc: remove the glslang-native from dependencies Jose Quaresma
  2 siblings, 0 replies; 4+ messages in thread
From: Jose Quaresma @ 2021-02-07  1:51 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

- it will be useful for shaderc

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

diff --git a/meta/recipes-graphics/glslang/glslang/0002-generate-glslang-pkg-config.patch b/meta/recipes-graphics/glslang/glslang/0002-generate-glslang-pkg-config.patch
new file mode 100644
index 0000000000..ef092f17a1
--- /dev/null
+++ b/meta/recipes-graphics/glslang/glslang/0002-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 7e83ff0626..391b686eca 100644
--- a/meta/recipes-graphics/glslang/glslang_11.1.0.bb
+++ b/meta/recipes-graphics/glslang/glslang_11.1.0.bb
@@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c5ce49c0456e9b413b98a4368c378229"
 SRCREV = "c594de23cdd790d64ad5f9c8b059baae0ee2941d"
 SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https \
            file://0001-build-the-glslang-default-resource-limits-lib-static.patch \
+           file://0002-generate-glslang-pkg-config.patch \
            "
 UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
-- 
2.30.0


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

* [PATCH 3/4] shaderc: add option to skip building the examples
  2021-02-07  1:51 [PATCH 1/4] glslang: only build shared libs for dev packages Jose Quaresma
  2021-02-07  1:51 ` [PATCH 2/4] glslang: generate glslang pkg-config Jose Quaresma
@ 2021-02-07  1:51 ` Jose Quaresma
  2021-02-07  1:51 ` [PATCH 4/4] shaderc: remove the glslang-native from dependencies Jose Quaresma
  2 siblings, 0 replies; 4+ messages in thread
From: Jose Quaresma @ 2021-02-07  1:51 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 ...dd-option-to-skip-build-the-examples.patch | 45 +++++++++++++++++++
 ...lding-external-dependencies-in-thir.patch} | 32 +++++--------
 .../shaderc/shaderc_2020.4.bb                 |  6 ++-
 3 files changed, 61 insertions(+), 22 deletions(-)
 create mode 100644 meta/recipes-graphics/shaderc/files/0001-cmake-add-option-to-skip-build-the-examples.patch
 rename meta/recipes-graphics/shaderc/files/{0001-cmake-de-vendor-libs-and-disable-git-versioning.patch => 0002-cmake-disable-building-external-dependencies-in-thir.patch} (55%)

diff --git a/meta/recipes-graphics/shaderc/files/0001-cmake-add-option-to-skip-build-the-examples.patch b/meta/recipes-graphics/shaderc/files/0001-cmake-add-option-to-skip-build-the-examples.patch
new file mode 100644
index 0000000000..d414a78854
--- /dev/null
+++ b/meta/recipes-graphics/shaderc/files/0001-cmake-add-option-to-skip-build-the-examples.patch
@@ -0,0 +1,45 @@
+From 23114b9862482ef325768b5e2d47f6c247e5044e 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] cmake: add option to skip build the examples
+
+Upstream-Status: Submitted [https://github.com/google/shaderc/pull/1170]
+
+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 5c74cd8..0c8d1ae 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)
+ 
+ set (CMAKE_CXX_STANDARD 11)
+@@ -107,7 +117,9 @@ add_subdirectory(third_party)
+ 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}
diff --git a/meta/recipes-graphics/shaderc/files/0001-cmake-de-vendor-libs-and-disable-git-versioning.patch b/meta/recipes-graphics/shaderc/files/0002-cmake-disable-building-external-dependencies-in-thir.patch
similarity index 55%
rename from meta/recipes-graphics/shaderc/files/0001-cmake-de-vendor-libs-and-disable-git-versioning.patch
rename to meta/recipes-graphics/shaderc/files/0002-cmake-disable-building-external-dependencies-in-thir.patch
index 40cc84df26..2c82445028 100644
--- a/meta/recipes-graphics/shaderc/files/0001-cmake-de-vendor-libs-and-disable-git-versioning.patch
+++ b/meta/recipes-graphics/shaderc/files/0002-cmake-disable-building-external-dependencies-in-thir.patch
@@ -1,36 +1,31 @@
-From a07ac322a5a5fd4f0339913eb4456321ad1a69fd Mon Sep 17 00:00:00 2001
+From fdef5b662df941c49fd2d6e486d0427f8dfb602e 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
+Date: Sun, 7 Feb 2021 01:30:39 +0000
+Subject: [PATCH] cmake: disable building external dependencies in /third_party
 
-Upstream-Status: Inappropriate [configuration]
+Upstream-Status: Inappropriate [OE-core specific]
 
 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
+ CMakeLists.txt       | 3 ---
+ glslc/CMakeLists.txt | 1 -
+ 2 files changed, 4 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5c74cd8..9451fbc 100644
+index 0c8d1ae..c7940f6 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -102,12 +102,10 @@ endif(MSVC)
+@@ -111,9 +111,6 @@ endif(MSVC)
+ 
  
  # Configure subdirectories.
- # We depend on these for later projects, so they should come first.
+-# 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
@@ -43,6 +38,3 @@ index 31664d1..358d91b 100644
  
  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/shaderc_2020.4.bb b/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
index 8658a5737b..c7982dd815 100644
--- a/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
+++ b/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
@@ -8,7 +8,8 @@ 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-add-option-to-skip-build-the-examples.patch \
+           file://0002-cmake-disable-building-external-dependencies-in-thir.patch \
            "
 UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
@@ -19,8 +20,9 @@ DEPENDS = "spirv-headers spirv-tools glslang"
 
 EXTRA_OECMAKE = " \
     -DCMAKE_BUILD_TYPE=Release \
-    -DSHADERC_SKIP_TESTS=ON \
     -Dglslang_SOURCE_DIR=${STAGING_INCDIR}/glslang \
+    -DSHADERC_SKIP_TESTS=ON \
+    -DSHADERC_SKIP_EXAMPLES=ON \
 "
 
 BBCLASSEXTEND = "native nativesdk"
-- 
2.30.0


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

* [PATCH 4/4] shaderc: remove the glslang-native from dependencies
  2021-02-07  1:51 [PATCH 1/4] glslang: only build shared libs for dev packages Jose Quaresma
  2021-02-07  1:51 ` [PATCH 2/4] glslang: generate glslang pkg-config Jose Quaresma
  2021-02-07  1:51 ` [PATCH 3/4] shaderc: add option to skip building the examples Jose Quaresma
@ 2021-02-07  1:51 ` Jose Quaresma
  2 siblings, 0 replies; 4+ messages in thread
From: Jose Quaresma @ 2021-02-07  1:51 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

- glslang now provides pkg-config, so use it

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 meta/recipes-graphics/shaderc/shaderc_2020.4.bb | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/meta/recipes-graphics/shaderc/shaderc_2020.4.bb b/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
index c7982dd815..94a6b081f4 100644
--- a/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
+++ b/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
@@ -14,7 +14,7 @@ SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
 UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
 
-inherit cmake python3native
+inherit cmake python3native pkgconfig
 
 DEPENDS = "spirv-headers spirv-tools glslang"
 
@@ -25,17 +25,12 @@ EXTRA_OECMAKE = " \
     -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"
+"$(pkg-config --modversion glslang)\\n"
 EOF
 }
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.30.0


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

end of thread, other threads:[~2021-02-07  1:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-07  1:51 [PATCH 1/4] glslang: only build shared libs for dev packages Jose Quaresma
2021-02-07  1:51 ` [PATCH 2/4] glslang: generate glslang pkg-config Jose Quaresma
2021-02-07  1:51 ` [PATCH 3/4] shaderc: add option to skip building the examples Jose Quaresma
2021-02-07  1:51 ` [PATCH 4/4] shaderc: remove the glslang-native from dependencies 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.