mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
Explicitly export symbols from libSPVRemapper
Windows requires symbols to be explicitly exported from DLLs, this change simply marks the entire spirvbin_t class as exported. The macros from visibility.h are included inline to get around include path issues.
This commit is contained in:
parent
d7d5ab8f8a
commit
36ccaa31bd
@ -100,6 +100,7 @@ if (ENABLE_SPVREMAPPER)
|
|||||||
POSITION_INDEPENDENT_CODE ON
|
POSITION_INDEPENDENT_CODE ON
|
||||||
VERSION "${GLSLANG_VERSION}"
|
VERSION "${GLSLANG_VERSION}"
|
||||||
SOVERSION "${GLSLANG_VERSION_MAJOR}")
|
SOVERSION "${GLSLANG_VERSION_MAJOR}")
|
||||||
|
glslang_only_export_explicit_symbols(SPVRemapper)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32 AND BUILD_SHARED_LIBS)
|
if(WIN32 AND BUILD_SHARED_LIBS)
|
||||||
|
@ -41,6 +41,21 @@
|
|||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
|
|
||||||
|
#ifdef GLSLANG_IS_SHARED_LIBRARY
|
||||||
|
#ifdef _WIN32
|
||||||
|
#ifdef GLSLANG_EXPORTING
|
||||||
|
#define GLSLANG_EXPORT __declspec(dllexport)
|
||||||
|
#else
|
||||||
|
#define GLSLANG_EXPORT __declspec(dllimport)
|
||||||
|
#endif
|
||||||
|
#elif __GNUC__ >= 4
|
||||||
|
#define GLSLANG_EXPORT __attribute__((visibility("default")))
|
||||||
|
#endif
|
||||||
|
#endif // GLSLANG_IS_SHARED_LIBRARY
|
||||||
|
#ifndef GLSLANG_EXPORT
|
||||||
|
#define GLSLANG_EXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace spv {
|
namespace spv {
|
||||||
|
|
||||||
class spirvbin_base_t
|
class spirvbin_base_t
|
||||||
@ -83,7 +98,7 @@ namespace spv {
|
|||||||
static inline constexpr Id NoResult = 0;
|
static inline constexpr Id NoResult = 0;
|
||||||
|
|
||||||
// class to hold SPIR-V binary data for remapping, DCE, and debug stripping
|
// class to hold SPIR-V binary data for remapping, DCE, and debug stripping
|
||||||
class spirvbin_t : public spirvbin_base_t
|
class GLSLANG_EXPORT spirvbin_t : public spirvbin_base_t
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose), errorLatch(false)
|
spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose), errorLatch(false)
|
||||||
|
Loading…
Reference in New Issue
Block a user