node-pty 1.2.0-beta.6 → 1.2.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/README.md +3 -5
  2. package/binding.gyp +20 -38
  3. package/lib/windowsPtyAgent.js +32 -95
  4. package/lib/windowsTerminal.js +1 -1
  5. package/package.json +6 -5
  6. package/prebuilds/darwin-arm64/pty.node +0 -0
  7. package/prebuilds/darwin-arm64/spawn-helper +0 -0
  8. package/prebuilds/darwin-x64/pty.node +0 -0
  9. package/prebuilds/darwin-x64/spawn-helper +0 -0
  10. package/prebuilds/win32-arm64/conpty.node +0 -0
  11. package/prebuilds/win32-arm64/conpty.pdb +0 -0
  12. package/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  13. package/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  14. package/prebuilds/win32-x64/conpty.node +0 -0
  15. package/prebuilds/win32-x64/conpty.pdb +0 -0
  16. package/prebuilds/win32-x64/conpty_console_list.node +0 -0
  17. package/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  18. package/scripts/post-install.js +1 -5
  19. package/src/win/conpty.cc +1 -2
  20. package/typings/node-pty.d.ts +9 -8
  21. package/deps/.editorconfig +0 -2
  22. package/deps/winpty/.drone.yml +0 -17
  23. package/deps/winpty/.gitattributes +0 -19
  24. package/deps/winpty/LICENSE +0 -21
  25. package/deps/winpty/Makefile +0 -166
  26. package/deps/winpty/README.md +0 -151
  27. package/deps/winpty/RELEASES.md +0 -280
  28. package/deps/winpty/VERSION.txt +0 -1
  29. package/deps/winpty/configure +0 -167
  30. package/deps/winpty/misc/BufferResizeTests.cc +0 -90
  31. package/deps/winpty/misc/ChangeScreenBuffer.cc +0 -53
  32. package/deps/winpty/misc/ClearConsole.cc +0 -72
  33. package/deps/winpty/misc/ConinMode.cc +0 -117
  34. package/deps/winpty/misc/ConinMode.ps1 +0 -116
  35. package/deps/winpty/misc/ConoutMode.cc +0 -113
  36. package/deps/winpty/misc/DebugClient.py +0 -42
  37. package/deps/winpty/misc/DebugServer.py +0 -63
  38. package/deps/winpty/misc/DumpLines.py +0 -5
  39. package/deps/winpty/misc/EnableExtendedFlags.txt +0 -46
  40. package/deps/winpty/misc/Font-Report-June2016/CP437-Consolas.txt +0 -528
  41. package/deps/winpty/misc/Font-Report-June2016/CP437-Lucida.txt +0 -633
  42. package/deps/winpty/misc/Font-Report-June2016/CP932.txt +0 -630
  43. package/deps/winpty/misc/Font-Report-June2016/CP936.txt +0 -630
  44. package/deps/winpty/misc/Font-Report-June2016/CP949.txt +0 -630
  45. package/deps/winpty/misc/Font-Report-June2016/CP950.txt +0 -630
  46. package/deps/winpty/misc/Font-Report-June2016/MinimumWindowWidths.txt +0 -16
  47. package/deps/winpty/misc/Font-Report-June2016/Results.txt +0 -4
  48. package/deps/winpty/misc/Font-Report-June2016/Windows10SetFontBugginess.txt +0 -144
  49. package/deps/winpty/misc/FontSurvey.cc +0 -100
  50. package/deps/winpty/misc/FormatChar.h +0 -21
  51. package/deps/winpty/misc/FreezePerfTest.cc +0 -62
  52. package/deps/winpty/misc/GetCh.cc +0 -20
  53. package/deps/winpty/misc/GetConsolePos.cc +0 -41
  54. package/deps/winpty/misc/GetFont.cc +0 -261
  55. package/deps/winpty/misc/IdentifyConsoleWindow.ps1 +0 -51
  56. package/deps/winpty/misc/IsNewConsole.cc +0 -87
  57. package/deps/winpty/misc/MouseInputNotes.txt +0 -90
  58. package/deps/winpty/misc/MoveConsoleWindow.cc +0 -34
  59. package/deps/winpty/misc/Notes.txt +0 -219
  60. package/deps/winpty/misc/OSVersion.cc +0 -27
  61. package/deps/winpty/misc/ScreenBufferFreezeInactive.cc +0 -101
  62. package/deps/winpty/misc/ScreenBufferTest.cc +0 -671
  63. package/deps/winpty/misc/ScreenBufferTest2.cc +0 -151
  64. package/deps/winpty/misc/SelectAllTest.cc +0 -45
  65. package/deps/winpty/misc/SetBufferSize.cc +0 -32
  66. package/deps/winpty/misc/SetCursorPos.cc +0 -10
  67. package/deps/winpty/misc/SetFont.cc +0 -145
  68. package/deps/winpty/misc/SetWindowRect.cc +0 -36
  69. package/deps/winpty/misc/ShowArgv.cc +0 -12
  70. package/deps/winpty/misc/ShowConsoleInput.cc +0 -40
  71. package/deps/winpty/misc/Spew.py +0 -5
  72. package/deps/winpty/misc/TestUtil.cc +0 -172
  73. package/deps/winpty/misc/UnicodeDoubleWidthTest.cc +0 -102
  74. package/deps/winpty/misc/UnicodeWideTest1.cc +0 -246
  75. package/deps/winpty/misc/UnicodeWideTest2.cc +0 -130
  76. package/deps/winpty/misc/UnixEcho.cc +0 -89
  77. package/deps/winpty/misc/Utf16Echo.cc +0 -46
  78. package/deps/winpty/misc/VeryLargeRead.cc +0 -122
  79. package/deps/winpty/misc/VkEscapeTest.cc +0 -56
  80. package/deps/winpty/misc/Win10ResizeWhileFrozen.cc +0 -52
  81. package/deps/winpty/misc/Win10WrapTest1.cc +0 -57
  82. package/deps/winpty/misc/Win10WrapTest2.cc +0 -30
  83. package/deps/winpty/misc/Win32Echo1.cc +0 -26
  84. package/deps/winpty/misc/Win32Echo2.cc +0 -19
  85. package/deps/winpty/misc/Win32Test1.cc +0 -46
  86. package/deps/winpty/misc/Win32Test2.cc +0 -70
  87. package/deps/winpty/misc/Win32Test3.cc +0 -78
  88. package/deps/winpty/misc/Win32Write1.cc +0 -44
  89. package/deps/winpty/misc/WindowsBugCrashReader.cc +0 -27
  90. package/deps/winpty/misc/WriteConsole.cc +0 -106
  91. package/deps/winpty/misc/build32.sh +0 -9
  92. package/deps/winpty/misc/build64.sh +0 -9
  93. package/deps/winpty/misc/color-test.sh +0 -212
  94. package/deps/winpty/misc/font-notes.txt +0 -300
  95. package/deps/winpty/misc/winbug-15048.cc +0 -201
  96. package/deps/winpty/ship/build-pty4j-libpty.bat +0 -36
  97. package/deps/winpty/ship/common_ship.py +0 -53
  98. package/deps/winpty/ship/make_msvc_package.py +0 -165
  99. package/deps/winpty/ship/ship.py +0 -108
  100. package/deps/winpty/src/agent/Agent.cc +0 -613
  101. package/deps/winpty/src/agent/Agent.h +0 -103
  102. package/deps/winpty/src/agent/AgentCreateDesktop.cc +0 -84
  103. package/deps/winpty/src/agent/AgentCreateDesktop.h +0 -28
  104. package/deps/winpty/src/agent/ConsoleFont.cc +0 -632
  105. package/deps/winpty/src/agent/ConsoleFont.h +0 -28
  106. package/deps/winpty/src/agent/ConsoleInput.cc +0 -852
  107. package/deps/winpty/src/agent/ConsoleInput.h +0 -109
  108. package/deps/winpty/src/agent/ConsoleInputReencoding.cc +0 -121
  109. package/deps/winpty/src/agent/ConsoleInputReencoding.h +0 -36
  110. package/deps/winpty/src/agent/ConsoleLine.cc +0 -152
  111. package/deps/winpty/src/agent/ConsoleLine.h +0 -41
  112. package/deps/winpty/src/agent/Coord.h +0 -87
  113. package/deps/winpty/src/agent/DebugShowInput.cc +0 -239
  114. package/deps/winpty/src/agent/DebugShowInput.h +0 -32
  115. package/deps/winpty/src/agent/DefaultInputMap.cc +0 -422
  116. package/deps/winpty/src/agent/DefaultInputMap.h +0 -28
  117. package/deps/winpty/src/agent/DsrSender.h +0 -30
  118. package/deps/winpty/src/agent/EventLoop.cc +0 -99
  119. package/deps/winpty/src/agent/EventLoop.h +0 -47
  120. package/deps/winpty/src/agent/InputMap.cc +0 -246
  121. package/deps/winpty/src/agent/InputMap.h +0 -114
  122. package/deps/winpty/src/agent/LargeConsoleRead.cc +0 -71
  123. package/deps/winpty/src/agent/LargeConsoleRead.h +0 -68
  124. package/deps/winpty/src/agent/NamedPipe.cc +0 -378
  125. package/deps/winpty/src/agent/NamedPipe.h +0 -125
  126. package/deps/winpty/src/agent/Scraper.cc +0 -699
  127. package/deps/winpty/src/agent/Scraper.h +0 -103
  128. package/deps/winpty/src/agent/SimplePool.h +0 -75
  129. package/deps/winpty/src/agent/SmallRect.h +0 -143
  130. package/deps/winpty/src/agent/Terminal.cc +0 -535
  131. package/deps/winpty/src/agent/Terminal.h +0 -69
  132. package/deps/winpty/src/agent/UnicodeEncoding.h +0 -157
  133. package/deps/winpty/src/agent/UnicodeEncodingTest.cc +0 -189
  134. package/deps/winpty/src/agent/Win32Console.cc +0 -107
  135. package/deps/winpty/src/agent/Win32Console.h +0 -67
  136. package/deps/winpty/src/agent/Win32ConsoleBuffer.cc +0 -193
  137. package/deps/winpty/src/agent/Win32ConsoleBuffer.h +0 -99
  138. package/deps/winpty/src/agent/main.cc +0 -114
  139. package/deps/winpty/src/agent/subdir.mk +0 -61
  140. package/deps/winpty/src/configurations.gypi +0 -60
  141. package/deps/winpty/src/debugserver/DebugServer.cc +0 -117
  142. package/deps/winpty/src/debugserver/subdir.mk +0 -41
  143. package/deps/winpty/src/include/winpty.h +0 -242
  144. package/deps/winpty/src/include/winpty_constants.h +0 -131
  145. package/deps/winpty/src/libwinpty/AgentLocation.cc +0 -75
  146. package/deps/winpty/src/libwinpty/AgentLocation.h +0 -28
  147. package/deps/winpty/src/libwinpty/LibWinptyException.h +0 -54
  148. package/deps/winpty/src/libwinpty/WinptyInternal.h +0 -72
  149. package/deps/winpty/src/libwinpty/subdir.mk +0 -46
  150. package/deps/winpty/src/libwinpty/winpty.cc +0 -970
  151. package/deps/winpty/src/shared/AgentMsg.h +0 -38
  152. package/deps/winpty/src/shared/BackgroundDesktop.cc +0 -122
  153. package/deps/winpty/src/shared/BackgroundDesktop.h +0 -73
  154. package/deps/winpty/src/shared/Buffer.cc +0 -103
  155. package/deps/winpty/src/shared/Buffer.h +0 -102
  156. package/deps/winpty/src/shared/DebugClient.cc +0 -187
  157. package/deps/winpty/src/shared/DebugClient.h +0 -38
  158. package/deps/winpty/src/shared/GenRandom.cc +0 -138
  159. package/deps/winpty/src/shared/GenRandom.h +0 -55
  160. package/deps/winpty/src/shared/GetCommitHash.bat +0 -13
  161. package/deps/winpty/src/shared/Mutex.h +0 -54
  162. package/deps/winpty/src/shared/OsModule.h +0 -63
  163. package/deps/winpty/src/shared/OwnedHandle.cc +0 -36
  164. package/deps/winpty/src/shared/OwnedHandle.h +0 -45
  165. package/deps/winpty/src/shared/PrecompiledHeader.h +0 -43
  166. package/deps/winpty/src/shared/StringBuilder.h +0 -227
  167. package/deps/winpty/src/shared/StringBuilderTest.cc +0 -114
  168. package/deps/winpty/src/shared/StringUtil.cc +0 -55
  169. package/deps/winpty/src/shared/StringUtil.h +0 -80
  170. package/deps/winpty/src/shared/TimeMeasurement.h +0 -63
  171. package/deps/winpty/src/shared/UnixCtrlChars.h +0 -45
  172. package/deps/winpty/src/shared/UpdateGenVersion.bat +0 -20
  173. package/deps/winpty/src/shared/WindowsSecurity.cc +0 -460
  174. package/deps/winpty/src/shared/WindowsSecurity.h +0 -104
  175. package/deps/winpty/src/shared/WindowsVersion.cc +0 -252
  176. package/deps/winpty/src/shared/WindowsVersion.h +0 -29
  177. package/deps/winpty/src/shared/WinptyAssert.cc +0 -55
  178. package/deps/winpty/src/shared/WinptyAssert.h +0 -64
  179. package/deps/winpty/src/shared/WinptyException.cc +0 -57
  180. package/deps/winpty/src/shared/WinptyException.h +0 -43
  181. package/deps/winpty/src/shared/WinptyVersion.cc +0 -42
  182. package/deps/winpty/src/shared/WinptyVersion.h +0 -27
  183. package/deps/winpty/src/shared/winpty_snprintf.h +0 -99
  184. package/deps/winpty/src/subdir.mk +0 -5
  185. package/deps/winpty/src/tests/subdir.mk +0 -28
  186. package/deps/winpty/src/tests/trivial_test.cc +0 -158
  187. package/deps/winpty/src/unix-adapter/InputHandler.cc +0 -114
  188. package/deps/winpty/src/unix-adapter/InputHandler.h +0 -56
  189. package/deps/winpty/src/unix-adapter/OutputHandler.cc +0 -80
  190. package/deps/winpty/src/unix-adapter/OutputHandler.h +0 -53
  191. package/deps/winpty/src/unix-adapter/Util.cc +0 -86
  192. package/deps/winpty/src/unix-adapter/Util.h +0 -31
  193. package/deps/winpty/src/unix-adapter/WakeupFd.cc +0 -70
  194. package/deps/winpty/src/unix-adapter/WakeupFd.h +0 -42
  195. package/deps/winpty/src/unix-adapter/main.cc +0 -729
  196. package/deps/winpty/src/unix-adapter/subdir.mk +0 -41
  197. package/deps/winpty/src/winpty.gyp +0 -236
  198. package/deps/winpty/vcbuild.bat +0 -83
  199. package/lib/conpty_console_list_agent.js.map +0 -1
  200. package/lib/eventEmitter2.js.map +0 -1
  201. package/lib/eventEmitter2.test.js +0 -30
  202. package/lib/eventEmitter2.test.js.map +0 -1
  203. package/lib/index.js.map +0 -1
  204. package/lib/interfaces.js.map +0 -1
  205. package/lib/shared/conout.js.map +0 -1
  206. package/lib/terminal.js.map +0 -1
  207. package/lib/terminal.test.js +0 -139
  208. package/lib/terminal.test.js.map +0 -1
  209. package/lib/testUtils.test.js +0 -28
  210. package/lib/testUtils.test.js.map +0 -1
  211. package/lib/types.js.map +0 -1
  212. package/lib/unixTerminal.js.map +0 -1
  213. package/lib/unixTerminal.test.js +0 -381
  214. package/lib/unixTerminal.test.js.map +0 -1
  215. package/lib/utils.js.map +0 -1
  216. package/lib/windowsConoutConnection.js.map +0 -1
  217. package/lib/windowsPtyAgent.js.map +0 -1
  218. package/lib/windowsPtyAgent.test.js +0 -90
  219. package/lib/windowsPtyAgent.test.js.map +0 -1
  220. package/lib/windowsTerminal.js.map +0 -1
  221. package/lib/windowsTerminal.test.js +0 -219
  222. package/lib/windowsTerminal.test.js.map +0 -1
  223. package/lib/worker/conoutSocketWorker.js.map +0 -1
  224. package/prebuilds/win32-arm64/pty.node +0 -0
  225. package/prebuilds/win32-arm64/pty.pdb +0 -0
  226. package/prebuilds/win32-arm64/winpty-agent.exe +0 -0
  227. package/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
  228. package/prebuilds/win32-arm64/winpty.dll +0 -0
  229. package/prebuilds/win32-arm64/winpty.pdb +0 -0
  230. package/prebuilds/win32-x64/pty.node +0 -0
  231. package/prebuilds/win32-x64/pty.pdb +0 -0
  232. package/prebuilds/win32-x64/winpty-agent.exe +0 -0
  233. package/prebuilds/win32-x64/winpty-agent.pdb +0 -0
  234. package/prebuilds/win32-x64/winpty.dll +0 -0
  235. package/prebuilds/win32-x64/winpty.pdb +0 -0
  236. package/scripts/gen-compile-commands.js +0 -8
  237. package/scripts/increment-version.js +0 -54
  238. package/scripts/linux/checksums.txt +0 -2
  239. package/scripts/linux/install-sysroot.js +0 -158
  240. package/scripts/linux/verify-glibc-requirements.sh +0 -36
  241. package/src/conpty_console_list_agent.ts +0 -15
  242. package/src/eventEmitter2.test.ts +0 -30
  243. package/src/eventEmitter2.ts +0 -48
  244. package/src/index.ts +0 -52
  245. package/src/interfaces.ts +0 -130
  246. package/src/native.d.ts +0 -54
  247. package/src/shared/conout.ts +0 -15
  248. package/src/terminal.test.ts +0 -119
  249. package/src/terminal.ts +0 -211
  250. package/src/testUtils.test.ts +0 -23
  251. package/src/tsconfig.json +0 -22
  252. package/src/types.ts +0 -15
  253. package/src/unixTerminal.test.ts +0 -398
  254. package/src/unixTerminal.ts +0 -388
  255. package/src/utils.ts +0 -29
  256. package/src/win/winpty.cc +0 -333
  257. package/src/windowsConoutConnection.ts +0 -82
  258. package/src/windowsPtyAgent.test.ts +0 -94
  259. package/src/windowsPtyAgent.ts +0 -321
  260. package/src/windowsTerminal.test.ts +0 -229
  261. package/src/windowsTerminal.ts +0 -203
  262. package/src/worker/conoutSocketWorker.ts +0 -22
