From 762d74690976d6cf6012a96b77885ede873db4da Mon Sep 17 00:00:00 2001 From: Novaleaf Date: Tue, 23 Nov 2021 11:38:51 -0800 Subject: [PATCH] allow physac to be built as a shared library 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 642c25a728fa..a10f96dd369c 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