浏览代码

KWSys 2025-05-20 (7e1ee2d9)

Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 7e1ee2d997e1d8de471b8eb7acbd930db07d38ef (master).

Upstream Shortlog
-----------------

Brad King (1):
      0f8eeb90 Terminal: Remove this component of KWSys
KWSys Upstream 7 月之前
父节点
当前提交
bbe52677df
共有 4 个文件被更改,包括 2 次插入635 次删除
  1. 2 4
      CMakeLists.txt
  2. 0 439
      Terminal.c
  3. 0 170
      Terminal.h.in
  4. 0 22
      testTerminal.c

+ 2 - 4
CMakeLists.txt

@@ -148,7 +148,6 @@ if(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
   set(KWSYS_USE_System 1)
   set(KWSYS_USE_SystemTools 1)
   set(KWSYS_USE_CommandLineArguments 1)
-  set(KWSYS_USE_Terminal 1)
   set(KWSYS_USE_FStream 1)
   set(KWSYS_USE_String 1)
   set(KWSYS_USE_SystemInformation 1)
@@ -631,7 +630,7 @@ endforeach()
 
 # Add selected C components.
 foreach(c IN ITEMS
-    Process Base64 Encoding MD5 Terminal System String
+    Process Base64 Encoding MD5 System String
     )
   if(KWSYS_USE_${c})
     # Use the corresponding header file.
@@ -662,7 +661,7 @@ if(KWSYS_USE_Process)
 endif()
 
 # Add selected C sources.
-foreach(c IN ITEMS Base64 Encoding MD5 Terminal System String)
+foreach(c IN ITEMS Base64 Encoding MD5 System String)
   if(KWSYS_USE_${c})
     if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${c}C.c)
       list(APPEND KWSYS_C_SRCS ${c}C.c)
