From b5662c87c8217d7a0262fa1808450ab1752ff1b4 Mon Sep 17 00:00:00 2001 From: Ryan Lopopolo Date: Sun, 18 Aug 2019 19:40:12 -0700 Subject: Allow external definition of MRB_API macro When building WebAssembly targets with clang (e.g. wasm32-unknown-unknown), all symbols are hidden by default. To export a symbol, it must be marked with __attribute__((visibility(default))) Rather than detecting this exotic target in mruby, allow MRB_API to be defined externally. --- include/mruby/common.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/mruby/common.h b/include/mruby/common.h index 45ab71ef5..5be9a40c6 100644 --- a/include/mruby/common.h +++ b/include/mruby/common.h @@ -62,6 +62,7 @@ MRB_BEGIN_DECL #define MRB_INLINE static inline /** Declare a public MRuby API function. */ +#ifndef MRB_API #if defined(MRB_BUILD_AS_DLL) #if defined(MRB_CORE) || defined(MRB_LIB) # define MRB_API __declspec(dllexport) @@ -71,6 +72,7 @@ MRB_BEGIN_DECL #else # define MRB_API extern #endif +#endif MRB_END_DECL -- cgit v1.2.3