RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_ConvertIbcData, W("ConvertIbcData"), 1, "Converts between v1 and v2 IBC data")
RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_DisableIBC, W("DisableIBC"), 0, "Disables the use of IBC data")
RETAIL_CONFIG_DWORD_INFO(EXTERNAL_UseIBCFile, W("UseIBCFile"), 0, "")
-
+RETAIL_CONFIG_STRING_INFO(EXTERNAL_IBCFileDir, W("IBCFileDir"), "Directory to search for IBC files")
///
/// JIT
// Couldn't find profile resource--let's see if there's an ibc file to use instead
//
- SString path(m_pModuleFileName);
+ SString path;
+
+ LPWSTR ibcDir = CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_IBCFileDir);
+ if (ibcDir != NULL)
+ {
+ LPCWSTR moduleFileName = wcsrchr(m_pModuleFileName, DIRECTORY_SEPARATOR_CHAR_W);
+ path.Set(ibcDir);
+ path.Append(DIRECTORY_SEPARATOR_CHAR_W);
+ path.Append(moduleFileName);
+ }
+ else
+ {
+ path.Set(m_pModuleFileName); // the same directory as the IL dll
+ }
SString::Iterator dot = path.End();
if (path.FindBack(dot, '.'))