Merge topic 'update-kwsys'

588d705 Merge branch 'upstream-kwsys' into update-kwsys
23ae484 KWSys 2013-01-31 (5b0d1bd9)
This commit is contained in:
Brad King 2013-02-05 14:46:13 -05:00 committed by CMake Topic Stage
commit 50de1247a0
10 changed files with 94 additions and 38 deletions

View File

@ -428,6 +428,58 @@ const char* DynamicLoader::LastError()
} // namespace KWSYS_NAMESPACE } // namespace KWSYS_NAMESPACE
#endif #endif
#ifdef __MINT__
#define DYNAMICLOADER_DEFINED 1
#define _GNU_SOURCE /* for program_invocation_name */
#include <string.h>
#include <malloc.h>
#include <errno.h>
#include <dld.h>
namespace KWSYS_NAMESPACE
{
//----------------------------------------------------------------------------
DynamicLoader::LibraryHandle DynamicLoader::OpenLibrary(const char* libname )
{
char *name = (char *)calloc(1, strlen(libname) + 1);
dld_init(program_invocation_name);
strncpy(name, libname, strlen(libname));
dld_link(libname);
return (void *)name;
}
//----------------------------------------------------------------------------
int DynamicLoader::CloseLibrary(DynamicLoader::LibraryHandle lib)
{
dld_unlink_by_file((char *)lib, 0);
free(lib);
return 0;
}
//----------------------------------------------------------------------------
DynamicLoader::SymbolPointer DynamicLoader::GetSymbolAddress(
DynamicLoader::LibraryHandle lib, const char* sym)
{
// Hack to cast pointer-to-data to pointer-to-function.
union
{
void* pvoid;
DynamicLoader::SymbolPointer psym;
} result;
result.pvoid = dld_get_symbol(sym);
return result.psym;
}
//----------------------------------------------------------------------------
const char* DynamicLoader::LastError()
{
return dld_strerror(dld_errno);
}
} // namespace KWSYS_NAMESPACE
#endif
// --------------------------------------------------------------- // ---------------------------------------------------------------
// 6. Implementation for default UNIX machines. // 6. Implementation for default UNIX machines.
// if nothing has been defined then use this // if nothing has been defined then use this

View File

@ -399,7 +399,7 @@ bool Glob::FindFiles(const kwsys_stl::string& inexpr)
if ( last_slash > 0 ) if ( last_slash > 0 )
{ {
//kwsys_ios::cout << "I can skip: " << fexpr.substr(0, last_slash) //kwsys_ios::cout << "I can skip: " << fexpr.substr(0, last_slash)
//<< kwsys_ios::endl; // << kwsys_ios::endl;
skip = last_slash; skip = last_slash;
} }
if ( skip == 0 ) if ( skip == 0 )

View File

@ -272,6 +272,7 @@ namespace KWSYS_NAMESPACE
// Create one public symbol in this object file to avoid warnings from // Create one public symbol in this object file to avoid warnings from
// archivers. // archivers.
void IOStreamSymbolToAvoidWarning();
void IOStreamSymbolToAvoidWarning() void IOStreamSymbolToAvoidWarning()
{ {
} }

View File

@ -102,7 +102,7 @@ static inline void kwsysProcess_usleep(unsigned int msec)
* pipes' file handles to be non-blocking and just poll them directly * pipes' file handles to be non-blocking and just poll them directly
* without select(). * without select().
*/ */
#if !defined(__BEOS__) && !defined(__VMS) #if !defined(__BEOS__) && !defined(__VMS) && !defined(__MINT__)
# define KWSYSPE_USE_SELECT 1 # define KWSYSPE_USE_SELECT 1
#endif #endif

View File

@ -2466,7 +2466,9 @@ bool SystemInformationImplementation::RetrieveCPUPowerManagement()
#endif #endif
} }
void SystemInformationStripLeadingSpace(kwsys_stl::string& str) #if USE_CPUID
// Used only in USE_CPUID implementation below.
static void SystemInformationStripLeadingSpace(kwsys_stl::string& str)
{ {
// Because some manufacturers have leading white space - we have to post-process the name. // Because some manufacturers have leading white space - we have to post-process the name.
kwsys_stl::string::size_type pos = str.find_first_not_of(" "); kwsys_stl::string::size_type pos = str.find_first_not_of(" ");
@ -2475,6 +2477,7 @@ void SystemInformationStripLeadingSpace(kwsys_stl::string& str)
str = str.substr(pos); str = str.substr(pos);
} }
} }
#endif
/** */ /** */
bool SystemInformationImplementation::RetrieveExtendedCPUIdentity() bool SystemInformationImplementation::RetrieveExtendedCPUIdentity()

