mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-16 20:21:41 -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* 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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user