about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/spirv-tools/no-shared-libs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/spirv-tools/no-shared-libs.patch')
-rw-r--r--nixpkgs/pkgs/development/tools/spirv-tools/no-shared-libs.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/spirv-tools/no-shared-libs.patch b/nixpkgs/pkgs/development/tools/spirv-tools/no-shared-libs.patch
new file mode 100644
index 000000000000..45d2be6ec6ac
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/spirv-tools/no-shared-libs.patch
@@ -0,0 +1,30 @@
+diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
+index acfa0c12..bf3eb686 100644
+--- a/source/CMakeLists.txt
++++ b/source/CMakeLists.txt
+@@ -378,16 +378,6 @@ function(spirv_tools_default_target_options target)
+   add_dependencies(${target} spirv-tools-build-version core_tables enum_string_mapping extinst_tables)
+ endfunction()
+ 
+-# Always build ${SPIRV_TOOLS}-shared. This is expected distro packages, and
+-# unlike the other SPIRV_TOOLS target, defaults to hidden symbol visibility.
+-add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES})
+-spirv_tools_default_target_options(${SPIRV_TOOLS}-shared)
+-set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden)
+-target_compile_definitions(${SPIRV_TOOLS}-shared
+-  PRIVATE SPIRV_TOOLS_IMPLEMENTATION
+-  PUBLIC SPIRV_TOOLS_SHAREDLIB
+-)
+-
+ if(SPIRV_TOOLS_BUILD_STATIC)
+   add_library(${SPIRV_TOOLS}-static STATIC ${SPIRV_SOURCES})
+   spirv_tools_default_target_options(${SPIRV_TOOLS}-static)
+@@ -402,7 +392,7 @@ if(SPIRV_TOOLS_BUILD_STATIC)
+     add_library(${SPIRV_TOOLS} ALIAS ${SPIRV_TOOLS}-static)
+   endif()
+ 
+-  set(SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS}-static ${SPIRV_TOOLS}-shared)
++  set(SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS}-static)
+ else()
+   add_library(${SPIRV_TOOLS} ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_SOURCES})
+   spirv_tools_default_target_options(${SPIRV_TOOLS})