| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- /*=========================================================================
- Program: KWSys - Kitware System Library
- Module: $RCSfile$
- Copyright (c) Kitware, Inc., Insight Consortium. All rights reserved.
- See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the above copyright notices 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
- #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_AllowMakeVariables kwsys_ns(System_Shell_Flag_AllowMakeVariables)
- #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),
- /** 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)
- };
- #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
- # 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_AllowMakeVariables
- #endif
- #endif
|