mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-17 04:31:04 -06:00
KWSys 2021-06-28 (0648cb1a)
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 0648cb1ac5c91430b190f32319c528345b280dc3 (master).
Upstream Shortlog
-----------------
Ben Boeckel (2):
df91e5f1 EncodingC: use NULL for pointers
ab959cd2 SystemInformation: fix typo in comment
Björn Esser (2):
b4a2a03c testDynamicLoader: Use LIBDL_SO macro if defined.
b954dd54 testDynamicLoader: Use LIBC_SO if LIBDL_SO is not defined by glibc anymore.
This commit is contained in:
committed by
Brad King
parent
fc5b7905ed
commit
bf4ae1c2b2
@@ -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* kwsysEncoding_DupToNarrow(const wchar_t* str)
|
||||||
{
|
{
|
||||||
char* ret = NULL;
|
char* ret = NULL;
|
||||||
size_t length = kwsysEncoding_wcstombs(0, str, 0) + 1;
|
size_t length = kwsysEncoding_wcstombs(NULL, str, 0) + 1;
|
||||||
if (length > 0) {
|
if (length > 0) {
|
||||||
ret = (char*)malloc(length);
|
ret = (char*)malloc(length);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
|||||||
@@ -1383,7 +1383,7 @@ void SymbolProperties::Initialize(void* address)
|
|||||||
}
|
}
|
||||||
# else
|
# else
|
||||||
// second fallback use builtin backtrace_symbols
|
// second fallback use builtin backtrace_symbols
|
||||||
// to decode the bactrace.
|
// to decode the backtrace.
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
#endif // don't define this class if we're not using it
|
#endif // don't define this class if we're not using it
|
||||||
|
|||||||
@@ -8,6 +8,25 @@
|
|||||||
# include <be/kernel/OS.h> /* disable_debugger() API. */
|
# include <be/kernel/OS.h> /* disable_debugger() API. */
|
||||||
#endif
|
#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
|
// Work-around CMake dependency scanning limitation. This must
|
||||||
// duplicate the above list of headers.
|
// duplicate the above list of headers.
|
||||||
#if 0
|
#if 0
|
||||||
@@ -107,8 +126,8 @@ int testDynamicLoader(int argc, char* argv[])
|
|||||||
// This one is actually fun to test, since dlopen is by default
|
// This one is actually fun to test, since dlopen is by default
|
||||||
// loaded...wonder why :)
|
// loaded...wonder why :)
|
||||||
res += TestDynamicLoader("foobar.lib", "dlopen", 0, 1, 0);
|
res += TestDynamicLoader("foobar.lib", "dlopen", 0, 1, 0);
|
||||||
res += TestDynamicLoader("libdl.so", "dlopen", 1, 1, 1);
|
res += TestDynamicLoader(LIBDL_SO, "dlopen", 1, 1, 1);
|
||||||
res += TestDynamicLoader("libdl.so", "TestDynamicLoader", 1, 0, 1);
|
res += TestDynamicLoader(LIBDL_SO, "TestDynamicLoader", 1, 0, 1);
|
||||||
#endif
|
#endif
|
||||||
// Now try on the generated library
|
// Now try on the generated library
|
||||||
std::string libname = GetLibName(KWSYS_NAMESPACE_STRING "TestDynload");
|
std::string libname = GetLibName(KWSYS_NAMESPACE_STRING "TestDynload");
|
||||||
|
|||||||
Reference in New Issue
Block a user