From c5fc7c764037d474dcbde3fdcc17439699ff200e Mon Sep 17 00:00:00 2001 From: Novaleaf Date: Tue, 23 Nov 2021 13:21:01 -0800 Subject: [PATCH] allow physac to be built as a shared library (#2168) if `BUILD_LIBTYPE_SHARED` is defined allow build as a shared dll --- src/extras/physac.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/extras/physac.h b/src/extras/physac.h index 642c25a7..a10f96dd 100644 --- a/src/extras/physac.h +++ b/src/extras/physac.h @@ -72,6 +72,16 @@ #if !defined(PHYSAC_H) #define PHYSAC_H +// Function specifiers in case library is build/used as a shared library (Windows) +// NOTE: Microsoft specifiers to tell compiler that symbols are imported/exported from a .dll +#if defined(_WIN32) + #if defined(BUILD_LIBTYPE_SHARED) + #define PHYSACDEF __declspec(dllexport) // We are building the library as a Win32 shared library (.dll) + #elif defined(USE_LIBTYPE_SHARED) + #define PHYSACDEF __declspec(dllimport) // We are using the library as a Win32 shared library (.dll) + #endif +#endif + #ifndef PHYSACDEF #define PHYSACDEF // We are building or using physac as a static library #endif