Here is a diff to build shared libraries for glslang. This shared lib
glslang will be used by emulators/flycast.
I checked consumers graphics/vulkan-tools and graphics/piglit and they
both build and run.
-Wl,--no-undefined is removed to avoid compiler error about missing
functions.
ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/glslang/Makefile,v
retrieving revision 1.16
diff -u -p -u -p -r1.16 Makefile
--- Makefile 10 Mar 2023 22:28:49 -0000 1.16
+++ Makefile 19 Apr 2023 01:34:44 -0000
@@ -5,7 +5,9 @@ COMMENT = reference front-end for GLSL a
GH_TAGNAME = 12.0.0
GH_ACCOUNT = KhronosGroup
GH_PROJECT = glslang
-REVISION = 0
+REVISION = 1
+
+SHARED_LIBS += glslang 0.0 # 0.0
CATEGORIES = devel graphics
@@ -24,6 +26,8 @@ MODULES = devel/cmake \
lang/python
TEST_DEPENDS = graphics/spirv-tools \
shells/bash
+
+CONFIGURE_ARGS += -DBUILD_SHARED_LIBS=ON
do-test:
cd ${WRKSRC}/Test; exec ./runtests localResults \
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: patches/patch-CMakeLists_txt
diff -N patches/patch-CMakeLists_txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-CMakeLists_txt 19 Apr 2023 01:34:44 -0000
@@ -0,0 +1,11 @@
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -195,7 +195,6 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" AND NO
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
+ add_link_options("-Wl,-undefined,error")
+ else()
+- add_link_options("-Wl,--no-undefined")
+ endif()
+ endif()
+ elseif(MSVC)
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/graphics/glslang/pkg/PLIST,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 PLIST
--- pkg/PLIST 3 Mar 2023 02:38:37 -0000 1.6
+++ pkg/PLIST 19 Apr 2023 01:34:44 -0000
@@ -72,8 +72,6 @@ include/glslang/SPIRV/spvIR.h
include/glslang/build_info.h
lib/cmake/
lib/cmake/HLSLTargets.cmake
-lib/cmake/OGLCompilerTargets.cmake
-lib/cmake/OSDependentTargets.cmake
lib/cmake/SPIRVTargets.cmake
lib/cmake/SPVRemapperTargets.cmake
lib/cmake/glslang/
@@ -82,15 +80,10 @@ lib/cmake/glslang/glslang-config-version
lib/cmake/glslang/glslang-config.cmake
lib/cmake/glslang/glslang-targets${MODCMAKE_BUILD_SUFFIX}
lib/cmake/glslang/glslang-targets.cmake
-lib/cmake/glslangTargets.cmake
lib/cmake/glslangValidatorTargets.cmake
lib/cmake/spirv-remapTargets.cmake
-@static-lib lib/libGenericCodeGen.a
-@static-lib lib/libHLSL.a
-@static-lib lib/libMachineIndependent.a
-@static-lib lib/libOGLCompiler.a
-@static-lib lib/libOSDependent.a
-@static-lib lib/libSPIRV.a
-@static-lib lib/libSPVRemapper.a
-@static-lib lib/libglslang-default-resource-limits.a
-@static-lib lib/libglslang.a
+@so lib/libHLSL.so
+@so lib/libSPIRV.so
+@so lib/libSPVRemapper.so
+@so lib/libglslang-default-resource-limits.so
+@lib lib/libglslang.so.${LIBglslang_VERSION}