diff options
-rw-r--r-- | Source/kwsys/EncodingC.c | 2 | ||||
-rw-r--r-- | Source/kwsys/SystemInformation.cxx | 2 | ||||
-rw-r--r-- | Source/kwsys/testDynamicLoader.cxx | 23 |
3 files changed, 23 insertions, 4 deletions
diff --git a/Source/kwsys/EncodingC.c b/Source/kwsys/EncodingC.c index e12236a..13127f1 100644 --- a/Source/kwsys/EncodingC.c +++ b/Source/kwsys/EncodingC.c @@ -60,7 +60,7 @@ size_t kwsysEncoding_wcstombs(char* dest, const wchar_t* str, size_t n) char* kwsysEncoding_DupToNarrow(const wchar_t* str) { char* ret = NULL; - size_t length = kwsysEncoding_wcstombs(0, str, 0) + 1; + size_t length = kwsysEncoding_wcstombs(NULL, str, 0) + 1; if (length > 0) { ret = (char*)malloc(length); if (ret) { diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx index 117ff8d..12f9139 100644 --- a/Source/kwsys/SystemInformation.cxx +++ b/Source/kwsys/SystemInformation.cxx @@ -1383,7 +1383,7 @@ void SymbolProperties::Initialize(void* address) } # else // second fallback use builtin backtrace_symbols -// to decode the bactrace. +// to decode the backtrace. # endif } #endif // don't define this class if we're not using it diff --git a/Source/kwsys/testDynamicLoader.cxx b/Source/kwsys/testDynamicLoader.cxx index 703ad4d..9ba204e 100644 --- a/Source/kwsys/testDynamicLoader.cxx +++ b/Source/kwsys/testDynamicLoader.cxx @@ -8,6 +8,25 @@ # include <be/kernel/OS.h> /* disable_debugger() API. */ #endif +// Needed for __GLIBC__ test macro. +#ifdef __linux__ +# include <features.h> +#endif + +// Will define LIBDL_SO macro on systems with glibc. +#ifdef __GLIBC__ +# include <gnu/lib-names.h> +// Define to LIBC_SO, if not defined by above header. +# ifndef LIBDL_SO +# define LIBDL_SO LIBC_SO +# endif +#endif + +// Define the LIBDL_SO macro, if not defined above. +#ifndef LIBDL_SO +# define LIBDL_SO "libdl.so" +#endif + // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 @@ -107,8 +126,8 @@ int testDynamicLoader(int argc, char* argv[]) // This one is actually fun to test, since dlopen is by default // loaded...wonder why :) res += TestDynamicLoader("foobar.lib", "dlopen", 0, 1, 0); - res += TestDynamicLoader("libdl.so", "dlopen", 1, 1, 1); - res += TestDynamicLoader("libdl.so", "TestDynamicLoader", 1, 0, 1); + res += TestDynamicLoader(LIBDL_SO, "dlopen", 1, 1, 1); + res += TestDynamicLoader(LIBDL_SO, "TestDynamicLoader", 1, 0, 1); #endif // Now try on the generated library std::string libname = GetLibName(KWSYS_NAMESPACE_STRING "TestDynload"); |