@@ -1,193 +0,0 @@
1
- // Copyright (c) 2011-2016 Ryan Prichard
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to
5
- // deal in the Software without restriction, including without limitation the
6
- // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
- // sell copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
- // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
- // IN THE SOFTWARE.
20
-
21
- #include "Win32ConsoleBuffer.h"
22
-
23
- #include <windows.h>
24
-
25
- #include "../shared/DebugClient.h"
26
- #include "../shared/StringBuilder.h"
27
- #include "../shared/WinptyAssert.h"
28
-
29
- std::unique_ptr<Win32ConsoleBuffer> Win32ConsoleBuffer::openStdout() {
30
- return std::unique_ptr<Win32ConsoleBuffer>(
31
- new Win32ConsoleBuffer(GetStdHandle(STD_OUTPUT_HANDLE), false));
32
- }
33
-
34
- std::unique_ptr<Win32ConsoleBuffer> Win32ConsoleBuffer::openConout() {
35
- const HANDLE conout = CreateFileW(L"CONOUT$",
36
- GENERIC_READ | GENERIC_WRITE,
37
- FILE_SHARE_READ | FILE_SHARE_WRITE,
38
- NULL, OPEN_EXISTING, 0, NULL);
39
- ASSERT(conout != INVALID_HANDLE_VALUE);
40
- return std::unique_ptr<Win32ConsoleBuffer>(
41
- new Win32ConsoleBuffer(conout, true));
42
- }
43
-
44
- std::unique_ptr<Win32ConsoleBuffer> Win32ConsoleBuffer::createErrorBuffer() {
45
- SECURITY_ATTRIBUTES sa = {};
46
- sa.nLength = sizeof(sa);
47
- sa.bInheritHandle = TRUE;
48
- const HANDLE conout =
49
- CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE,
50
- FILE_SHARE_READ | FILE_SHARE_WRITE,
51
- &sa,
52
- CONSOLE_TEXTMODE_BUFFER,
53
- nullptr);
54
- ASSERT(conout != INVALID_HANDLE_VALUE);
55
- return std::unique_ptr<Win32ConsoleBuffer>(
56
- new Win32ConsoleBuffer(conout, true));
57
- }
58
-
59
- HANDLE Win32ConsoleBuffer::conout() {
60
- return m_conout;
61
- }
62
-
63
- void Win32ConsoleBuffer::clearLines(
64
- int row,
65
- int count,
66
- const ConsoleScreenBufferInfo &info) {
67
- // TODO: error handling
68
- const int width = info.bufferSize().X;
69
- DWORD actual = 0;
70
- if (!FillConsoleOutputCharacterW(
71
- m_conout, L' ', width * count, Coord(0, row),
72
- &actual) || static_cast<int>(actual) != width * count) {
73
- trace("FillConsoleOutputCharacterW failed");
74
- }
75
- if (!FillConsoleOutputAttribute(
76
- m_conout, kDefaultAttributes, width * count, Coord(0, row),
77
- &actual) || static_cast<int>(actual) != width * count) {
78
- trace("FillConsoleOutputAttribute failed");
79
- }
80
- }
81
-
82
- void Win32ConsoleBuffer::clearAllLines(const ConsoleScreenBufferInfo &info) {
83
- clearLines(0, info.bufferSize().Y, info);
84
- }
85
-
86
- ConsoleScreenBufferInfo Win32ConsoleBuffer::bufferInfo() {
87
- // TODO: error handling
88
- ConsoleScreenBufferInfo info;
89
- if (!GetConsoleScreenBufferInfo(m_conout, &info)) {
90
- trace("GetConsoleScreenBufferInfo failed");
91
- }
92
- return info;
93
- }
94
-
95
- Coord Win32ConsoleBuffer::bufferSize() {
96
- return bufferInfo().bufferSize();
97
- }
98
-
99
- SmallRect Win32ConsoleBuffer::windowRect() {
100
- return bufferInfo().windowRect();
101
- }
102
-
103
- bool Win32ConsoleBuffer::resizeBufferRange(const Coord &initialSize,
104
- Coord &finalSize) {
105
- if (SetConsoleScreenBufferSize(m_conout, initialSize)) {
106
- finalSize = initialSize;
107
- return true;
108
- }
109
- // The font might be too small to accommodate a very narrow console window.
110
- // In that case, rather than simply give up, it's better to try wider
111
- // buffer sizes until the call succeeds.
112
- Coord size = initialSize;
113
- while (size.X < 20) {
114
- size.X++;
115
- if (SetConsoleScreenBufferSize(m_conout, size)) {
116
- finalSize = size;
117
- trace("SetConsoleScreenBufferSize: initial size (%d,%d) failed, "
118
- "but wider size (%d,%d) succeeded",
119
- initialSize.X, initialSize.Y,
120
- finalSize.X, finalSize.Y);
121
- return true;
122
- }
123
- }
124
- trace("SetConsoleScreenBufferSize failed: "
125
- "tried (%d,%d) through (%d,%d)",
126
- initialSize.X, initialSize.Y,
127
- size.X, size.Y);
128
- return false;
129
- }
130
-
131
- void Win32ConsoleBuffer::resizeBuffer(const Coord &size) {
132
- // TODO: error handling
133
- if (!SetConsoleScreenBufferSize(m_conout, size)) {
134
- trace("SetConsoleScreenBufferSize failed: size=(%d,%d)",
135
- size.X, size.Y);
136
- }
137
- }
138
-
139
- void Win32ConsoleBuffer::moveWindow(const SmallRect &rect) {
140
- // TODO: error handling
141
- if (!SetConsoleWindowInfo(m_conout, TRUE, &rect)) {
142
- trace("SetConsoleWindowInfo failed");
143
- }
144
- }
145
-
146
- Coord Win32ConsoleBuffer::cursorPosition() {
147
- return bufferInfo().dwCursorPosition;
148
- }
149
-
150
- void Win32ConsoleBuffer::setCursorPosition(const Coord &coord) {
151
- // TODO: error handling
152
- if (!SetConsoleCursorPosition(m_conout, coord)) {
153
- trace("SetConsoleCursorPosition failed");
154
- }
155
- }
156
-
157
- void Win32ConsoleBuffer::read(const SmallRect &rect, CHAR_INFO *data) {
158
- // TODO: error handling
159
- SmallRect tmp(rect);
160
- if (!ReadConsoleOutputW(m_conout, data, rect.size(), Coord(), &tmp) &&
161
- isTracingEnabled()) {
162
- StringBuilder sb(256);
163
- auto outStruct = [&](const SMALL_RECT &sr) {
164
- sb << "{L=" << sr.Left << ",T=" << sr.Top
165
- << ",R=" << sr.Right << ",B=" << sr.Bottom << '}';
166
- };
167
- sb << "Win32ConsoleBuffer::read: ReadConsoleOutput failed: readRegion=";
168
- outStruct(rect);
169
- CONSOLE_SCREEN_BUFFER_INFO info = {};
170
- if (GetConsoleScreenBufferInfo(m_conout, &info)) {
171
- sb << ", dwSize=(" << info.dwSize.X << ',' << info.dwSize.Y
172
- << "), srWindow=";
173
- outStruct(info.srWindow);
174
- } else {
175
- sb << ", GetConsoleScreenBufferInfo also failed";
176
- }
177
- trace("%s", sb.c_str());
178
- }
179
- }
180
-
181
- void Win32ConsoleBuffer::write(const SmallRect &rect, const CHAR_INFO *data) {
182
- // TODO: error handling
183
- SmallRect tmp(rect);
184
- if (!WriteConsoleOutputW(m_conout, data, rect.size(), Coord(), &tmp)) {
185
- trace("WriteConsoleOutput failed");
186
- }
187
- }
188
-
189
- void Win32ConsoleBuffer::setTextAttribute(WORD attributes) {
190
- if (!SetConsoleTextAttribute(m_conout, attributes)) {
191
- trace("SetConsoleTextAttribute failed");
192
- }
193
- }
@@ -1,99 +0,0 @@
1
- // Copyright (c) 2011-2016 Ryan Prichard
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to
5
- // deal in the Software without restriction, including without limitation the
6
- // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
- // sell copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
- // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
- // IN THE SOFTWARE.
20
-
21
- #ifndef AGENT_WIN32_CONSOLE_BUFFER_H
22
- #define AGENT_WIN32_CONSOLE_BUFFER_H
23
-
24
- #include <windows.h>
25
-
26
- #include <string.h>
27
-
28
- #include <memory>
29
-
30
- #include "Coord.h"
31
- #include "SmallRect.h"
32
-
33
- class ConsoleScreenBufferInfo : public CONSOLE_SCREEN_BUFFER_INFO {
34
- public:
35
- ConsoleScreenBufferInfo()
36
- {
37
- memset(this, 0, sizeof(*this));
38
- }
39
-
40
- Coord bufferSize() const { return dwSize; }
41
- SmallRect windowRect() const { return srWindow; }
42
- Coord cursorPosition() const { return dwCursorPosition; }
43
- };
44
-
45
- class Win32ConsoleBuffer {
46
- private:
47
- Win32ConsoleBuffer(HANDLE conout, bool owned) :
48
- m_conout(conout), m_owned(owned)
49
- {
50
- }
51
-
52
- public:
53
- static const int kDefaultAttributes = 7;
54
-
55
- ~Win32ConsoleBuffer() {
56
- if (m_owned) {
57
- CloseHandle(m_conout);
58
- }
59
- }
60
-
61
- static std::unique_ptr<Win32ConsoleBuffer> openStdout();
62
- static std::unique_ptr<Win32ConsoleBuffer> openConout();
63
- static std::unique_ptr<Win32ConsoleBuffer> createErrorBuffer();
64
-
65
- Win32ConsoleBuffer(const Win32ConsoleBuffer &other) = delete;
66
- Win32ConsoleBuffer &operator=(const Win32ConsoleBuffer &other) = delete;
67
-
68
- HANDLE conout();
69
- void clearLines(int row, int count, const ConsoleScreenBufferInfo &info);
70
- void clearAllLines(const ConsoleScreenBufferInfo &info);
71
-
72
- // Buffer and window sizes.
73
- ConsoleScreenBufferInfo bufferInfo();
74
- Coord bufferSize();
75
- SmallRect windowRect();
76
- void resizeBuffer(const Coord &size);
77
- bool resizeBufferRange(const Coord &initialSize, Coord &finalSize);
78
- bool resizeBufferRange(const Coord &initialSize) {
79
- Coord dummy;
80
- return resizeBufferRange(initialSize, dummy);
81
- }
82
- void moveWindow(const SmallRect &rect);
83
-
84
- // Cursor.
85
- Coord cursorPosition();
86
- void setCursorPosition(const Coord &point);
87
-
88
- // Screen content.
89
- void read(const SmallRect &rect, CHAR_INFO *data);
90
- void write(const SmallRect &rect, const CHAR_INFO *data);
91
-
92
- void setTextAttribute(WORD attributes);
93
-
94
- private:
95
- HANDLE m_conout = nullptr;
96
- bool m_owned = false;
97
- };
98
-
99
- #endif // AGENT_WIN32_CONSOLE_BUFFER_H
@@ -1,114 +0,0 @@
1
- // Copyright (c) 2011-2015 Ryan Prichard
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to
5
- // deal in the Software without restriction, including without limitation the
6
- // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
- // sell copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
- // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
- // IN THE SOFTWARE.
20
-
21
- #include <stdio.h>
22
- #include <stdlib.h>
23
- #include <string.h>
24
- #include <wchar.h>
25
-
26
- #include "../shared/StringUtil.h"
27
- #include "../shared/WindowsVersion.h"
28
- #include "../shared/WinptyAssert.h"
29
- #include "../shared/WinptyVersion.h"
30
-
31
- #include "Agent.h"
32
- #include "AgentCreateDesktop.h"
33
- #include "DebugShowInput.h"
34
-
35
- const char USAGE[] =
36
- "Usage: %ls controlPipeName flags mouseMode cols rows\n"
37
- "Usage: %ls controlPipeName --create-desktop\n"
38
- "\n"
39
- "Ordinarily, this program is launched by winpty.dll and is not directly\n"
40
- "useful to winpty users. However, it also has options intended for\n"
41
- "debugging winpty.\n"
42
- "\n"
43
- "Usage: %ls [options]\n"
44
- "\n"
45
- "Options:\n"
46
- " --show-input [--with-mouse] [--escape-input]\n"
47
- " Dump INPUT_RECORDs from the console input buffer\n"
48
- " --with-mouse: Include MOUSE_INPUT_RECORDs in the dump\n"
49
- " output\n"
50
- " --escape-input: Direct the new Windows 10 console to use\n"
51
- " escape sequences for input\n"
52
- " --version Print the winpty version\n";
53
-
54
- static uint64_t winpty_atoi64(const char *str) {
55
- return strtoll(str, NULL, 10);
56
- }
57
-
58
- int main() {
59
- dumpWindowsVersion();
60
- dumpVersionToTrace();
61
-
62
- // Technically, we should free the CommandLineToArgvW return value using
63
- // a single call to LocalFree, but the call will never actually happen in
64
- // the normal case.
65
- int argc = 0;
66
- wchar_t *cmdline = GetCommandLineW();
67
- ASSERT(cmdline != nullptr && "GetCommandLineW returned NULL");
68
- wchar_t **argv = CommandLineToArgvW(cmdline, &argc);
69
- ASSERT(argv != nullptr && "CommandLineToArgvW returned NULL");
70
-
71
- if (argc == 2 && !wcscmp(argv[1], L"--version")) {
72
- dumpVersionToStdout();
73
- return 0;
74
- }
75
-
76
- if (argc >= 2 && !wcscmp(argv[1], L"--show-input")) {
77
- bool withMouse = false;
78
- bool escapeInput = false;
79
- for (int i = 2; i < argc; ++i) {
80
- if (!wcscmp(argv[i], L"--with-mouse")) {
81
- withMouse = true;
82
- } else if (!wcscmp(argv[i], L"--escape-input")) {
83
- escapeInput = true;
84
- } else {
85
- fprintf(stderr, "Unrecognized --show-input option: %ls\n",
86
- argv[i]);
87
- return 1;
88
- }
89
- }
90
- debugShowInput(withMouse, escapeInput);
91
- return 0;
92
- }
93
-
94
- if (argc == 3 && !wcscmp(argv[2], L"--create-desktop")) {
95
- handleCreateDesktop(argv[1]);
96
- return 0;
97
- }
98
-
99
- if (argc != 6) {
100
- fprintf(stderr, USAGE, argv[0], argv[0], argv[0]);
101
- return 1;
102
- }
103
-
104
- Agent agent(argv[1],
105
- winpty_atoi64(utf8FromWide(argv[2]).c_str()),
106
- atoi(utf8FromWide(argv[3]).c_str()),
107
- atoi(utf8FromWide(argv[4]).c_str()),
108
- atoi(utf8FromWide(argv[5]).c_str()));
109
- agent.run();
110
-
111
- // The Agent destructor shouldn't return, but if it does, exit
112
- // unsuccessfully.
113
- return 1;
114
- }
@@ -1,61 +0,0 @@
1
- # Copyright (c) 2011-2015 Ryan Prichard
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the "Software"), to
5
- # deal in the Software without restriction, including without limitation the
6
- # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
- # sell copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in
11
- # all copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
- # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
- # IN THE SOFTWARE.
20
-
21
- ALL_TARGETS += build/winpty-agent.exe
22
-
23
- $(eval $(call def_mingw_target,agent,-DWINPTY_AGENT_ASSERT))
24
-
25
- AGENT_OBJECTS = \
26
- build/agent/agent/Agent.o \
27
- build/agent/agent/AgentCreateDesktop.o \
28
- build/agent/agent/ConsoleFont.o \
29
- build/agent/agent/ConsoleInput.o \
30
- build/agent/agent/ConsoleInputReencoding.o \
31
- build/agent/agent/ConsoleLine.o \
32
- build/agent/agent/DebugShowInput.o \
33
- build/agent/agent/DefaultInputMap.o \
34
- build/agent/agent/EventLoop.o \
35
- build/agent/agent/InputMap.o \
36
- build/agent/agent/LargeConsoleRead.o \
37
- build/agent/agent/NamedPipe.o \
38
- build/agent/agent/Scraper.o \
39
- build/agent/agent/Terminal.o \
40
- build/agent/agent/Win32Console.o \
41
- build/agent/agent/Win32ConsoleBuffer.o \
42
- build/agent/agent/main.o \
43
- build/agent/shared/BackgroundDesktop.o \
44
- build/agent/shared/Buffer.o \
45
- build/agent/shared/DebugClient.o \
46
- build/agent/shared/GenRandom.o \
47
- build/agent/shared/OwnedHandle.o \
48
- build/agent/shared/StringUtil.o \
49
- build/agent/shared/WindowsSecurity.o \
50
- build/agent/shared/WindowsVersion.o \
51
- build/agent/shared/WinptyAssert.o \
52
- build/agent/shared/WinptyException.o \
53
- build/agent/shared/WinptyVersion.o
54
-
55
- build/agent/shared/WinptyVersion.o : build/gen/GenVersion.h
56
-
57
- build/winpty-agent.exe : $(AGENT_OBJECTS)
58
- $(info Linking $@)
59
- @$(MINGW_CXX) $(MINGW_LDFLAGS) -o $@ $^
60
-
61
- -include $(AGENT_OBJECTS:.o=.d)
@@ -1,60 +0,0 @@
1
- # By default gyp/msbuild build for 32-bit Windows. This gyp include file
2
- # defines configurations for both 32-bit and 64-bit Windows. To use it, run:
3
- #
4
- # C:\...\winpty\src>gyp -I configurations.gypi
5
- #
6
- # This command generates Visual Studio project files with a Release
7
- # configuration and two Platforms--Win32 and x64. Both can be built:
8
- #
9
- # C:\...\winpty\src>msbuild winpty.sln /p:Platform=Win32
10
- # C:\...\winpty\src>msbuild winpty.sln /p:Platform=x64
11
- #
12
- # The output is placed in:
13
- #
14
- # C:\...\winpty\src\Release\Win32
15
- # C:\...\winpty\src\Release\x64
16
- #
17
- # Windows XP note: By default, the project files will use the default "toolset"
18
- # for the given MSVC version. For MSVC 2013 and MSVC 2015, the default toolset
19
- # generates binaries that do not run on Windows XP. To target Windows XP,
20
- # select the XP-specific toolset by passing
21
- # -D WINPTY_MSBUILD_TOOLSET={v120_xp,v140_xp} to gyp (v120_xp == MSVC 2013,
22
- # v140_xp == MSVC 2015). Unfortunately, it isn't possible to have a single
23
- # project file with configurations for both XP and post-XP. This seems to be a
24
- # limitation of the MSVC project file format.
25
- #
26
- # This file is not included by default, because I suspect it would interfere
27
- # with node-gyp, which has a different system for building 32-vs-64-bit
28
- # binaries. It uses a common.gypi, and the project files it generates can only
29
- # build a single architecture, the output paths are not differentiated by
30
- # architecture.
31
-
32
- {
33
- 'variables': {
34
- 'WINPTY_MSBUILD_TOOLSET%': '',
35
- },
36
- 'target_defaults': {
37
- 'default_configuration': 'Release_Win32',
38
- 'configurations': {
39
- 'Release_Win32': {
40
- 'msvs_configuration_platform': 'Win32',
41
- },
42
- 'Release_x64': {
43
- 'msvs_configuration_platform': 'x64',
44
- },
45
- },
46
- 'msvs_configuration_attributes': {
47
- 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)\\$(Platform)',
48
- 'IntermediateDirectory': '$(ConfigurationName)\\$(Platform)\\obj\\$(ProjectName)',
49
- },
50
- 'msvs_settings': {
51
- 'VCLinkerTool': {
52
- 'SubSystem': '1', # /SUBSYSTEM:CONSOLE
53
- },
54
- 'VCCLCompilerTool': {
55
- 'RuntimeLibrary': '0', # MultiThreaded (/MT)
56
- },
57
- },
58
- 'msbuild_toolset' : '<(WINPTY_MSBUILD_TOOLSET)',
59
- }
60
- }
@@ -1,117 +0,0 @@
1
- // Copyright (c) 2015 Ryan Prichard
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to
5
- // deal in the Software without restriction, including without limitation the
6
- // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
- // sell copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
- // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
- // IN THE SOFTWARE.
20
-
21
- #include <cstdio>
22
- #include <cstdlib>
23
-
24
- #include <windows.h>
25
-
26
- #include "../shared/WindowsSecurity.h"
27
- #include "../shared/WinptyException.h"
28
-
29
- const wchar_t *kPipeName = L"\\\\.\\pipe\\DebugServer";
30
-
31
- // A message may not be larger than this size.
32
- const int MSG_SIZE = 4096;
33
-
34
- static void usage(const char *program, int code) {
35
- printf("Usage: %s [--everyone]\n"
36
- "\n"
37
- "Creates the named pipe %ls and reads messages. Prints each\n"
38
- "message to stdout. By default, only the current user can send messages.\n"
39
- "Pass --everyone to let anyone send a message.\n"
40
- "\n"
41
- "Use the WINPTY_DEBUG environment variable to enable winpty trace output.\n"
42
- "(e.g. WINPTY_DEBUG=trace for the default trace output.) Set WINPTYDBG=1\n"
43
- "to enable trace with older winpty versions.\n",
44
- program, kPipeName);
45
- exit(code);
46
- }
47
-
48
- int main(int argc, char *argv[]) {
49
- bool everyone = false;
50
- for (int i = 1; i < argc; ++i) {
51
- std::string arg = argv[i];
52
- if (arg == "--everyone") {
53
- everyone = true;
54
- } else if (arg == "-h" || arg == "--help") {
55
- usage(argv[0], 0);
56
- } else {
57
- usage(argv[0], 1);
58
- }
59
- }
60
-
61
- SecurityDescriptor sd;
62
- PSECURITY_ATTRIBUTES psa = nullptr;
63
- SECURITY_ATTRIBUTES sa = {};
64
- if (everyone) {
65
- try {
66
- sd = createPipeSecurityDescriptorOwnerFullControlEveryoneWrite();
67
- } catch (const WinptyException &e) {
68
- fprintf(stderr,
69
- "error creating security descriptor: %ls\n", e.what());
70
- exit(1);
71
- }
72
- sa.nLength = sizeof(sa);
73
- sa.lpSecurityDescriptor = sd.get();
74
- psa = &sa;
75
- }
76
-
77
- HANDLE serverPipe = CreateNamedPipeW(
78
- kPipeName,
79
- /*dwOpenMode=*/PIPE_ACCESS_DUPLEX | FILE_FLAG_FIRST_PIPE_INSTANCE,
80
- /*dwPipeMode=*/PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE |
81
- rejectRemoteClientsPipeFlag(),
82
- /*nMaxInstances=*/1,
83
- /*nOutBufferSize=*/MSG_SIZE,
84
- /*nInBufferSize=*/MSG_SIZE,
85
- /*nDefaultTimeOut=*/10 * 1000,
86
- psa);
87
-
88
- if (serverPipe == INVALID_HANDLE_VALUE) {
89
- fprintf(stderr, "error: could not create %ls pipe: error %u\n",
90
- kPipeName, static_cast<unsigned>(GetLastError()));
91
- exit(1);
92
- }
93
-
94
- char msgBuffer[MSG_SIZE + 1];
95
-
96
- while (true) {
97
- if (!ConnectNamedPipe(serverPipe, nullptr)) {
98
- fprintf(stderr, "error: ConnectNamedPipe failed\n");
99
- fflush(stderr);
100
- exit(1);
101
- }
102
- DWORD bytesRead = 0;
103
- if (!ReadFile(serverPipe, msgBuffer, MSG_SIZE, &bytesRead, nullptr)) {
104
- fprintf(stderr, "error: ReadFile on pipe failed\n");
105
- fflush(stderr);
106
- DisconnectNamedPipe(serverPipe);
107
- continue;
108
- }
109
- msgBuffer[bytesRead] = '\n';
110
- fwrite(msgBuffer, 1, bytesRead + 1, stdout);
111
- fflush(stdout);
112
-
113
- DWORD bytesWritten = 0;
114
- WriteFile(serverPipe, "OK", 2, &bytesWritten, nullptr);
115
- DisconnectNamedPipe(serverPipe);
116
- }
117
- }
@@ -1,41 +0,0 @@
1
- # Copyright (c) 2015 Ryan Prichard
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the "Software"), to
5
- # deal in the Software without restriction, including without limitation the
6
- # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
- # sell copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in
11
- # all copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
- # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
- # IN THE SOFTWARE.
20
-
21
- ALL_TARGETS += build/winpty-debugserver.exe
22
-
23
- $(eval $(call def_mingw_target,debugserver,))
24
-
25
- DEBUGSERVER_OBJECTS = \
26
- build/debugserver/debugserver/DebugServer.o \
27
- build/debugserver/shared/DebugClient.o \
28
- build/debugserver/shared/OwnedHandle.o \
29
- build/debugserver/shared/StringUtil.o \
30
- build/debugserver/shared/WindowsSecurity.o \
31
- build/debugserver/shared/WindowsVersion.o \
32
- build/debugserver/shared/WinptyAssert.o \
33
- build/debugserver/shared/WinptyException.o
34
-
35
- build/debugserver/shared/WindowsVersion.o : build/gen/GenVersion.h
36
-
37
- build/winpty-debugserver.exe : $(DEBUGSERVER_OBJECTS)
38
- $(info Linking $@)
39
- @$(MINGW_CXX) $(MINGW_LDFLAGS) -o $@ $^
40
-
41
- -include $(DEBUGSERVER_OBJECTS:.o=.d)