Initial import (#1632243)
This commit is contained in:
parent
3d7f9b9a20
commit
0862c53e13
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/shaderc-7a23a01.tar.gz
|
28
0001-Add-SONAME-version-to-the-library.patch
Normal file
28
0001-Add-SONAME-version-to-the-library.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From ae4cdbf6d82676222ab3af481a1e164e529f6c16 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= <zebob.m@gmail.com>
|
||||
Date: Mon, 24 Sep 2018 13:28:05 +0200
|
||||
Subject: [PATCH] Add SONAME version to the library
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
|
||||
---
|
||||
libshaderc/CMakeLists.txt | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt
|
||||
index 14da8ce..0eb3698 100644
|
||||
--- a/libshaderc/CMakeLists.txt
|
||||
+++ b/libshaderc/CMakeLists.txt
|
||||
@@ -21,6 +21,7 @@ target_compile_definitions(shaderc_shared
|
||||
PRIVATE SHADERC_IMPLEMENTATION
|
||||
PUBLIC SHADERC_SHAREDLIB
|
||||
)
|
||||
+set_target_properties(shaderc_shared PROPERTIES SOVERSION 1)
|
||||
|
||||
if(SHADERC_ENABLE_INSTALL)
|
||||
install(
|
||||
--
|
||||
2.17.1
|
||||
|
36
0001-Drop-third-party-code-in-CMakeLists.txt.patch
Normal file
36
0001-Drop-third-party-code-in-CMakeLists.txt.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From f3e0470ccf96a48f6e5701aa64aa831d51769d8e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= <zebob.m@gmail.com>
|
||||
Date: Sun, 30 Sep 2018 20:53:08 +0200
|
||||
Subject: [PATCH] Drop third party code in CMakeLists.txt
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
|
||||
---
|
||||
CMakeLists.txt | 6 ------
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b9bd0df..bd2c9f7 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -52,15 +52,9 @@ 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_EXE}
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py
|
||||
- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR}
|
||||
- COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).")
|
||||
--
|
||||
2.19.0
|
||||
|
44
0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
Normal file
44
0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
Normal file
@ -0,0 +1,44 @@
|
||||
From 21c8be385b3fab5edcb934a6d99f69fd389c4e67 Mon Sep 17 00:00:00 2001
|
||||
From: Niklas Haas <git@haasn.xyz>
|
||||
Date: Tue, 29 May 2018 07:34:00 +0200
|
||||
Subject: [PATCH] Fix the link order of libglslang and libHLSL
|
||||
|
||||
libglslang depends on libHLSL, so the latter needs to be specified last.
|
||||
This fixes an issue when trying to build shaderc against system-wide
|
||||
versions of libglslang/libHLSL, rather than the in-tree versions from
|
||||
third_party.
|
||||
|
||||
Additionally, libshaderc_util also depends on SPIRV-Tools
|
||||
---
|
||||
glslc/CMakeLists.txt | 2 +-
|
||||
libshaderc_util/CMakeLists.txt | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt
|
||||
index acf6fb0..0f5d888 100644
|
||||
--- a/glslc/CMakeLists.txt
|
||||
+++ b/glslc/CMakeLists.txt
|
||||
@@ -18,7 +18,7 @@ add_library(glslc STATIC
|
||||
shaderc_default_compile_options(glslc)
|
||||
target_include_directories(glslc PUBLIC ${glslang_SOURCE_DIR})
|
||||
target_link_libraries(glslc PRIVATE glslang OSDependent OGLCompiler
|
||||
- HLSL glslang SPIRV ${CMAKE_THREAD_LIBS_INIT})
|
||||
+ glslang SPIRV HLSL ${CMAKE_THREAD_LIBS_INIT})
|
||||
target_link_libraries(glslc PRIVATE shaderc_util shaderc)
|
||||
|
||||
add_executable(glslc_exe src/main.cc)
|
||||
diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt
|
||||
index 873540a..6d0c465 100644
|
||||
--- a/libshaderc_util/CMakeLists.txt
|
||||
+++ b/libshaderc_util/CMakeLists.txt
|
||||
@@ -34,8 +34,8 @@ endif(SHADERC_ENABLE_INSTALL)
|
||||
|
||||
find_package(Threads)
|
||||
target_link_libraries(shaderc_util PRIVATE
|
||||
- glslang OSDependent OGLCompiler HLSL glslang SPIRV
|
||||
- SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT})
|
||||
+ glslang OSDependent OGLCompiler glslang HLSL SPIRV
|
||||
+ SPIRV-Tools-opt SPIRV-Tools ${CMAKE_THREAD_LIBS_INIT})
|
||||
|
||||
shaderc_add_tests(
|
||||
TEST_PREFIX shaderc_util
|
143
shaderc.spec
Normal file
143
shaderc.spec
Normal file
@ -0,0 +1,143 @@
|
||||
# Release 2017.2
|
||||
%global commit 7a23a01742b88329fb2260eda007172135ba25d4
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global snapshotdate 20180924
|
||||
%global gitversion beginning-449-g7a23a01
|
||||
|
||||
# Need to keep this in sync with spirv-tools
|
||||
%global spirv_commit f508896d6487d09f5c9a2a3835595446fec0791a
|
||||
|
||||
Name: shaderc
|
||||
Version: 2017.2
|
||||
Release: 1%{?dist}
|
||||
Summary: A collection of tools, libraries, and tests for Vulkan shader compilation
|
||||
|
||||
License: ASL 2.0
|
||||
URL: https://github.com/google/shaderc
|
||||
Source0: %url/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
|
||||
|
||||
# https://github.com/google/shaderc/pull/463
|
||||
Patch0: https://patch-diff.githubusercontent.com/raw/google/shaderc/pull/463.patch#/0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
|
||||
# https://github.com/google/shaderc/pull/493
|
||||
Patch1: https://patch-diff.githubusercontent.com/raw/google/shaderc/pull/493.patch#/0001-Add-SONAME-version-to-the-library.patch
|
||||
# Patch to unbundle 3rd party code
|
||||
Patch2: 0001-Drop-third-party-code-in-CMakeLists.txt.patch
|
||||
|
||||
BuildRequires: cmake3
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: glslang-devel
|
||||
BuildRequires: spirv-headers-devel
|
||||
BuildRequires: spirv-tools
|
||||
BuildRequires: spirv-tools-devel
|
||||
|
||||
%description
|
||||
A collection of tools, libraries and tests for shader compilation.
|
||||
|
||||
Shaderc aims to to provide:
|
||||
- a command line compiler with GCC- and Clang-like usage, for better
|
||||
integration with build systems
|
||||
- an API where functionality can be added without breaking existing clients
|
||||
- an API supporting standard concurrency patterns across multiple
|
||||
operating systems
|
||||
- increased functionality such as file #include support
|
||||
|
||||
|
||||
%package -n glslc
|
||||
Summary: A command line compiler for GLSL/HLSL to SPIR-V
|
||||
|
||||
%description -n glslc
|
||||
A command line compiler for GLSL/HLSL to SPIR-V.
|
||||
|
||||
|
||||
%package -n libshaderc
|
||||
Summary: A library for compiling shader strings into SPIR-V
|
||||
|
||||
%description -n libshaderc
|
||||
A library for compiling shader strings into SPIR-V.
|
||||
|
||||
|
||||
%package -n libshaderc-devel
|
||||
Summary: Development files for libshaderc
|
||||
Requires: libshaderc%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n libshaderc-devel
|
||||
A library for compiling shader strings into SPIR-V.
|
||||
|
||||
Development files for libshaderc.
|
||||
|
||||
|
||||
%package -n libshaderc-static
|
||||
Summary: A library for compiling shader strings into SPIR-V (static libraries)
|
||||
|
||||
%description -n libshaderc-static
|
||||
A library for compiling shader strings into SPIR-V.
|
||||
|
||||
Static libraries for libshaderc.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{commit}
|
||||
|
||||
rm -rf third_party
|
||||
|
||||
# Stolen from Gentoo
|
||||
# Create build-version.inc since we want to use our packaged
|
||||
# SPIRV-Tools and glslang
|
||||
echo \"shaderc $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\?' CHANGES) %{gitversion}\" \
|
||||
> glslc/src/build-version.inc
|
||||
echo \"spirv-tools $(grep -m1 -o '^v[[:digit:]]\{4\}\.[[:digit:]]\(-dev\)\?' /usr/share/doc/spirv-tools/CHANGES) %{spirv_commit}\" \
|
||||
>> glslc/src/build-version.inc
|
||||
echo \"glslang \'\'\" >> glslc/src/build-version.inc
|
||||
|
||||
|
||||
%build
|
||||
mkdir %_target_platform
|
||||
cd %_target_platform
|
||||
# We disable the tests because they don't work with our unbundling of 3rd party.
|
||||
# See https://github.com/google/shaderc/issues/470
|
||||
%cmake3 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_SKIP_RPATH=True \
|
||||
-DSHADERC_SKIP_TESTS=True \
|
||||
-DPYTHON_EXE=%{__python3} \
|
||||
-GNinja ..
|
||||
%ninja_build
|
||||
|
||||
|
||||
%install
|
||||
%ninja_install -C %_target_platform
|
||||
|
||||
|
||||
%check
|
||||
ctest -V
|
||||
|
||||
|
||||
%files -n glslc
|
||||
%doc glslc/README.asciidoc
|
||||
%license LICENSE
|
||||
%{_bindir}/glslc
|
||||
|
||||
|
||||
%files -n libshaderc
|
||||
%doc AUTHORS CHANGES CONTRIBUTORS README.md
|
||||
%license LICENSE
|
||||
%{_libdir}/libshaderc_shared.so.1*
|
||||
|
||||
|
||||
%files -n libshaderc-devel
|
||||
%{_includedir}/%{name}/
|
||||
%{_libdir}/libshaderc_shared.so
|
||||
|
||||
|
||||
%files -n libshaderc-static
|
||||
%license LICENSE
|
||||
%{_libdir}/libshaderc.a
|
||||
%{_libdir}/libshaderc_combined.a
|
||||
%{_libdir}/libshaderc_util.a
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Sep 24 2018 Robert-André Mauchin <zebob.m@gmail.com> - 2017.2-1
|
||||
- Initial build
|
||||
|
Loading…
Reference in New Issue
Block a user