@@ -927,7 +926,6 @@ if(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
     # C tests
     set(KWSYS_C_TESTS
       testEncode.c
-      testTerminal.c
       )
     if(KWSYS_STANDALONE)
       set(KWSYS_C_TESTS ${KWSYS_C_TESTS} testFail.c)

+ 0 - 439
Terminal.c

@@ -1,439 +0,0 @@
-/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-   file Copyright.txt or https://cmake.org/licensing#kwsys for details.  */
-#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__OpenBSD__)
-/* NOLINTNEXTLINE(bugprone-reserved-identifier) */
-#  define _XOPEN_SOURCE 600
-#endif
-#include "kwsysPrivate.h"
-#include KWSYS_HEADER(Terminal.h)
-
-/* Work-around CMake dependency scanning limitation.  This must
-   duplicate the above list of headers.  */
-#if 0
-#  include "Terminal.h.in"
-#endif
-
-/* Configure support for this platform.  */
-#if defined(_WIN32)
-#  define KWSYS_TERMINAL_SUPPORT_CONSOLE
-#endif
-#if !defined(_WIN32)
-#  define KWSYS_TERMINAL_ISATTY_WORKS
-#endif
-
-/* Include needed system APIs.  */
-
-#include <stdarg.h> /* va_list */
-#include <stdlib.h> /* getenv */
-#include <string.h> /* strcmp */
-
-#if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE)
-#  include <io.h>      /* _get_osfhandle */
-#  include <windows.h> /* SetConsoleTextAttribute */
-#endif
-
-#if defined(KWSYS_TERMINAL_ISATTY_WORKS)
-#  include <unistd.h> /* isatty */
-#else
-#  include <sys/stat.h> /* fstat */
-#endif
-
-static int kwsysTerminalStreamIsVT100(FILE* stream, int default_vt100,
-                                      int default_tty);
-static void kwsysTerminalSetVT100Color(FILE* stream, int color);
-#if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE)
-static HANDLE kwsysTerminalGetStreamHandle(FILE* stream);
-static void kwsysTerminalSetConsoleColor(HANDLE hOut,
-                                         CONSOLE_SCREEN_BUFFER_INFO* hOutInfo,
-                                         FILE* stream, int color);
-#endif
-
-void kwsysTerminal_cfprintf(int color, FILE* stream, char const* format, ...)
-{
-  /* Setup the stream with the given color if possible.  */
-  int pipeIsConsole = 0;
-  int pipeIsVT100 = 0;
-  int default_vt100 = color & kwsysTerminal_Color_AssumeVT100;
-  int default_tty = color & kwsysTerminal_Color_AssumeTTY;
-#if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE)
-  CONSOLE_SCREEN_BUFFER_INFO hOutInfo;
-  HANDLE hOut = kwsysTerminalGetStreamHandle(stream);
-  if (GetConsoleScreenBufferInfo(hOut, &hOutInfo)) {
-    pipeIsConsole = 1;
-    kwsysTerminalSetConsoleColor(hOut, &hOutInfo, stream, color);
-  }
-#endif
-  if (!pipeIsConsole &&
-      kwsysTerminalStreamIsVT100(stream, default_vt100, default_tty)) {
-    pipeIsVT100 = 1;
-    kwsysTerminalSetVT100Color(stream, color);
-  }
-
-  /* Format the text into the stream.  */
-  {
-    va_list var_args;
-    va_start(var_args, format);
-    vfprintf(stream, format, var_args);
-    va_end(var_args);
-  }
-
-/* Restore the normal color state for the stream.  */
-#if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE)
-  if (pipeIsConsole) {
-    kwsysTerminalSetConsoleColor(hOut, &hOutInfo, stream,
-                                 kwsysTerminal_Color_Normal);
-  }
-#endif
-  if (pipeIsVT100) {
-    kwsysTerminalSetVT100Color(stream, kwsysTerminal_Color_Normal);
-  }
-}
-
-/* Detect cases when a stream is definitely not interactive.  */
-#if !defined(KWSYS_TERMINAL_ISATTY_WORKS)
-static int kwsysTerminalStreamIsNotInteractive(FILE* stream)
-{
-  /* The given stream is definitely not interactive if it is a regular
-     file.  */
-  struct stat stream_stat;
-  if (fstat(fileno(stream), &stream_stat) == 0) {
-    if (stream_stat.st_mode & S_IFREG) {
-      return 1;
-    }
-  }
-  return 0;
-}
-#endif
-
-/* List of terminal names known to support VT100 color escape sequences.  */
-static char const* kwsysTerminalVT100Names[] = { "Eterm",
-                                                 "alacritty",
-                                                 "alacritty-direct",
-                                                 "ansi",
-                                                 "color-xterm",
-                                                 "con132x25",
-                                                 "con132x30",
-                                                 "con132x43",
-                                                 "con132x60",
-                                                 "con80x25",
-                                                 "con80x28",
-                                                 "con80x30",
-                                                 "con80x43",
-                                                 "con80x50",
-                                                 "con80x60",
-                                                 "cons25",
-                                                 "console",
-                                                 "cygwin",
-                                                 "dtterm",
-                                                 "eterm-color",
-                                                 "gnome",
-                                                 "gnome-256color",
-                                                 "konsole",
-                                                 "konsole-256color",
-                                                 "kterm",
-                                                 "linux",
-                                                 "msys",
-                                                 "linux-c",
-                                                 "mach-color",
-                                                 "mlterm",
-                                                 "putty",
-                                                 "putty-256color",
-                                                 "rxvt",
-                                                 "rxvt-256color",
-                                                 "rxvt-cygwin",
-                                                 "rxvt-cygwin-native",
-                                                 "rxvt-unicode",
-                                                 "rxvt-unicode-256color",
-                                                 "screen",
-                                                 "screen-256color",
-                                                 "screen-256color-bce",
-                                                 "screen-bce",
-                                                 "screen-w",
-                                                 "screen.linux",
-                                                 "st-256color",
-                                                 "tmux",
-                                                 "tmux-256color",
-                                                 "vt100",
-                                                 "xterm",
-                                                 "xterm-16color",
-                                                 "xterm-256color",
-                                                 "xterm-88color",
-                                                 "xterm-color",
-                                                 "xterm-debian",
-                                                 "xterm-kitty",
-                                                 "xterm-termite",
-                                                 0 };
-
-/* Detect whether a stream is displayed in a VT100-compatible terminal.  */
-static int kwsysTerminalStreamIsVT100(FILE* stream, int default_vt100,
-                                      int default_tty)
-{
-  /* Force color according to https://bixense.com/clicolors/ convention.  */
-  {
-    char const* clicolor_force = getenv("CLICOLOR_FORCE");
-    if (clicolor_force && *clicolor_force &&
-        strcmp(clicolor_force, "0") != 0) {
-      return 1;
-    }
-  }
-
-  /* Disable color according to https://bixense.com/clicolors/ convention. */
-  {
-    char const* clicolor = getenv("CLICOLOR");
-    if (clicolor && strcmp(clicolor, "0") == 0) {
-      return 0;
-    }
-  }
-
-  /* GNU make 4.1+ may tell us that its output is destined for a TTY. */
-  {
-    char const* termout = getenv("MAKE_TERMOUT");
-    if (termout && *termout != '\0') {
-      return 1;
-    }
-  }
-
-  /* If running inside emacs the terminal is not VT100.  Some emacs
-     seem to claim the TERM is xterm even though they do not support
-     VT100 escapes.  */
-  {
-    char const* emacs = getenv("EMACS");
-    if (emacs && *emacs == 't') {
-      return 0;
-    }
-  }
-
-  /* Check for a valid terminal.  */
-  if (!default_vt100) {
-    char const** t = 0;
-    char const* term = getenv("TERM");
-    if (term) {
-      for (t = kwsysTerminalVT100Names; *t && strcmp(term, *t) != 0; ++t) {
-      }
-    }
-    if (!(t && *t)) {
-      return 0;
-    }
-  }
-
-#if defined(KWSYS_TERMINAL_ISATTY_WORKS)
-  /* Make sure the stream is a tty. */
-  (void)default_tty;
-  return isatty(fileno(stream)) ? 1 : 0;
-#else
-  /* Check for cases in which the stream is definitely not a tty.  */
-  if (kwsysTerminalStreamIsNotInteractive(stream)) {
-    return 0;
-  }
-
-  /* Use the provided default for whether this is a tty.  */
-  return default_tty;
-#endif
-}
-
-/* VT100 escape sequence strings.  */
-#if defined(__MVS__)
-/* if building on z/OS (aka MVS), assume we are using EBCDIC */
-#  define ESCAPE_CHAR "\47"
-#else
-#  define ESCAPE_CHAR "\33"
-#endif
-
-#define KWSYS_TERMINAL_VT100_NORMAL ESCAPE_CHAR "[0m"
-#define KWSYS_TERMINAL_VT100_BOLD ESCAPE_CHAR "[1m"
-#define KWSYS_TERMINAL_VT100_UNDERLINE ESCAPE_CHAR "[4m"
-#define KWSYS_TERMINAL_VT100_BLINK ESCAPE_CHAR "[5m"
-#define KWSYS_TERMINAL_VT100_INVERSE ESCAPE_CHAR "[7m"
-#define KWSYS_TERMINAL_VT100_FOREGROUND_BLACK ESCAPE_CHAR "[30m"
-#define KWSYS_TERMINAL_VT100_FOREGROUND_RED ESCAPE_CHAR "[31m"
-#define KWSYS_TERMINAL_VT100_FOREGROUND_GREEN ESCAPE_CHAR "[32m"
-#define KWSYS_TERMINAL_VT100_FOREGROUND_YELLOW ESCAPE_CHAR "[33m"
-#define KWSYS_TERMINAL_VT100_FOREGROUND_BLUE ESCAPE_CHAR "[34m"
-#define KWSYS_TERMINAL_VT100_FOREGROUND_MAGENTA ESCAPE_CHAR "[35m"
-#define KWSYS_TERMINAL_VT100_FOREGROUND_CYAN ESCAPE_CHAR "[36m"
-#define KWSYS_TERMINAL_VT100_FOREGROUND_WHITE ESCAPE_CHAR "[37m"
-#define KWSYS_TERMINAL_VT100_BACKGROUND_BLACK ESCAPE_CHAR "[40m"
-#define KWSYS_TERMINAL_VT100_BACKGROUND_RED ESCAPE_CHAR "[41m"
-#define KWSYS_TERMINAL_VT100_BACKGROUND_GREEN ESCAPE_CHAR "[42m"
-#define KWSYS_TERMINAL_VT100_BACKGROUND_YELLOW ESCAPE_CHAR "[43m"
-#define KWSYS_TERMINAL_VT100_BACKGROUND_BLUE ESCAPE_CHAR "[44m"
-#define KWSYS_TERMINAL_VT100_BACKGROUND_MAGENTA ESCAPE_CHAR "[45m"
-#define KWSYS_TERMINAL_VT100_BACKGROUND_CYAN ESCAPE_CHAR "[46m"
-#define KWSYS_TERMINAL_VT100_BACKGROUND_WHITE ESCAPE_CHAR "[47m"
-
-/* Write VT100 escape sequences to the stream for the given color.  */
-static void kwsysTerminalSetVT100Color(FILE* stream, int color)
-{
-  if (color == kwsysTerminal_Color_Normal) {
-    fprintf(stream, KWSYS_TERMINAL_VT100_NORMAL);
-    return;
-  }
-
-  switch (color & kwsysTerminal_Color_ForegroundMask) {
-    case kwsysTerminal_Color_Normal:
-      fprintf(stream, KWSYS_TERMINAL_VT100_NORMAL);
-      break;
-    case kwsysTerminal_Color_ForegroundBlack:
-      fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_BLACK);
-      break;
-    case kwsysTerminal_Color_ForegroundRed:
-      fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_RED);
-      break;
-    case kwsysTerminal_Color_ForegroundGreen:
-      fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_GREEN);
-      break;
-    case kwsysTerminal_Color_ForegroundYellow:
-      fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_YELLOW);
-      break;
-    case kwsysTerminal_Color_ForegroundBlue:
-      fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_BLUE);
-      break;
-    case kwsysTerminal_Color_ForegroundMagenta:
-      fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_MAGENTA);
-      break;
-    case kwsysTerminal_Color_ForegroundCyan:
-      fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_CYAN);
-      break;
-    case kwsysTerminal_Color_ForegroundWhite:
-      fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_WHITE);
-      break;
-    default:
-      break;
-  }
-  switch (color & kwsysTerminal_Color_BackgroundMask) {
-    case kwsysTerminal_Color_BackgroundBlack:
-      fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_BLACK);
-      break;
-    case kwsysTerminal_Color_BackgroundRed:
-      fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_RED);
-      break;
-    case kwsysTerminal_Color_BackgroundGreen:
-      fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_GREEN);
-      break;
-    case kwsysTerminal_Color_BackgroundYellow:
-      fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_YELLOW);
-      break;
-    case kwsysTerminal_Color_BackgroundBlue:
-      fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_BLUE);
-      break;
-    case kwsysTerminal_Color_BackgroundMagenta:
-      fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_MAGENTA);
-      break;
-    case kwsysTerminal_Color_BackgroundCyan:
-      fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_CYAN);
-      break;
-    case kwsysTerminal_Color_BackgroundWhite:
-      fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_WHITE);
-      break;
-    default:
-      break;
-  }
-  if (color & kwsysTerminal_Color_ForegroundBold) {
-    fprintf(stream, KWSYS_TERMINAL_VT100_BOLD);
-  }
-}
-
-#if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE)
-
-#  define KWSYS_TERMINAL_MASK_FOREGROUND                                      \
-    (FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED |                    \
-     FOREGROUND_INTENSITY)
-#  define KWSYS_TERMINAL_MASK_BACKGROUND                                      \
-    (BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED |                    \
-     BACKGROUND_INTENSITY)
-
-/* Get the Windows handle for a FILE stream.  */
-static HANDLE kwsysTerminalGetStreamHandle(FILE* stream)
-{
-  /* Get the C-library file descriptor from the stream.  */
-  int fd = fileno(stream);
-
-#  if defined(__CYGWIN__)
-  /* Cygwin seems to have an extra pipe level.  If the file descriptor
-     corresponds to stdout or stderr then obtain the matching windows
-     handle directly.  */
-  if (fd == fileno(stdout)) {
-    return GetStdHandle(STD_OUTPUT_HANDLE);
-  } else if (fd == fileno(stderr)) {
-    return GetStdHandle(STD_ERROR_HANDLE);
-  }
-#  endif
-
-  /* Get the underlying Windows handle for the descriptor.  */
-  return (HANDLE)_get_osfhandle(fd);
-}
-
-/* Set color attributes in a Windows console.  */
-static void kwsysTerminalSetConsoleColor(HANDLE hOut,
-                                         CONSOLE_SCREEN_BUFFER_INFO* hOutInfo,
-                                         FILE* stream, int color)
-{
-  WORD attributes = 0;
-  switch (color & kwsysTerminal_Color_ForegroundMask) {
-    case kwsysTerminal_Color_Normal:
-      attributes |= hOutInfo->wAttributes & KWSYS_TERMINAL_MASK_FOREGROUND;
-      break;
-    case kwsysTerminal_Color_ForegroundBlack:
-      attributes |= 0;
-      break;
-    case kwsysTerminal_Color_ForegroundRed:
-      attributes |= FOREGROUND_RED;
-      break;
-    case kwsysTerminal_Color_ForegroundGreen:
-      attributes |= FOREGROUND_GREEN;
-      break;
-    case kwsysTerminal_Color_ForegroundYellow:
-      attributes |= FOREGROUND_RED | FOREGROUND_GREEN;
-      break;
-    case kwsysTerminal_Color_ForegroundBlue:
-      attributes |= FOREGROUND_BLUE;
-      break;
-    case kwsysTerminal_Color_ForegroundMagenta:
-      attributes |= FOREGROUND_RED | FOREGROUND_BLUE;
-      break;
-    case kwsysTerminal_Color_ForegroundCyan:
-      attributes |= FOREGROUND_BLUE | FOREGROUND_GREEN;
-      break;
-    case kwsysTerminal_Color_ForegroundWhite:
-      attributes |= FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED;
-      break;
-  }
-  switch (color & kwsysTerminal_Color_BackgroundMask) {
-    case kwsysTerminal_Color_Normal:
-      attributes |= hOutInfo->wAttributes & KWSYS_TERMINAL_MASK_BACKGROUND;
-      break;
-    case kwsysTerminal_Color_BackgroundBlack:
-      attributes |= 0;
-      break;
-    case kwsysTerminal_Color_BackgroundRed:
-      attributes |= BACKGROUND_RED;
-      break;
-    case kwsysTerminal_Color_BackgroundGreen:
-      attributes |= BACKGROUND_GREEN;
-      break;
-    case kwsysTerminal_Color_BackgroundYellow:
-      attributes |= BACKGROUND_RED | BACKGROUND_GREEN;
-      break;
-    case kwsysTerminal_Color_BackgroundBlue:
-      attributes |= BACKGROUND_BLUE;
-      break;
-    case kwsysTerminal_Color_BackgroundMagenta:
-      attributes |= BACKGROUND_RED | BACKGROUND_BLUE;
-      break;
-    case kwsysTerminal_Color_BackgroundCyan:
-      attributes |= BACKGROUND_BLUE | BACKGROUND_GREEN;
-      break;
-    case kwsysTerminal_Color_BackgroundWhite:
-      attributes |= BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED;
-      break;
-  }
-  if (color & kwsysTerminal_Color_ForegroundBold) {
-    attributes |= FOREGROUND_INTENSITY;
-  }
-  if (color & kwsysTerminal_Color_BackgroundBold) {
-    attributes |= BACKGROUND_INTENSITY;
-  }
-  fflush(stream);
-  SetConsoleTextAttribute(hOut, attributes);
-}
-#endif

