aboutsummaryrefslogtreecommitdiff
path: root/base/internal_plugins.h
diff options
context:
space:
mode:
authorsluicebox2019-02-20 16:05:46 -0800
committerFilippos Karapetis2019-03-02 10:01:37 +0200
commite67b8501bf5e71a5aa453ec75f8a6faf65cc1213 (patch)
tree9e126b0cf226008838472f9690332aab038306e7 /base/internal_plugins.h
parent205df5dbdfc75d051d1d74e997dbd88208cbbdf1 (diff)
downloadscummvm-rg350-e67b8501bf5e71a5aa453ec75f8a6faf65cc1213.tar.gz
scummvm-rg350-e67b8501bf5e71a5aa453ec75f8a6faf65cc1213.tar.bz2
scummvm-rg350-e67b8501bf5e71a5aa453ec75f8a6faf65cc1213.zip
WIN32: Fix embedding disabled engine files
Fix Windows builds (msvc and mingw) including data files from disabled engines as embedded resources in executable. Bug #10878
Diffstat (limited to 'base/internal_plugins.h')
-rw-r--r--base/internal_plugins.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/base/internal_plugins.h b/base/internal_plugins.h
new file mode 100644
index 0000000000..1af1607022
--- /dev/null
+++ b/base/internal_plugins.h
@@ -0,0 +1,19 @@
+#if !defined(INCLUDED_FROM_BASE_PLUGINS_H) && !defined(RC_INVOKED)
+#error This file may only be included by base/plugins.h or dists/scummvm.rc
+#endif
+
+// plugin macros are defined in this simple internal header so that scummvm.rc
+// can include them without causing problems for Windows resource compilers.
+
+#define STATIC_PLUGIN 1
+#define DYNAMIC_PLUGIN 2
+
+#define PLUGIN_ENABLED_STATIC(ID) \
+ (ENABLE_##ID && !PLUGIN_ENABLED_DYNAMIC(ID))
+
+#ifdef DYNAMIC_MODULES
+ #define PLUGIN_ENABLED_DYNAMIC(ID) \
+ (ENABLE_##ID && (ENABLE_##ID == DYNAMIC_PLUGIN))
+#else
+ #define PLUGIN_ENABLED_DYNAMIC(ID) 0
+#endif