diff options
Diffstat (limited to 'src/core/basetypes/MCDefines.h')
-rw-r--r-- | src/core/basetypes/MCDefines.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/core/basetypes/MCDefines.h b/src/core/basetypes/MCDefines.h new file mode 100644 index 00000000..5068618b --- /dev/null +++ b/src/core/basetypes/MCDefines.h @@ -0,0 +1,21 @@ +#ifndef MCDEFINES_H_ + +#define MCDEFINES_H_ + +#ifdef _MSC_VER + +#pragma section(".CRT$XCU",read) +#define INITIALIZE(name) \ + static void __cdecl initialize_##name(void); \ + __declspec(allocate(".CRT$XCU")) void (__cdecl*initialize_##name##_)(void) = initialize_##name; \ + static void __cdecl initialize_##name(void) + +#else + +#define INITIALIZE(name) \ + static void initialize(void) __attribute__((constructor)); \ + static void initialize(void) + +#endif + +#endif |