// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
# pragma implementation "dynlib.h"
#endif
#elif defined(HAVE_DLOPEN) || defined(__DARWIN__)
#if defined(__VMS) || defined(__DARWIN__)
- m_handle = dlopen(libname.c_str(), 0); // The second parameter is ignored
+ m_handle = dlopen(libname.fn_str(), 0); // The second parameter is ignored
#else // !__VMS && !__DARWIN__
int rtldFlags = 0;
return IsLoaded();
}
-/* static */ void wxDynamicLibrary::Unload(wxDllType handle)
+/* static */
+void wxDynamicLibrary::Unload(wxDllType handle)
{
#if defined(__WXPM__) || defined(__EMX__)
DosFreeModule( handle );
#elif defined(__WXMAC__) && !defined(__DARWIN__)
CloseConnection( (CFragConnectionID*) &handle );
#else
-#error "runtime shared lib support not implemented"
+ #error "runtime shared lib support not implemented"
#endif
}
CFragSymbolClass symClass;
Str255 symName;
#if TARGET_CARBON
- c2pstrcpy( (StringPtr) symName, name );
+ c2pstrcpy( (StringPtr) symName, name.fn_str() );
#else
- strcpy( (char *)symName, name );
+ strcpy( (char *)symName, name.fn_str() );
c2pstr( (char *)symName );
#endif
- if( FindSymbol( dllHandle, symName, &symAddress, &symClass ) == noErr )
+ if( FindSymbol( m_handle, symName, &symAddress, &symClass ) == noErr )
symbol = (void *)symAddress;
#elif defined(__WXPM__) || defined(__EMX__)
#undef wxDLLVER
#undef WXSTRINGIZE
+#ifdef __WINDOWS__
+ // Add compiler identification:
+ #if defined(__GNUG__)
+ suffix << _T("_gcc");
+ #elif defined(__VISUALC__)
+ suffix << _T("_vc");
+ #elif defined(__WATCOMC__)
+ suffix << _T("_wat");
+ #elif defined(__BORLANDC__)
+ suffix << _T("_bcc");
+ #endif
+#endif
+
return CanonicalizeName(name + suffix, wxDL_MODULE);
}