mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-21 22:50:26 -06:00
KWSys 2012-05-02 (719638e2)
Extract upstream KWSys using the following shell code. $ sha1=719638e233b560afb0d9a0afdcf23469dc1827fe && git archive --prefix=KWSys-snapshot/ $sha1 | tar x
This commit is contained in:
162
System.h.in
Normal file
162
System.h.in
Normal file
@@ -0,0 +1,162 @@
|
||||
/*============================================================================
|
||||
KWSys - Kitware System Library
|
||||
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
#ifndef @KWSYS_NAMESPACE@_System_h
|
||||
#define @KWSYS_NAMESPACE@_System_h
|
||||
|
||||
#include <@KWSYS_NAMESPACE@/Configure.h>
|
||||
|
||||
/* Redefine all public interface symbol names to be in the proper
|
||||
namespace. These macros are used internally to kwsys only, and are
|
||||
not visible to user code. Use kwsysHeaderDump.pl to reproduce
|
||||
these macros after making changes to the interface. */
|
||||
#if !defined(KWSYS_NAMESPACE)
|
||||
# define kwsys_ns(x) @KWSYS_NAMESPACE@##x
|
||||
# define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT
|
||||
#endif
|
||||
#if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
||||
# define kwsysSystem_Parse_CommandForUnix kwsys_ns(System_Parse_CommandForUnix)
|
||||
# define kwsysSystem_Shell_GetArgumentForWindows kwsys_ns(System_Shell_GetArgumentForWindows)
|
||||
# define kwsysSystem_Shell_GetArgumentForUnix kwsys_ns(System_Shell_GetArgumentForUnix)
|
||||
# define kwsysSystem_Shell_GetArgumentSizeForWindows kwsys_ns(System_Shell_GetArgumentSizeForWindows)
|
||||
# define kwsysSystem_Shell_GetArgumentSizeForUnix kwsys_ns(System_Shell_GetArgumentSizeForUnix)
|
||||
# define kwsysSystem_Shell_Flag_e kwsys_ns(System_Shell_Flag_e)
|
||||
# define kwsysSystem_Shell_Flag_Make kwsys_ns(System_Shell_Flag_Make)
|
||||
# define kwsysSystem_Shell_Flag_VSIDE kwsys_ns(System_Shell_Flag_VSIDE)
|
||||
# define kwsysSystem_Shell_Flag_EchoWindows kwsys_ns(System_Shell_Flag_EchoWindows)
|
||||
# define kwsysSystem_Shell_Flag_WatcomWMake kwsys_ns(System_Shell_Flag_WatcomWMake)
|
||||
# define kwsysSystem_Shell_Flag_MinGWMake kwsys_ns(System_Shell_Flag_MinGWMake)
|
||||
# define kwsysSystem_Shell_Flag_NMake kwsys_ns(System_Shell_Flag_NMake)
|
||||
# define kwsysSystem_Shell_Flag_AllowMakeVariables kwsys_ns(System_Shell_Flag_AllowMakeVariables)
|
||||
#endif
|
||||
|
||||
#ifdef __VMS
|
||||
#define @KWSYS_NAMESPACE@System_Shell_GetArgumentForUnix \
|
||||
@KWSYS_NAMESPACE@System_Shell_UnixGA
|
||||
#define @KWSYS_NAMESPACE@System_Shell_GetArgumentSizeForUnix \
|
||||
@KWSYS_NAMESPACE@System_Shell_UnixGAS
|
||||
#define @KWSYS_NAMESPACE@System_Shell_GetArgumentForWindows \
|
||||
@KWSYS_NAMESPACE@System_Shell_WindowsGA
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Transform the given command line argument for use in a Windows or
|
||||
* Unix shell. Returns a pointer to the end of the command line
|
||||
* argument in the provided output buffer. Flags may be passed to
|
||||
* modify the generated quoting and escape sequences to work under
|
||||
* alternative environments.
|
||||
*/
|
||||
kwsysEXPORT char* kwsysSystem_Shell_GetArgumentForWindows(const char* in,
|
||||
char* out,
|
||||
int flags);
|
||||
kwsysEXPORT char* kwsysSystem_Shell_GetArgumentForUnix(const char* in,
|
||||
char* out,
|
||||
int flags);
|
||||
|
||||
/**
|
||||
* Compute the size of the buffer required to store the output from
|
||||
* kwsysSystem_Shell_GetArgumentForWindows or
|
||||
* kwsysSystem_Shell_GetArgumentForUnix. The flags passed must be
|
||||
* identical between the two calls.
|
||||
*/
|
||||
kwsysEXPORT int kwsysSystem_Shell_GetArgumentSizeForWindows(const char* in,
|
||||
int flags);
|
||||
kwsysEXPORT int kwsysSystem_Shell_GetArgumentSizeForUnix(const char* in,
|
||||
int flags);
|
||||
|
||||
/**
|
||||
* Flags to pass to kwsysSystem_Shell_GetArgumentForWindows or
|
||||
* kwsysSystem_Shell_GetArgumentForUnix. These modify the generated
|
||||
* quoting and escape sequences to work under alternative
|
||||
* environments.
|
||||
*/
|
||||
enum kwsysSystem_Shell_Flag_e
|
||||
{
|
||||
/** The target shell is in a makefile. */
|
||||
kwsysSystem_Shell_Flag_Make = (1<<0),
|
||||
|
||||
/** The target shell is in a VS project file. Do not use with
|
||||
Shell_Flag_Make. */
|
||||
kwsysSystem_Shell_Flag_VSIDE = (1<<1),
|
||||
|
||||
/** In a windows shell the argument is being passed to "echo". */
|
||||
kwsysSystem_Shell_Flag_EchoWindows = (1<<2),
|
||||
|
||||
/** The target shell is in a Watcom WMake makefile. */
|
||||
kwsysSystem_Shell_Flag_WatcomWMake = (1<<3),
|
||||
|
||||
/** The target shell is in a MinGW Make makefile. */
|
||||
kwsysSystem_Shell_Flag_MinGWMake = (1<<4),
|
||||
|
||||
/** The target shell is in a NMake makefile. */
|
||||
kwsysSystem_Shell_Flag_NMake = (1<<6),
|
||||
|
||||
/** Make variable reference syntax $(MAKEVAR) should not be escaped
|
||||
to allow a build tool to replace it. Replacement values
|
||||
containing spaces, quotes, backslashes, or other
|
||||
non-alphanumeric characters that have significance to some makes
|
||||
or shells produce undefined behavior. */
|
||||
kwsysSystem_Shell_Flag_AllowMakeVariables = (1<<5)
|
||||
};
|
||||
|
||||
/**
|
||||
* Parse a unix-style command line string into separate arguments.
|
||||
*
|
||||
* On success, returns a pointer to an array of pointers to individual
|
||||
* argument strings. Each string is null-terminated and the last
|
||||
* entry in the array is a NULL pointer (just like argv). It is the
|
||||
* caller's responsibility to free() the strings and the array of
|
||||
* pointers to them.
|
||||
*
|
||||
* On failure, returns NULL. Failure occurs only on invalid flags or
|
||||
* when memory cannot be allocated; never due to content of the input
|
||||
* string. Missing close-quotes are treated as if the necessary
|
||||
* closing quote appears.
|
||||
*
|
||||
* By default single- and double-quoted arguments are supported, and
|
||||
* any character may be escaped by a backslash. The flags argument is
|
||||
* reserved for future use, and must be zero (or the call will fail).
|
||||
*/
|
||||
kwsysEXPORT char** kwsysSystem_Parse_CommandForUnix(const char* command,
|
||||
int flags);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
/* If we are building a kwsys .c or .cxx file, let it use these macros.
|
||||
Otherwise, undefine them to keep the namespace clean. */
|
||||
#if !defined(KWSYS_NAMESPACE)
|
||||
# undef kwsys_ns
|
||||
# undef kwsysEXPORT
|
||||
# if !defined(KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
|
||||
# undef kwsysSystem_Parse_CommandForUnix
|
||||
# undef kwsysSystem_Shell_GetArgumentForWindows
|
||||
# undef kwsysSystem_Shell_GetArgumentForUnix
|
||||
# undef kwsysSystem_Shell_GetArgumentSizeForWindows
|
||||
# undef kwsysSystem_Shell_GetArgumentSizeForUnix
|
||||
# undef kwsysSystem_Shell_Flag_e
|
||||
# undef kwsysSystem_Shell_Flag_Make
|
||||
# undef kwsysSystem_Shell_Flag_VSIDE
|
||||
# undef kwsysSystem_Shell_Flag_EchoWindows
|
||||
# undef kwsysSystem_Shell_Flag_WatcomWMake
|
||||
# undef kwsysSystem_Shell_Flag_MinGWMake
|
||||
# undef kwsysSystem_Shell_Flag_NMake
|
||||
# undef kwsysSystem_Shell_Flag_AllowMakeVariables
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user