When finding (MSVC built) panner DLLs, make sure we only find ones that match our build target
Will most likely also need to get done for similarly "discovered" DLLs (backends / surfaces etc). TBC
This commit is contained in:
parent
3e4278a0fb
commit
80e1b42ed5
@ -63,7 +63,24 @@ PannerManager::instance ()
|
||||
|
||||
static bool panner_filter (const string& str, void */*arg*/)
|
||||
{
|
||||
#ifdef __APPLE__
|
||||
#ifdef COMPILER_MSVC
|
||||
/**
|
||||
* Different build targets (Debug / Release etc) use different versions
|
||||
* of the 'C' runtime (which can't be 'mixed & matched'). Therefore, in
|
||||
* case the supplied search path contains multiple version(s) of a given
|
||||
* panner module, only select the one(s) which match the current build
|
||||
* target (otherwise, all hell will break loose !!)
|
||||
*/
|
||||
#if defined (_DEBUG)
|
||||
return str.length() > 12 && (str.find ("panner_") == 0) && (str.find ("D.dll") == (str.length() - 5));
|
||||
#elif defined (RDC_BUILD)
|
||||
return str.length() > 14 && (str.find ("panner_") == 0) && (str.find ("RDC.dll") == (str.length() - 7));
|
||||
#elif defined (_WIN64)
|
||||
return str.length() > 13 && (str.find ("panner_") == 0) && (str.find ("64.dll") == (str.length() - 6));
|
||||
#else
|
||||
return str.length() > 13 && (str.find ("panner_") == 0) && (str.find ("32.dll") == (str.length() - 6));
|
||||
#endif
|
||||
#elif defined (__APPLE__)
|
||||
return str[0] != '.' && (str.length() > 6 && str.find (".dylib") == (str.length() - 6));
|
||||
#else
|
||||
return str[0] != '.' && (str.length() > 3 && (str.find (".so") == (str.length() - 3) || str.find (".dll") == (str.length() - 4)));
|
||||
|
@ -29,6 +29,11 @@
|
||||
/* #define to zero for a more conventional Debug build */
|
||||
#endif
|
||||
|
||||
#if !defined(DEBUG) && !defined(NDEBUG)
|
||||
/* Assume a debuggable Release build (RDC build) */
|
||||
#define RDC_BUILD 1
|
||||
#endif
|
||||
|
||||
#ifndef __midl
|
||||
#if defined(_DEBUG) || defined (DEBUG)
|
||||
/* Experimental - link to the lowest DebugCRT so we can run on another system */
|
||||
|
Loading…
Reference in New Issue
Block a user