mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-22 22:31:18 -05:00
ENH: add support for the Syllable OS (http://www.syllable.org)
major issues: -access() doesn't return false for an empty string (#ifdefed in cmake) -dlopen() doesn't return 0 on failure (#ifdefed in cmake and fixed now in Syllable) -the kwsys and Bootstrap tests fail with timeout due to the fact that I'm doing all that in qemu, which is quite slow -RPATH is now supported, so without modifying the test adapting DLL_PATH in Syllable is required for the tests to succeed -the Plugin test fails with an undefined reference to example_exe_function() in example_mod_1, it seems this isn't supported under Syllable Alex
This commit is contained in:
@@ -818,6 +818,14 @@ bool SystemTools::FileExists(const char* filename)
|
||||
#ifndef R_OK
|
||||
# define R_OK 04
|
||||
#endif
|
||||
|
||||
#ifdef __SYLLABLE__
|
||||
if ((filename !=0) && (*filename == 0))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( access(filename, R_OK) != 0 )
|
||||
{
|
||||
return false;
|
||||
|
||||
@@ -97,17 +97,22 @@ int testDynamicLoader(int argc, char *argv[])
|
||||
#elif defined(__BEOS__)
|
||||
disable_debugger(1);
|
||||
#endif
|
||||
int res;
|
||||
int res = 0;
|
||||
if( argc == 3 )
|
||||
{
|
||||
// User specify a libname and symbol to check.
|
||||
res = TestDynamicLoader(argv[1], argv[2],1,1,1);
|
||||
return res;
|
||||
}
|
||||
|
||||
// dlopen() on Syllable before 11/22/2007 doesn't return 0 on error
|
||||
#ifndef __SYLLABLE__
|
||||
// Make sure that inexistant lib is giving correct result
|
||||
res = TestDynamicLoader("azerty_", "foo_bar",0,0,0);
|
||||
res += TestDynamicLoader("azerty_", "foo_bar",0,0,0);
|
||||
// Make sure that random binary file cannnot be assimilated as dylib
|
||||
res += TestDynamicLoader(TEST_SYSTEMTOOLS_BIN_FILE, "wp",0,0,0);
|
||||
#endif
|
||||
|
||||
#ifdef __linux__
|
||||
// This one is actually fun to test, since dlopen is by default loaded...wonder why :)
|
||||
res += TestDynamicLoader("foobar.lib", "dlopen",0,1,0);
|
||||
|
||||
Reference in New Issue
Block a user