diff --git a/harbour/source/lang/msggl.c b/harbour/source/lang/msggl.c index 9f0264d149..d25726a48e 100644 --- a/harbour/source/lang/msggl.c +++ b/harbour/source/lang/msggl.c @@ -205,7 +205,17 @@ HB_LANG_ANNOUNCE( GL ); HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_GL ) hb_langRegister( &s_lang ); HB_CALL_ON_STARTUP_END( hb_lang_Init_GL ) -#if ! defined(__GNUC__) && ! defined(_MSC_VER) - #pragma startup hb_lang_Init_GL -#endif + +#if defined(HB_PRAGMA_STARTUP) + #pragma startup hb_lang_Init_GL +#elif defined(HB_MSC_STARTUP) + #if _MSC_VER >= 1010 + #pragma data_seg( ".CRT$XIY" ) + #pragma comment( linker, "/Merge:.CRT=.data" ) + #else + #pragma data_seg( "XIY" ) + #endif + static HB_$INITSYM hb_vm_auto_hb_lang_Init_GL = hb_lang_Init_GL; + #pragma data_seg() +#endif