+ 0 - 170
Terminal.h.in

@@ -1,170 +0,0 @@
-/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-   file Copyright.txt or https://cmake.org/licensing#kwsys for details.  */
-#ifndef @KWSYS_NAMESPACE@_Terminal_h
-#define @KWSYS_NAMESPACE@_Terminal_h
-
-#include <@KWSYS_NAMESPACE@/Configure.h>
-
-#include <stdio.h> /* For file stream type FILE. */
-
-/* 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 kwsysTerminal_cfprintf kwsys_ns(Terminal_cfprintf)
-#  define kwsysTerminal_Color_e kwsys_ns(Terminal_Color_e)
-#  define kwsysTerminal_Color_Normal kwsys_ns(Terminal_Color_Normal)
-#  define kwsysTerminal_Color_ForegroundBlack                                 \
-    kwsys_ns(Terminal_Color_ForegroundBlack)
-#  define kwsysTerminal_Color_ForegroundRed                                   \
-    kwsys_ns(Terminal_Color_ForegroundRed)
-#  define kwsysTerminal_Color_ForegroundGreen                                 \
-    kwsys_ns(Terminal_Color_ForegroundGreen)
-#  define kwsysTerminal_Color_ForegroundYellow                                \
-    kwsys_ns(Terminal_Color_ForegroundYellow)
-#  define kwsysTerminal_Color_ForegroundBlue                                  \
-    kwsys_ns(Terminal_Color_ForegroundBlue)
-#  define kwsysTerminal_Color_ForegroundMagenta                               \
-    kwsys_ns(Terminal_Color_ForegroundMagenta)
-#  define kwsysTerminal_Color_ForegroundCyan                                  \
-    kwsys_ns(Terminal_Color_ForegroundCyan)
-#  define kwsysTerminal_Color_ForegroundWhite                                 \
-    kwsys_ns(Terminal_Color_ForegroundWhite)
-#  define kwsysTerminal_Color_ForegroundMask                                  \
-    kwsys_ns(Terminal_Color_ForegroundMask)
-#  define kwsysTerminal_Color_BackgroundBlack                                 \
-    kwsys_ns(Terminal_Color_BackgroundBlack)
-#  define kwsysTerminal_Color_BackgroundRed                                   \
-    kwsys_ns(Terminal_Color_BackgroundRed)
-#  define kwsysTerminal_Color_BackgroundGreen                                 \
-    kwsys_ns(Terminal_Color_BackgroundGreen)
-#  define kwsysTerminal_Color_BackgroundYellow                                \
-    kwsys_ns(Terminal_Color_BackgroundYellow)
-#  define kwsysTerminal_Color_BackgroundBlue                                  \
-    kwsys_ns(Terminal_Color_BackgroundBlue)
-#  define kwsysTerminal_Color_BackgroundMagenta                               \
-    kwsys_ns(Terminal_Color_BackgroundMagenta)
-#  define kwsysTerminal_Color_BackgroundCyan                                  \
-    kwsys_ns(Terminal_Color_BackgroundCyan)
-#  define kwsysTerminal_Color_BackgroundWhite                                 \
-    kwsys_ns(Terminal_Color_BackgroundWhite)
-#  define kwsysTerminal_Color_BackgroundMask                                  \
-    kwsys_ns(Terminal_Color_BackgroundMask)
-#  define kwsysTerminal_Color_ForegroundBold                                  \
-    kwsys_ns(Terminal_Color_ForegroundBold)
-#  define kwsysTerminal_Color_BackgroundBold                                  \
-    kwsys_ns(Terminal_Color_BackgroundBold)
-#  define kwsysTerminal_Color_AssumeTTY kwsys_ns(Terminal_Color_AssumeTTY)
-#  define kwsysTerminal_Color_AssumeVT100 kwsys_ns(Terminal_Color_AssumeVT100)
-#  define kwsysTerminal_Color_AttributeMask                                   \
-    kwsys_ns(Terminal_Color_AttributeMask)
-#endif
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/**
- * Write colored and formatted text to a stream.  Color is used only
- * for streams supporting it.  The color specification is constructed
- * by bitwise-OR-ing enumeration values.  At most one foreground and
- * one background value may be given.
- *
- * Whether the a stream supports color is usually automatically
- * detected, but with two exceptions:
- *
- *   - When the stream is displayed in a terminal supporting VT100
- *   color but using an intermediate pipe for communication the
- *   detection of a tty fails.  (This typically occurs for a shell
- *   running in an rxvt terminal in MSYS.)  If the caller knows this
- *   to be the case, the attribute Color_AssumeTTY may be included in
- *   the color specification.
- *
- *   - When the stream is displayed in a terminal whose TERM
- *   environment variable is not set or is set to a value that is not
- *   known to support VT100 colors.  If the caller knows this to be
- *   the case, the attribute Color_AssumeVT100 may be included in the
- *   color specification.
- */
-kwsysEXPORT void kwsysTerminal_cfprintf(int color, FILE* stream,
-                                        char const* format, ...);
-enum kwsysTerminal_Color_e
-{
-  /* Normal Text */
-  kwsysTerminal_Color_Normal = 0,
-
-  /* Foreground Color */
-  kwsysTerminal_Color_ForegroundBlack = 0x1,
-  kwsysTerminal_Color_ForegroundRed = 0x2,
-  kwsysTerminal_Color_ForegroundGreen = 0x3,
-  kwsysTerminal_Color_ForegroundYellow = 0x4,
-  kwsysTerminal_Color_ForegroundBlue = 0x5,
-  kwsysTerminal_Color_ForegroundMagenta = 0x6,
-  kwsysTerminal_Color_ForegroundCyan = 0x7,
-  kwsysTerminal_Color_ForegroundWhite = 0x8,
-  kwsysTerminal_Color_ForegroundMask = 0xF,
-
-  /* Background Color */
-  kwsysTerminal_Color_BackgroundBlack = 0x10,
-  kwsysTerminal_Color_BackgroundRed = 0x20,
-  kwsysTerminal_Color_BackgroundGreen = 0x30,
-  kwsysTerminal_Color_BackgroundYellow = 0x40,
-  kwsysTerminal_Color_BackgroundBlue = 0x50,
-  kwsysTerminal_Color_BackgroundMagenta = 0x60,
-  kwsysTerminal_Color_BackgroundCyan = 0x70,
-  kwsysTerminal_Color_BackgroundWhite = 0x80,
-  kwsysTerminal_Color_BackgroundMask = 0xF0,
-
-  /* Attributes */
-  kwsysTerminal_Color_ForegroundBold = 0x100,
-  kwsysTerminal_Color_BackgroundBold = 0x200,
-  kwsysTerminal_Color_AssumeTTY = 0x400,
-  kwsysTerminal_Color_AssumeVT100 = 0x800,
-  kwsysTerminal_Color_AttributeMask = 0xF00
-};
-
-#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 !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
-#    undef kwsysTerminal_cfprintf
-#    undef kwsysTerminal_Color_e
-#    undef kwsysTerminal_Color_Normal
-#    undef kwsysTerminal_Color_ForegroundBlack
-#    undef kwsysTerminal_Color_ForegroundRed
-#    undef kwsysTerminal_Color_ForegroundGreen
-#    undef kwsysTerminal_Color_ForegroundYellow
-#    undef kwsysTerminal_Color_ForegroundBlue
-#    undef kwsysTerminal_Color_ForegroundMagenta
-#    undef kwsysTerminal_Color_ForegroundCyan
-#    undef kwsysTerminal_Color_ForegroundWhite
-#    undef kwsysTerminal_Color_ForegroundMask
-#    undef kwsysTerminal_Color_BackgroundBlack
-#    undef kwsysTerminal_Color_BackgroundRed
-#    undef kwsysTerminal_Color_BackgroundGreen
-#    undef kwsysTerminal_Color_BackgroundYellow
-#    undef kwsysTerminal_Color_BackgroundBlue
-#    undef kwsysTerminal_Color_BackgroundMagenta
-#    undef kwsysTerminal_Color_BackgroundCyan
-#    undef kwsysTerminal_Color_BackgroundWhite
-#    undef kwsysTerminal_Color_BackgroundMask
-#    undef kwsysTerminal_Color_ForegroundBold
-#    undef kwsysTerminal_Color_BackgroundBold
-#    undef kwsysTerminal_Color_AssumeTTY
-#    undef kwsysTerminal_Color_AssumeVT100
-#    undef kwsysTerminal_Color_AttributeMask
-#  endif
-#endif
-
-#endif

+ 0 - 22
testTerminal.c

@@ -1,22 +0,0 @@
-/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-   file Copyright.txt or https://cmake.org/licensing#kwsys for details.  */
-#include "kwsysPrivate.h"
-#include KWSYS_HEADER(Terminal.h)
-
-/* Work-around CMake dependency scanning limitation.  This must
-   duplicate the above list of headers.  */
-#if 0
-#  include "Terminal.h.in"
-#endif
-
-int testTerminal(int argc, char* argv[])
-{
-  (void)argc;
-  (void)argv;
-  kwsysTerminal_cfprintf(kwsysTerminal_Color_ForegroundYellow |
-                           kwsysTerminal_Color_BackgroundBlue |
-                           kwsysTerminal_Color_AssumeTTY,
-                         stdout, "Hello %s!", "World");
-  fprintf(stdout, "\n");
-  return 0;
-}