View File

@ -3037,7 +3037,7 @@ void SystemTools::CheckTranslationPath(kwsys_stl::string & path)
path.erase(path.end()-1, path.end()); path.erase(path.end()-1, path.end());
} }
void static void
SystemToolsAppendComponents( SystemToolsAppendComponents(
kwsys_stl::vector<kwsys_stl::string>& out_components, kwsys_stl::vector<kwsys_stl::string>& out_components,
kwsys_stl::vector<kwsys_stl::string>::const_iterator first, kwsys_stl::vector<kwsys_stl::string>::const_iterator first,
@ -4704,7 +4704,7 @@ bool SystemTools::ParseURL( const kwsys_stl::string& URL,
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// These must NOT be initialized. Default initialization to zero is // These must NOT be initialized. Default initialization to zero is
// necessary. // necessary.
unsigned int SystemToolsManagerCount; static unsigned int SystemToolsManagerCount;
SystemToolsTranslationMap *SystemTools::TranslationMap; SystemToolsTranslationMap *SystemTools::TranslationMap;
SystemToolsTranslationMap *SystemTools::LongPathMap; SystemToolsTranslationMap *SystemTools::LongPathMap;
#ifdef __CYGWIN__ #ifdef __CYGWIN__

View File

@ -24,9 +24,9 @@
#include <stddef.h> /* size_t */ #include <stddef.h> /* size_t */
#include <string.h> /* strcmp */ #include <string.h> /* strcmp */
void* random_ptr = reinterpret_cast<void*>(0x123); static void* random_ptr = reinterpret_cast<void*>(0x123);
int argument(const char* arg, const char* value, void* call_data) static int argument(const char* arg, const char* value, void* call_data)
{ {
kwsys_ios::cout << "Got argument: \"" << arg << "\" value: \"" << (value?value:"(null)") << "\"" << kwsys_ios::endl; kwsys_ios::cout << "Got argument: \"" << arg << "\" value: \"" << (value?value:"(null)") << "\"" << kwsys_ios::endl;
if ( call_data != random_ptr ) if ( call_data != random_ptr )
@ -37,7 +37,7 @@ int argument(const char* arg, const char* value, void* call_data)
return 1; return 1;
} }
int unknown_argument(const char* argument, void* call_data) static int unknown_argument(const char* argument, void* call_data)
{ {
kwsys_ios::cout << "Got unknown argument: \"" << argument << "\"" << kwsys_ios::endl; kwsys_ios::cout << "Got unknown argument: \"" << argument << "\"" << kwsys_ios::endl;
if ( call_data != random_ptr ) if ( call_data != random_ptr )
@ -48,12 +48,12 @@ int unknown_argument(const char* argument, void* call_data)
return 1; return 1;
} }
bool CompareTwoItemsOnList(bool i1, bool i2) { return i1 == i2; } static bool CompareTwoItemsOnList(bool i1, bool i2) { return i1 == i2; }
bool CompareTwoItemsOnList(int i1, int i2) { return i1 == i2; } static bool CompareTwoItemsOnList(int i1, int i2) { return i1 == i2; }
bool CompareTwoItemsOnList(double i1, double i2) { return i1 == i2; } static bool CompareTwoItemsOnList(double i1, double i2) { return i1 == i2; }
bool CompareTwoItemsOnList(const char* i1, static bool CompareTwoItemsOnList(const char* i1,
const char* i2) { return strcmp(i1, i2) == 0; } const char* i2) { return strcmp(i1, i2) == 0; }
bool CompareTwoItemsOnList(const kwsys_stl::string& i1, static bool CompareTwoItemsOnList(const kwsys_stl::string& i1,
const kwsys_stl::string& i2) { return i1 == i2; } const kwsys_stl::string& i2) { return i1 == i2; }
int testCommandLineArguments(int argc, char* argv[]) int testCommandLineArguments(int argc, char* argv[])

View File

@ -35,7 +35,7 @@
// left on disk. // left on disk.
#include <testSystemTools.h> #include <testSystemTools.h>
kwsys_stl::string GetLibName(const char* lname) static kwsys_stl::string GetLibName(const char* lname)
{ {
// Construct proper name of lib // Construct proper name of lib
kwsys_stl::string slname; kwsys_stl::string slname;

View File

@ -47,7 +47,7 @@ int runChild(const char* cmd[], int state, int exception, int value,
int share, int output, int delay, double timeout, int poll, int share, int output, int delay, double timeout, int poll,
int repeat, int disown); int repeat, int disown);
int test1(int argc, const char* argv[]) static int test1(int argc, const char* argv[])
{ {
(void)argc; (void)argv; (void)argc; (void)argv;
fprintf(stdout, "Output on stdout from test returning 0.\n"); fprintf(stdout, "Output on stdout from test returning 0.\n");
@ -55,7 +55,7 @@ int test1(int argc, const char* argv[])
return 0; return 0;
} }
int test2(int argc, const char* argv[]) static int test2(int argc, const char* argv[])
{ {
(void)argc; (void)argv; (void)argc; (void)argv;
fprintf(stdout, "Output on stdout from test returning 123.\n"); fprintf(stdout, "Output on stdout from test returning 123.\n");
@ -63,7 +63,7 @@ int test2(int argc, const char* argv[])
return 123; return 123;
} }
int test3(int argc, const char* argv[]) static int test3(int argc, const char* argv[])
{ {
(void)argc; (void)argv; (void)argc; (void)argv;
fprintf(stdout, "Output before sleep on stdout from timeout test.\n"); fprintf(stdout, "Output before sleep on stdout from timeout test.\n");
@ -80,7 +80,7 @@ int test3(int argc, const char* argv[])
return 0; return 0;
} }
int test4(int argc, const char* argv[]) static int test4(int argc, const char* argv[])
{ {
/* Prepare a pointer to an invalid address. Don't use null, because /* Prepare a pointer to an invalid address. Don't use null, because
dereferencing null is undefined behaviour and compilers are free to dereferencing null is undefined behaviour and compilers are free to
@ -109,7 +109,7 @@ int test4(int argc, const char* argv[])
return 0; return 0;
} }
int test5(int argc, const char* argv[]) static int test5(int argc, const char* argv[])
{ {
int r; int r;
const char* cmd[4]; const char* cmd[4];
@ -132,7 +132,7 @@ int test5(int argc, const char* argv[])
} }
#define TEST6_SIZE (4096*2) #define TEST6_SIZE (4096*2)
void test6(int argc, const char* argv[]) static void test6(int argc, const char* argv[])
{ {
int i; int i;
char runaway[TEST6_SIZE+1]; char runaway[TEST6_SIZE+1];
@ -156,7 +156,7 @@ void test6(int argc, const char* argv[])
delaying 1/10th of a second should ever have to poll. */ delaying 1/10th of a second should ever have to poll. */
#define MINPOLL 5 #define MINPOLL 5
#define MAXPOLL 20 #define MAXPOLL 20
int test7(int argc, const char* argv[]) static int test7(int argc, const char* argv[])
{ {
(void)argc; (void)argv; (void)argc; (void)argv;
fprintf(stdout, "Output on stdout before sleep.\n"); fprintf(stdout, "Output on stdout before sleep.\n");
@ -176,7 +176,7 @@ int test7(int argc, const char* argv[])
return 0; return 0;
} }
int test8(int argc, const char* argv[]) static int test8(int argc, const char* argv[])
{ {
/* Create a disowned grandchild to test handling of processes /* Create a disowned grandchild to test handling of processes
that exit before their children. */ that exit before their children. */
@ -200,7 +200,7 @@ int test8(int argc, const char* argv[])
return r; return r;
} }
int test8_grandchild(int argc, const char* argv[]) static int test8_grandchild(int argc, const char* argv[])
{ {
(void)argc; (void)argv; (void)argc; (void)argv;
fprintf(stdout, "Output on stdout from grandchild before sleep.\n"); fprintf(stdout, "Output on stdout from grandchild before sleep.\n");
@ -221,7 +221,7 @@ int test8_grandchild(int argc, const char* argv[])
return 0; return 0;
} }
int runChild2(kwsysProcess* kp, static int runChild2(kwsysProcess* kp,
const char* cmd[], int state, int exception, int value, const char* cmd[], int state, int exception, int value,
int share, int output, int delay, double timeout, int share, int output, int delay, double timeout,
int poll, int disown) int poll, int disown)
@ -505,7 +505,7 @@ int main(int argc, const char* argv[])
fprintf(stderr, "Output on stderr after test %d.\n", n); fprintf(stderr, "Output on stderr after test %d.\n", n);
fflush(stdout); fflush(stdout);
fflush(stderr); fflush(stderr);
#if _WIN32 #if defined(_WIN32)
if(argv0) { free(argv0); } if(argv0) { free(argv0); }
#endif #endif
return r; return r;

View File

@ -32,7 +32,7 @@
#include <string.h> /* strcmp */ #include <string.h> /* strcmp */
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
const char* toUnixPaths[][2] = static const char* toUnixPaths[][2] =
{ {
{ "/usr/local/bin/passwd", "/usr/local/bin/passwd" }, { "/usr/local/bin/passwd", "/usr/local/bin/passwd" },
{ "/usr/lo cal/bin/pa sswd", "/usr/lo cal/bin/pa sswd" }, { "/usr/lo cal/bin/pa sswd", "/usr/lo cal/bin/pa sswd" },
@ -52,7 +52,7 @@ const char* toUnixPaths[][2] =
{0, 0} {0, 0}
}; };
bool CheckConvertToUnixSlashes(kwsys_stl::string input, static bool CheckConvertToUnixSlashes(kwsys_stl::string input,
kwsys_stl::string output) kwsys_stl::string output)
{ {
kwsys_stl::string result = input; kwsys_stl::string result = input;
@ -69,14 +69,14 @@ bool CheckConvertToUnixSlashes(kwsys_stl::string input,
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
const char* checkEscapeChars[][4] = static const char* checkEscapeChars[][4] =
{ {
{ "1 foo 2 bar 2", "12", "\\", "\\1 foo \\2 bar \\2"}, { "1 foo 2 bar 2", "12", "\\", "\\1 foo \\2 bar \\2"},
{ " {} ", "{}", "#", " #{#} "}, { " {} ", "{}", "#", " #{#} "},
{0, 0, 0, 0} {0, 0, 0, 0}
}; };
bool CheckEscapeChars(kwsys_stl::string input, static bool CheckEscapeChars(kwsys_stl::string input,
const char *chars_to_escape, const char *chars_to_escape,
char escape_char, char escape_char,
kwsys_stl::string output) kwsys_stl::string output)
@ -95,7 +95,7 @@ bool CheckEscapeChars(kwsys_stl::string input,
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
bool CheckFileOperations() static bool CheckFileOperations()
{ {
bool res = true; bool res = true;
@ -129,7 +129,7 @@ bool CheckFileOperations()
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
bool CheckStringOperations() static bool CheckStringOperations()
{ {
bool res = true; bool res = true;
@ -329,7 +329,7 @@ bool CheckStringOperations()
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
bool CheckPutEnv(const char* env, const char* name, const char* value) static bool CheckPutEnv(const char* env, const char* name, const char* value)
{ {
if(!kwsys::SystemTools::PutEnv(env)) if(!kwsys::SystemTools::PutEnv(env))
{ {
@ -348,7 +348,7 @@ bool CheckPutEnv(const char* env, const char* name, const char* value)
return true; return true;
} }
bool CheckUnPutEnv(const char* env, const char* name) static bool CheckUnPutEnv(const char* env, const char* name)
{ {
if(!kwsys::SystemTools::UnPutEnv(env)) if(!kwsys::SystemTools::UnPutEnv(env))
{ {
@ -365,7 +365,7 @@ bool CheckUnPutEnv(const char* env, const char* name)
return true; return true;
} }
bool CheckEnvironmentOperations() static bool CheckEnvironmentOperations()
{ {
bool res = true; bool res = true;
res &= CheckPutEnv("A=B", "A", "B"); res &= CheckPutEnv("A=B", "A", "B");