1 #ifndef RBIMPL_DLLEXPORT_H
2 #define RBIMPL_DLLEXPORT_H
23 #include "ruby/internal/config.h"
40 #if defined(MJIT_HEADER) && defined(_WIN32)
41 # define RUBY_EXTERN extern __declspec(dllimport)
42 #elif defined(RUBY_EXPORT)
43 # define RUBY_EXTERN extern
45 # define RUBY_EXTERN extern __declspec(dllimport)
47 # define RUBY_EXTERN extern
50 #ifndef RUBY_SYMBOL_EXPORT_BEGIN
51 # define RUBY_SYMBOL_EXPORT_BEGIN
54 #ifndef RUBY_SYMBOL_EXPORT_END
55 # define RUBY_SYMBOL_EXPORT_END
58 #ifndef RUBY_FUNC_EXPORTED
59 # define RUBY_FUNC_EXPORTED
72 #if ! defined(MJIT_HEADER)
73 # define MJIT_FUNC_EXPORTED RUBY_FUNC_EXPORTED
74 #elif ! RBIMPL_COMPILER_IS(MSVC)
75 # define MJIT_FUNC_EXPORTED RUBY_FUNC_EXPORTED
77 # define MJIT_FUNC_EXPORTED static
80 #define MJIT_SYMBOL_EXPORT_BEGIN RUBY_SYMBOL_EXPORT_BEGIN
81 #define MJIT_SYMBOL_EXPORT_END RUBY_SYMBOL_EXPORT_END
87 # define MJIT_STATIC static
96 #if defined(__DOXYGEN__)
97 # define RBIMPL_SYMBOL_EXPORT_BEGIN()
98 #elif defined(__cplusplus)
99 # define RBIMPL_SYMBOL_EXPORT_BEGIN() RUBY_SYMBOL_EXPORT_BEGIN extern "C" {
101 # define RBIMPL_SYMBOL_EXPORT_BEGIN() RUBY_SYMBOL_EXPORT_BEGIN
105 #if defined(__DOXYGEN__)
106 # define RBIMPL_SYMBOL_EXPORT_END()
107 #elif defined(__cplusplus)
108 # define RBIMPL_SYMBOL_EXPORT_END() } RUBY_SYMBOL_EXPORT_END
110 # define RBIMPL_SYMBOL_EXPORT_END() RUBY_SYMBOL_EXPORT_END
Defines RBIMPL_COMPILER_IS.