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.
- package/README.md +3 -5
- package/binding.gyp +20 -38
- package/lib/windowsPtyAgent.js +32 -95
- package/lib/windowsTerminal.js +1 -1
- package/package.json +6 -5
- package/prebuilds/darwin-arm64/pty.node +0 -0
- package/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/prebuilds/darwin-x64/pty.node +0 -0
- package/prebuilds/darwin-x64/spawn-helper +0 -0
- package/prebuilds/win32-arm64/conpty.node +0 -0
- package/prebuilds/win32-arm64/conpty.pdb +0 -0
- package/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
- package/prebuilds/win32-x64/conpty.node +0 -0
- package/prebuilds/win32-x64/conpty.pdb +0 -0
- package/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
- package/scripts/post-install.js +1 -5
- package/src/win/conpty.cc +1 -2
- package/typings/node-pty.d.ts +9 -8
- package/deps/.editorconfig +0 -2
- package/deps/winpty/.drone.yml +0 -17
- package/deps/winpty/.gitattributes +0 -19
- package/deps/winpty/LICENSE +0 -21
- package/deps/winpty/Makefile +0 -166
- package/deps/winpty/README.md +0 -151
- package/deps/winpty/RELEASES.md +0 -280
- package/deps/winpty/VERSION.txt +0 -1
- package/deps/winpty/configure +0 -167
- package/deps/winpty/misc/BufferResizeTests.cc +0 -90
- package/deps/winpty/misc/ChangeScreenBuffer.cc +0 -53
- package/deps/winpty/misc/ClearConsole.cc +0 -72
- package/deps/winpty/misc/ConinMode.cc +0 -117
- package/deps/winpty/misc/ConinMode.ps1 +0 -116
- package/deps/winpty/misc/ConoutMode.cc +0 -113
- package/deps/winpty/misc/DebugClient.py +0 -42
- package/deps/winpty/misc/DebugServer.py +0 -63
- package/deps/winpty/misc/DumpLines.py +0 -5
- package/deps/winpty/misc/EnableExtendedFlags.txt +0 -46
- package/deps/winpty/misc/Font-Report-June2016/CP437-Consolas.txt +0 -528
- package/deps/winpty/misc/Font-Report-June2016/CP437-Lucida.txt +0 -633
- package/deps/winpty/misc/Font-Report-June2016/CP932.txt +0 -630
- package/deps/winpty/misc/Font-Report-June2016/CP936.txt +0 -630
- package/deps/winpty/misc/Font-Report-June2016/CP949.txt +0 -630
- package/deps/winpty/misc/Font-Report-June2016/CP950.txt +0 -630
- package/deps/winpty/misc/Font-Report-June2016/MinimumWindowWidths.txt +0 -16
- package/deps/winpty/misc/Font-Report-June2016/Results.txt +0 -4
- package/deps/winpty/misc/Font-Report-June2016/Windows10SetFontBugginess.txt +0 -144
- package/deps/winpty/misc/FontSurvey.cc +0 -100
- package/deps/winpty/misc/FormatChar.h +0 -21
- package/deps/winpty/misc/FreezePerfTest.cc +0 -62
- package/deps/winpty/misc/GetCh.cc +0 -20
- package/deps/winpty/misc/GetConsolePos.cc +0 -41
- package/deps/winpty/misc/GetFont.cc +0 -261
- package/deps/winpty/misc/IdentifyConsoleWindow.ps1 +0 -51
- package/deps/winpty/misc/IsNewConsole.cc +0 -87
- package/deps/winpty/misc/MouseInputNotes.txt +0 -90
- package/deps/winpty/misc/MoveConsoleWindow.cc +0 -34
- package/deps/winpty/misc/Notes.txt +0 -219
- package/deps/winpty/misc/OSVersion.cc +0 -27
- package/deps/winpty/misc/ScreenBufferFreezeInactive.cc +0 -101
- package/deps/winpty/misc/ScreenBufferTest.cc +0 -671
- package/deps/winpty/misc/ScreenBufferTest2.cc +0 -151
- package/deps/winpty/misc/SelectAllTest.cc +0 -45
- package/deps/winpty/misc/SetBufferSize.cc +0 -32
- package/deps/winpty/misc/SetCursorPos.cc +0 -10
- package/deps/winpty/misc/SetFont.cc +0 -145
- package/deps/winpty/misc/SetWindowRect.cc +0 -36
- package/deps/winpty/misc/ShowArgv.cc +0 -12
- package/deps/winpty/misc/ShowConsoleInput.cc +0 -40
- package/deps/winpty/misc/Spew.py +0 -5
- package/deps/winpty/misc/TestUtil.cc +0 -172
- package/deps/winpty/misc/UnicodeDoubleWidthTest.cc +0 -102
- package/deps/winpty/misc/UnicodeWideTest1.cc +0 -246
- package/deps/winpty/misc/UnicodeWideTest2.cc +0 -130
- package/deps/winpty/misc/UnixEcho.cc +0 -89
- package/deps/winpty/misc/Utf16Echo.cc +0 -46
- package/deps/winpty/misc/VeryLargeRead.cc +0 -122
- package/deps/winpty/misc/VkEscapeTest.cc +0 -56
- package/deps/winpty/misc/Win10ResizeWhileFrozen.cc +0 -52
- package/deps/winpty/misc/Win10WrapTest1.cc +0 -57
- package/deps/winpty/misc/Win10WrapTest2.cc +0 -30
- package/deps/winpty/misc/Win32Echo1.cc +0 -26
- package/deps/winpty/misc/Win32Echo2.cc +0 -19
- package/deps/winpty/misc/Win32Test1.cc +0 -46
- package/deps/winpty/misc/Win32Test2.cc +0 -70
- package/deps/winpty/misc/Win32Test3.cc +0 -78
- package/deps/winpty/misc/Win32Write1.cc +0 -44
- package/deps/winpty/misc/WindowsBugCrashReader.cc +0 -27
- package/deps/winpty/misc/WriteConsole.cc +0 -106
- package/deps/winpty/misc/build32.sh +0 -9
- package/deps/winpty/misc/build64.sh +0 -9
- package/deps/winpty/misc/color-test.sh +0 -212
- package/deps/winpty/misc/font-notes.txt +0 -300
- package/deps/winpty/misc/winbug-15048.cc +0 -201
- package/deps/winpty/ship/build-pty4j-libpty.bat +0 -36
- package/deps/winpty/ship/common_ship.py +0 -53
- package/deps/winpty/ship/make_msvc_package.py +0 -165
- package/deps/winpty/ship/ship.py +0 -108
- package/deps/winpty/src/agent/Agent.cc +0 -613
- package/deps/winpty/src/agent/Agent.h +0 -103
- package/deps/winpty/src/agent/AgentCreateDesktop.cc +0 -84
- package/deps/winpty/src/agent/AgentCreateDesktop.h +0 -28
- package/deps/winpty/src/agent/ConsoleFont.cc +0 -632
- package/deps/winpty/src/agent/ConsoleFont.h +0 -28
- package/deps/winpty/src/agent/ConsoleInput.cc +0 -852
- package/deps/winpty/src/agent/ConsoleInput.h +0 -109
- package/deps/winpty/src/agent/ConsoleInputReencoding.cc +0 -121
- package/deps/winpty/src/agent/ConsoleInputReencoding.h +0 -36
- package/deps/winpty/src/agent/ConsoleLine.cc +0 -152
- package/deps/winpty/src/agent/ConsoleLine.h +0 -41
- package/deps/winpty/src/agent/Coord.h +0 -87
- package/deps/winpty/src/agent/DebugShowInput.cc +0 -239
- package/deps/winpty/src/agent/DebugShowInput.h +0 -32
- package/deps/winpty/src/agent/DefaultInputMap.cc +0 -422
- package/deps/winpty/src/agent/DefaultInputMap.h +0 -28
- package/deps/winpty/src/agent/DsrSender.h +0 -30
- package/deps/winpty/src/agent/EventLoop.cc +0 -99
- package/deps/winpty/src/agent/EventLoop.h +0 -47
- package/deps/winpty/src/agent/InputMap.cc +0 -246
- package/deps/winpty/src/agent/InputMap.h +0 -114
- package/deps/winpty/src/agent/LargeConsoleRead.cc +0 -71
- package/deps/winpty/src/agent/LargeConsoleRead.h +0 -68
- package/deps/winpty/src/agent/NamedPipe.cc +0 -378
- package/deps/winpty/src/agent/NamedPipe.h +0 -125
- package/deps/winpty/src/agent/Scraper.cc +0 -699
- package/deps/winpty/src/agent/Scraper.h +0 -103
- package/deps/winpty/src/agent/SimplePool.h +0 -75
- package/deps/winpty/src/agent/SmallRect.h +0 -143
- package/deps/winpty/src/agent/Terminal.cc +0 -535
- package/deps/winpty/src/agent/Terminal.h +0 -69
- package/deps/winpty/src/agent/UnicodeEncoding.h +0 -157
- package/deps/winpty/src/agent/UnicodeEncodingTest.cc +0 -189
- package/deps/winpty/src/agent/Win32Console.cc +0 -107
- package/deps/winpty/src/agent/Win32Console.h +0 -67
- package/deps/winpty/src/agent/Win32ConsoleBuffer.cc +0 -193
- package/deps/winpty/src/agent/Win32ConsoleBuffer.h +0 -99
- package/deps/winpty/src/agent/main.cc +0 -114
- package/deps/winpty/src/agent/subdir.mk +0 -61
- package/deps/winpty/src/configurations.gypi +0 -60
- package/deps/winpty/src/debugserver/DebugServer.cc +0 -117
- package/deps/winpty/src/debugserver/subdir.mk +0 -41
- package/deps/winpty/src/include/winpty.h +0 -242
- package/deps/winpty/src/include/winpty_constants.h +0 -131
- package/deps/winpty/src/libwinpty/AgentLocation.cc +0 -75
- package/deps/winpty/src/libwinpty/AgentLocation.h +0 -28
- package/deps/winpty/src/libwinpty/LibWinptyException.h +0 -54
- package/deps/winpty/src/libwinpty/WinptyInternal.h +0 -72
- package/deps/winpty/src/libwinpty/subdir.mk +0 -46
- package/deps/winpty/src/libwinpty/winpty.cc +0 -970
- package/deps/winpty/src/shared/AgentMsg.h +0 -38
- package/deps/winpty/src/shared/BackgroundDesktop.cc +0 -122
- package/deps/winpty/src/shared/BackgroundDesktop.h +0 -73
- package/deps/winpty/src/shared/Buffer.cc +0 -103
- package/deps/winpty/src/shared/Buffer.h +0 -102
- package/deps/winpty/src/shared/DebugClient.cc +0 -187
- package/deps/winpty/src/shared/DebugClient.h +0 -38
- package/deps/winpty/src/shared/GenRandom.cc +0 -138
- package/deps/winpty/src/shared/GenRandom.h +0 -55
- package/deps/winpty/src/shared/GetCommitHash.bat +0 -13
- package/deps/winpty/src/shared/Mutex.h +0 -54
- package/deps/winpty/src/shared/OsModule.h +0 -63
- package/deps/winpty/src/shared/OwnedHandle.cc +0 -36
- package/deps/winpty/src/shared/OwnedHandle.h +0 -45
- package/deps/winpty/src/shared/PrecompiledHeader.h +0 -43
- package/deps/winpty/src/shared/StringBuilder.h +0 -227
- package/deps/winpty/src/shared/StringBuilderTest.cc +0 -114
- package/deps/winpty/src/shared/StringUtil.cc +0 -55
- package/deps/winpty/src/shared/StringUtil.h +0 -80
- package/deps/winpty/src/shared/TimeMeasurement.h +0 -63
- package/deps/winpty/src/shared/UnixCtrlChars.h +0 -45
- package/deps/winpty/src/shared/UpdateGenVersion.bat +0 -20
- package/deps/winpty/src/shared/WindowsSecurity.cc +0 -460
- package/deps/winpty/src/shared/WindowsSecurity.h +0 -104
- package/deps/winpty/src/shared/WindowsVersion.cc +0 -252
- package/deps/winpty/src/shared/WindowsVersion.h +0 -29
- package/deps/winpty/src/shared/WinptyAssert.cc +0 -55
- package/deps/winpty/src/shared/WinptyAssert.h +0 -64
- package/deps/winpty/src/shared/WinptyException.cc +0 -57
- package/deps/winpty/src/shared/WinptyException.h +0 -43
- package/deps/winpty/src/shared/WinptyVersion.cc +0 -42
- package/deps/winpty/src/shared/WinptyVersion.h +0 -27
- package/deps/winpty/src/shared/winpty_snprintf.h +0 -99
- package/deps/winpty/src/subdir.mk +0 -5
- package/deps/winpty/src/tests/subdir.mk +0 -28
- package/deps/winpty/src/tests/trivial_test.cc +0 -158
- package/deps/winpty/src/unix-adapter/InputHandler.cc +0 -114
- package/deps/winpty/src/unix-adapter/InputHandler.h +0 -56
- package/deps/winpty/src/unix-adapter/OutputHandler.cc +0 -80
- package/deps/winpty/src/unix-adapter/OutputHandler.h +0 -53
- package/deps/winpty/src/unix-adapter/Util.cc +0 -86
- package/deps/winpty/src/unix-adapter/Util.h +0 -31
- package/deps/winpty/src/unix-adapter/WakeupFd.cc +0 -70
- package/deps/winpty/src/unix-adapter/WakeupFd.h +0 -42
- package/deps/winpty/src/unix-adapter/main.cc +0 -729
- package/deps/winpty/src/unix-adapter/subdir.mk +0 -41
- package/deps/winpty/src/winpty.gyp +0 -236
- package/deps/winpty/vcbuild.bat +0 -83
- package/lib/conpty_console_list_agent.js.map +0 -1
- package/lib/eventEmitter2.js.map +0 -1
- package/lib/eventEmitter2.test.js +0 -30
- package/lib/eventEmitter2.test.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/interfaces.js.map +0 -1
- package/lib/shared/conout.js.map +0 -1
- package/lib/terminal.js.map +0 -1
- package/lib/terminal.test.js +0 -139
- package/lib/terminal.test.js.map +0 -1
- package/lib/testUtils.test.js +0 -28
- package/lib/testUtils.test.js.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/unixTerminal.js.map +0 -1
- package/lib/unixTerminal.test.js +0 -381
- package/lib/unixTerminal.test.js.map +0 -1
- package/lib/utils.js.map +0 -1
- package/lib/windowsConoutConnection.js.map +0 -1
- package/lib/windowsPtyAgent.js.map +0 -1
- package/lib/windowsPtyAgent.test.js +0 -90
- package/lib/windowsPtyAgent.test.js.map +0 -1
- package/lib/windowsTerminal.js.map +0 -1
- package/lib/windowsTerminal.test.js +0 -219
- package/lib/windowsTerminal.test.js.map +0 -1
- package/lib/worker/conoutSocketWorker.js.map +0 -1
- package/prebuilds/win32-arm64/pty.node +0 -0
- package/prebuilds/win32-arm64/pty.pdb +0 -0
- package/prebuilds/win32-arm64/winpty-agent.exe +0 -0
- package/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
- package/prebuilds/win32-arm64/winpty.dll +0 -0
- package/prebuilds/win32-arm64/winpty.pdb +0 -0
- package/prebuilds/win32-x64/pty.node +0 -0
- package/prebuilds/win32-x64/pty.pdb +0 -0
- package/prebuilds/win32-x64/winpty-agent.exe +0 -0
- package/prebuilds/win32-x64/winpty-agent.pdb +0 -0
- package/prebuilds/win32-x64/winpty.dll +0 -0
- package/prebuilds/win32-x64/winpty.pdb +0 -0
- package/scripts/gen-compile-commands.js +0 -8
- package/scripts/increment-version.js +0 -54
- package/scripts/linux/checksums.txt +0 -2
- package/scripts/linux/install-sysroot.js +0 -158
- package/scripts/linux/verify-glibc-requirements.sh +0 -36
- package/src/conpty_console_list_agent.ts +0 -15
- package/src/eventEmitter2.test.ts +0 -30
- package/src/eventEmitter2.ts +0 -48
- package/src/index.ts +0 -52
- package/src/interfaces.ts +0 -130
- package/src/native.d.ts +0 -54
- package/src/shared/conout.ts +0 -15
- package/src/terminal.test.ts +0 -119
- package/src/terminal.ts +0 -211
- package/src/testUtils.test.ts +0 -23
- package/src/tsconfig.json +0 -22
- package/src/types.ts +0 -15
- package/src/unixTerminal.test.ts +0 -398
- package/src/unixTerminal.ts +0 -388
- package/src/utils.ts +0 -29
- package/src/win/winpty.cc +0 -333
- package/src/windowsConoutConnection.ts +0 -82
- package/src/windowsPtyAgent.test.ts +0 -94
- package/src/windowsPtyAgent.ts +0 -321
- package/src/windowsTerminal.test.ts +0 -229
- package/src/windowsTerminal.ts +0 -203
- package/src/worker/conoutSocketWorker.ts +0 -22
package/README.md
CHANGED
|
@@ -9,7 +9,9 @@ This is useful for:
|
|
|
9
9
|
- Writing a terminal emulator (eg. via [xterm.js](https://github.com/sourcelair/xterm.js)).
|
|
10
10
|
- Getting certain programs to *think* you're a terminal, such as when you need a program to send you control sequences.
|
|
11
11
|
|
|
12
|
-
`node-pty` supports Linux, macOS and Windows. Windows support is possible by utilizing the [Windows conpty API](https://blogs.msdn.microsoft.com/commandline/2018/08/02/windows-command-line-introducing-the-windows-pseudo-console-conpty/) on Windows 1809
|
|
12
|
+
`node-pty` supports Linux, macOS and Windows. Windows support is possible by utilizing the [Windows conpty API](https://blogs.msdn.microsoft.com/commandline/2018/08/02/windows-command-line-introducing-the-windows-pseudo-console-conpty/) on Windows 1809+.
|
|
13
|
+
|
|
14
|
+
> **Note:** Support for the `winpty` library has been removed. Windows 10 version 1809 (build 18309) or later is now required.
|
|
13
15
|
|
|
14
16
|
## API
|
|
15
17
|
|
|
@@ -150,10 +152,6 @@ By default `PAUSE` and `RESUME` are XON/XOFF control codes (as shown above). To
|
|
|
150
152
|
|
|
151
153
|
This happens when PowerShell is launched with no `SystemRoot` environment variable present.
|
|
152
154
|
|
|
153
|
-
### ConnectNamedPipe failed: Windows error 232
|
|
154
|
-
|
|
155
|
-
This error can occur due to anti-virus software intercepting winpty from creating a pty. To workaround this you can exclude this file from your anti-virus scanning `node-pty\build\Release\winpty-agent.exe`
|
|
156
|
-
|
|
157
155
|
## pty.js
|
|
158
156
|
|
|
159
157
|
This project is forked from [chjj/pty.js](https://github.com/chjj/pty.js) with the primary goals being to provide better support for later Node.js versions and Windows.
|
package/binding.gyp
CHANGED
|
@@ -9,24 +9,26 @@
|
|
|
9
9
|
'SpectreMitigation': 'Spectre'
|
|
10
10
|
},
|
|
11
11
|
'msvs_settings': {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
'VCLinkerTool': {
|
|
24
|
-
'AdditionalOptions': [
|
|
25
|
-
'/DYNAMICBASE',
|
|
26
|
-
'/guard:cf'
|
|
27
|
-
]
|
|
28
|
-
}
|
|
12
|
+
'VCCLCompilerTool': {
|
|
13
|
+
'AdditionalOptions': [
|
|
14
|
+
'/guard:cf',
|
|
15
|
+
'/sdl',
|
|
16
|
+
'/W3',
|
|
17
|
+
'/we4146',
|
|
18
|
+
'/we4244',
|
|
19
|
+
'/we4267',
|
|
20
|
+
'/ZH:SHA_256'
|
|
21
|
+
]
|
|
29
22
|
},
|
|
23
|
+
'VCLinkerTool': {
|
|
24
|
+
'AdditionalOptions': [
|
|
25
|
+
'/DYNAMICBASE',
|
|
26
|
+
'/guard:cf'
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
}, {
|
|
31
|
+
'cflags': ['-O2', '-fstack-protector-strong'],
|
|
30
32
|
}],
|
|
31
33
|
],
|
|
32
34
|
},
|
|
@@ -48,26 +50,6 @@
|
|
|
48
50
|
'sources' : [
|
|
49
51
|
'src/win/conpty_console_list.cc'
|
|
50
52
|
],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
'target_name': 'pty',
|
|
54
|
-
'include_dirs' : [
|
|
55
|
-
'<!(node -p "require(\'node-addon-api\').include_dir")',
|
|
56
|
-
'deps/winpty/src/include',
|
|
57
|
-
],
|
|
58
|
-
# Disabled due to winpty
|
|
59
|
-
'msvs_disabled_warnings': [ 4506, 4530 ],
|
|
60
|
-
'dependencies' : [
|
|
61
|
-
'deps/winpty/src/winpty.gyp:winpty-agent',
|
|
62
|
-
'deps/winpty/src/winpty.gyp:winpty',
|
|
63
|
-
],
|
|
64
|
-
'sources' : [
|
|
65
|
-
'src/win/winpty.cc',
|
|
66
|
-
'src/win/path_util.cc'
|
|
67
|
-
],
|
|
68
|
-
'libraries': [
|
|
69
|
-
'-lshlwapi'
|
|
70
|
-
],
|
|
71
53
|
}
|
|
72
54
|
]
|
|
73
55
|
}, { # OS!="win"
|
|
@@ -80,7 +62,7 @@
|
|
|
80
62
|
'libraries': [
|
|
81
63
|
'-lutil'
|
|
82
64
|
],
|
|
83
|
-
'cflags': ['-Wall'
|
|
65
|
+
'cflags': ['-Wall'],
|
|
84
66
|
'ldflags': [],
|
|
85
67
|
'conditions': [
|
|
86
68
|
# http://www.gnu.org/software/gnulib/manual/html_node/forkpty.html
|
package/lib/windowsPtyAgent.js
CHANGED
|
@@ -7,14 +7,12 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.argsToCommandLine = exports.WindowsPtyAgent = void 0;
|
|
9
9
|
var fs = require("fs");
|
|
10
|
-
var os = require("os");
|
|
11
10
|
var path = require("path");
|
|
12
11
|
var child_process_1 = require("child_process");
|
|
13
12
|
var net_1 = require("net");
|
|
14
13
|
var windowsConoutConnection_1 = require("./windowsConoutConnection");
|
|
15
14
|
var utils_1 = require("./utils");
|
|
16
15
|
var conptyNative;
|
|
17
|
-
var winptyNative;
|
|
18
16
|
/**
|
|
19
17
|
* The amount of time to wait for additional data after the conpty shell process has exited before
|
|
20
18
|
* shutting down the socket. The timer will be reset if a new data event comes in after the timer
|
|
@@ -22,46 +20,25 @@ var winptyNative;
|
|
|
22
20
|
*/
|
|
23
21
|
var FLUSH_DATA_INTERVAL = 1000;
|
|
24
22
|
/**
|
|
25
|
-
* This agent sits between the WindowsTerminal class and provides
|
|
26
|
-
* and winpty.
|
|
23
|
+
* This agent sits between the WindowsTerminal class and provides an interface for conpty.
|
|
27
24
|
*/
|
|
28
25
|
var WindowsPtyAgent = /** @class */ (function () {
|
|
29
|
-
function WindowsPtyAgent(file, args, env, cwd, cols, rows, debug,
|
|
26
|
+
function WindowsPtyAgent(file, args, env, cwd, cols, rows, debug, _useConptyDll, conptyInheritCursor) {
|
|
30
27
|
var _this = this;
|
|
31
28
|
if (_useConptyDll === void 0) { _useConptyDll = false; }
|
|
32
29
|
if (conptyInheritCursor === void 0) { conptyInheritCursor = false; }
|
|
33
|
-
this._useConpty = _useConpty;
|
|
34
30
|
this._useConptyDll = _useConptyDll;
|
|
35
|
-
this._pid = 0;
|
|
36
31
|
this._innerPid = 0;
|
|
37
|
-
if (
|
|
38
|
-
|
|
32
|
+
if (!conptyNative) {
|
|
33
|
+
conptyNative = utils_1.loadNativeModule('conpty').module;
|
|
39
34
|
}
|
|
40
|
-
|
|
41
|
-
if (!conptyNative) {
|
|
42
|
-
conptyNative = utils_1.loadNativeModule('conpty').module;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
if (!winptyNative) {
|
|
47
|
-
winptyNative = utils_1.loadNativeModule('pty').module;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
this._ptyNative = this._useConpty ? conptyNative : winptyNative;
|
|
35
|
+
this._ptyNative = conptyNative;
|
|
51
36
|
// Sanitize input variable.
|
|
52
37
|
cwd = path.resolve(cwd);
|
|
53
38
|
// Compose command line
|
|
54
39
|
var commandLine = argsToCommandLine(file, args);
|
|
55
40
|
// Open pty session.
|
|
56
|
-
var term;
|
|
57
|
-
if (this._useConpty) {
|
|
58
|
-
term = this._ptyNative.startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor, this._useConptyDll);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
term = this._ptyNative.startProcess(file, commandLine, env, cwd, cols, rows, debug);
|
|
62
|
-
this._pid = term.pid;
|
|
63
|
-
this._innerPid = term.innerPid;
|
|
64
|
-
}
|
|
41
|
+
var term = conptyNative.startProcess(file, cols, rows, debug, this._generatePipeName(), conptyInheritCursor, this._useConptyDll);
|
|
65
42
|
// Not available on windows.
|
|
66
43
|
this._fd = term.fd;
|
|
67
44
|
// Generated incremental number that has no real purpose besides using it
|
|
@@ -85,10 +62,8 @@ var WindowsPtyAgent = /** @class */ (function () {
|
|
|
85
62
|
writable: true
|
|
86
63
|
});
|
|
87
64
|
this._inSocket.setEncoding('utf8');
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
this._innerPid = connect.pid;
|
|
91
|
-
}
|
|
65
|
+
var connect = conptyNative.connect(this._pty, commandLine, cwd, env, this._useConptyDll, function (c) { return _this._$onProcessExit(c); });
|
|
66
|
+
this._innerPid = connect.pid;
|
|
92
67
|
}
|
|
93
68
|
Object.defineProperty(WindowsPtyAgent.prototype, "inSocket", {
|
|
94
69
|
get: function () { return this._inSocket; },
|
|
@@ -116,65 +91,39 @@ var WindowsPtyAgent = /** @class */ (function () {
|
|
|
116
91
|
configurable: true
|
|
117
92
|
});
|
|
118
93
|
WindowsPtyAgent.prototype.resize = function (cols, rows) {
|
|
119
|
-
if (this.
|
|
120
|
-
|
|
121
|
-
throw new Error('Cannot resize a pty that has already exited');
|
|
122
|
-
}
|
|
123
|
-
this._ptyNative.resize(this._pty, cols, rows, this._useConptyDll);
|
|
124
|
-
return;
|
|
94
|
+
if (this._exitCode !== undefined) {
|
|
95
|
+
throw new Error('Cannot resize a pty that has already exited');
|
|
125
96
|
}
|
|
126
|
-
this._ptyNative.resize(this.
|
|
97
|
+
this._ptyNative.resize(this._pty, cols, rows, this._useConptyDll);
|
|
127
98
|
};
|
|
128
99
|
WindowsPtyAgent.prototype.clear = function () {
|
|
129
|
-
|
|
130
|
-
this._ptyNative.clear(this._pty, this._useConptyDll);
|
|
131
|
-
}
|
|
100
|
+
this._ptyNative.clear(this._pty, this._useConptyDll);
|
|
132
101
|
};
|
|
133
102
|
WindowsPtyAgent.prototype.kill = function () {
|
|
134
103
|
var _this = this;
|
|
135
104
|
// Tell the agent to kill the pty, this releases handles to the process
|
|
136
|
-
if (this.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
this._ptyNative.kill(this._pty, this._useConptyDll);
|
|
151
|
-
this._conoutSocketWorker.dispose();
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
// Close the input write handle to signal the end of session.
|
|
155
|
-
this._inSocket.destroy();
|
|
156
|
-
this._ptyNative.kill(this._pty, this._useConptyDll);
|
|
157
|
-
this._outSocket.on('data', function () {
|
|
158
|
-
_this._conoutSocketWorker.dispose();
|
|
105
|
+
if (!this._useConptyDll) {
|
|
106
|
+
this._inSocket.readable = false;
|
|
107
|
+
this._outSocket.readable = false;
|
|
108
|
+
this._getConsoleProcessList().then(function (consoleProcessList) {
|
|
109
|
+
consoleProcessList.forEach(function (pid) {
|
|
110
|
+
try {
|
|
111
|
+
process.kill(pid);
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
// Ignore if process cannot be found (kill ESRCH error)
|
|
115
|
+
}
|
|
159
116
|
});
|
|
160
|
-
}
|
|
117
|
+
});
|
|
118
|
+
this._ptyNative.kill(this._pty, this._useConptyDll);
|
|
119
|
+
this._conoutSocketWorker.dispose();
|
|
161
120
|
}
|
|
162
121
|
else {
|
|
163
|
-
//
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
// Microsoft/vscode#26807).
|
|
169
|
-
var processList = this._ptyNative.getProcessList(this._pid);
|
|
170
|
-
this._ptyNative.kill(this._pid, this._innerPid);
|
|
171
|
-
processList.forEach(function (pid) {
|
|
172
|
-
try {
|
|
173
|
-
process.kill(pid);
|
|
174
|
-
}
|
|
175
|
-
catch (e) {
|
|
176
|
-
// Ignore if process cannot be found (kill ESRCH error)
|
|
177
|
-
}
|
|
122
|
+
// Close the input write handle to signal the end of session.
|
|
123
|
+
this._inSocket.destroy();
|
|
124
|
+
this._ptyNative.kill(this._pty, this._useConptyDll);
|
|
125
|
+
this._outSocket.on('data', function () {
|
|
126
|
+
_this._conoutSocketWorker.dispose();
|
|
178
127
|
});
|
|
179
128
|
}
|
|
180
129
|
};
|
|
@@ -195,23 +144,11 @@ var WindowsPtyAgent = /** @class */ (function () {
|
|
|
195
144
|
};
|
|
196
145
|
Object.defineProperty(WindowsPtyAgent.prototype, "exitCode", {
|
|
197
146
|
get: function () {
|
|
198
|
-
|
|
199
|
-
return this._exitCode;
|
|
200
|
-
}
|
|
201
|
-
var winptyExitCode = this._ptyNative.getExitCode(this._innerPid);
|
|
202
|
-
return winptyExitCode === -1 ? undefined : winptyExitCode;
|
|
147
|
+
return this._exitCode;
|
|
203
148
|
},
|
|
204
149
|
enumerable: false,
|
|
205
150
|
configurable: true
|
|
206
151
|
});
|
|
207
|
-
WindowsPtyAgent.prototype._getWindowsBuildNumber = function () {
|
|
208
|
-
var osVersion = (/(\d+)\.(\d+)\.(\d+)/g).exec(os.release());
|
|
209
|
-
var buildNumber = 0;
|
|
210
|
-
if (osVersion && osVersion.length === 4) {
|
|
211
|
-
buildNumber = parseInt(osVersion[3]);
|
|
212
|
-
}
|
|
213
|
-
return buildNumber;
|
|
214
|
-
};
|
|
215
152
|
WindowsPtyAgent.prototype._generatePipeName = function () {
|
|
216
153
|
return "conpty-" + Math.random() * 10000000;
|
|
217
154
|
};
|
package/lib/windowsTerminal.js
CHANGED
|
@@ -48,7 +48,7 @@ var WindowsTerminal = /** @class */ (function (_super) {
|
|
|
48
48
|
// Functions that need to run after `ready` event is emitted.
|
|
49
49
|
_this._deferreds = [];
|
|
50
50
|
// Create new termal.
|
|
51
|
-
_this._agent = new windowsPtyAgent_1.WindowsPtyAgent(file, args, parsedEnv, cwd, _this._cols, _this._rows, false, opt.
|
|
51
|
+
_this._agent = new windowsPtyAgent_1.WindowsPtyAgent(file, args, parsedEnv, cwd, _this._cols, _this._rows, false, opt.useConptyDll, opt.conptyInheritCursor);
|
|
52
52
|
_this._socket = _this._agent.outSocket;
|
|
53
53
|
// Not available until `ready` event emitted.
|
|
54
54
|
_this._pid = _this._agent.innerPid;
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Microsoft Corporation"
|
|
6
6
|
},
|
|
7
|
-
"version": "1.2.0-beta.
|
|
7
|
+
"version": "1.2.0-beta.8",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"main": "./lib/index.js",
|
|
10
10
|
"types": "./typings/node-pty.d.ts",
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
16
|
"binding.gyp",
|
|
17
|
-
"lib
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
17
|
+
"lib/**/*.js",
|
|
18
|
+
"!lib/**/*.test.js",
|
|
19
|
+
"scripts/post-install.js",
|
|
20
|
+
"scripts/prebuild.js",
|
|
21
|
+
"src/**/*.{cc,h}",
|
|
21
22
|
"prebuilds/",
|
|
22
23
|
"third_party/",
|
|
23
24
|
"typings/"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/scripts/post-install.js
CHANGED
|
@@ -12,11 +12,7 @@ const BUILD_FILES = [
|
|
|
12
12
|
path.join(RELEASE_DIR, 'conpty_console_list.pdb'),
|
|
13
13
|
path.join(RELEASE_DIR, 'pty.node'),
|
|
14
14
|
path.join(RELEASE_DIR, 'pty.pdb'),
|
|
15
|
-
path.join(RELEASE_DIR, 'spawn-helper')
|
|
16
|
-
path.join(RELEASE_DIR, 'winpty-agent.exe'),
|
|
17
|
-
path.join(RELEASE_DIR, 'winpty-agent.pdb'),
|
|
18
|
-
path.join(RELEASE_DIR, 'winpty.dll'),
|
|
19
|
-
path.join(RELEASE_DIR, 'winpty.pdb')
|
|
15
|
+
path.join(RELEASE_DIR, 'spawn-helper')
|
|
20
16
|
];
|
|
21
17
|
const CONPTY_DIR = path.join(__dirname, '../third_party/conpty');
|
|
22
18
|
const CONPTY_SUPPORTED_ARCH = ['x64', 'arm64'];
|
package/src/win/conpty.cc
CHANGED
|
@@ -230,7 +230,6 @@ HRESULT CreateNamedPipesAndPseudoConsole(const Napi::CallbackInfo& info,
|
|
|
230
230
|
{
|
|
231
231
|
// Failed to find CreatePseudoConsole in kernel32. This is likely because
|
|
232
232
|
// the user is not running a build of Windows that supports that API.
|
|
233
|
-
// We should fall back to winpty in this case.
|
|
234
233
|
return HRESULT_FROM_WIN32(GetLastError());
|
|
235
234
|
}
|
|
236
235
|
} else {
|
|
@@ -238,7 +237,7 @@ HRESULT CreateNamedPipesAndPseudoConsole(const Napi::CallbackInfo& info,
|
|
|
238
237
|
}
|
|
239
238
|
|
|
240
239
|
// Failed to find kernel32. This is realy unlikely - honestly no idea how
|
|
241
|
-
// this is even possible to hit.
|
|
240
|
+
// this is even possible to hit.
|
|
242
241
|
return HRESULT_FROM_WIN32(GetLastError());
|
|
243
242
|
}
|
|
244
243
|
|
package/typings/node-pty.d.ts
CHANGED
|
@@ -86,13 +86,14 @@ declare module 'node-pty' {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
export interface IWindowsPtyForkOptions extends IBasePtyForkOptions {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Whether to use the ConPTY system on Windows. When this is not set, ConPTY will be used when
|
|
91
|
+
* the Windows build number is >= 18309 (instead of winpty). Note that ConPTY is available from
|
|
92
|
+
* build 17134 but is too unstable to enable by default.
|
|
93
|
+
*
|
|
94
|
+
* @deprecated This option is ignored and will be removed in a future version.
|
|
95
|
+
* https://github.com/microsoft/node-pty/issues/871
|
|
96
|
+
*/
|
|
96
97
|
useConpty?: boolean;
|
|
97
98
|
|
|
98
99
|
/**
|
|
@@ -111,7 +112,7 @@ declare module 'node-pty' {
|
|
|
111
112
|
}
|
|
112
113
|
|
|
113
114
|
/**
|
|
114
|
-
* An interface representing a pseudoterminal
|
|
115
|
+
* An interface representing a pseudoterminal.
|
|
115
116
|
*/
|
|
116
117
|
export interface IPty {
|
|
117
118
|
/**
|
package/deps/.editorconfig
DELETED
package/deps/winpty/.drone.yml
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Build configure for https://www.tea-ci.org (fork of Drone CI with Msys2 support)
|
|
2
|
-
build:
|
|
3
|
-
image: teaci/msys$$arch
|
|
4
|
-
pull: true
|
|
5
|
-
shell: msys$$arch
|
|
6
|
-
commands:
|
|
7
|
-
- pacman -S --needed --noconfirm --noprogressbar mingw-w64-cross-gcc mingw-w64-cross-crt-git
|
|
8
|
-
- ./configure
|
|
9
|
-
- make
|
|
10
|
-
- make tests
|
|
11
|
-
- build/trivial_test.exe
|
|
12
|
-
- mintty --log - --exec build/winpty.exe cmd /c ver | grep Windows
|
|
13
|
-
|
|
14
|
-
matrix:
|
|
15
|
-
arch:
|
|
16
|
-
- 64
|
|
17
|
-
- 32
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
* text=auto
|
|
2
|
-
*.bat text eol=crlf
|
|
3
|
-
*.c text
|
|
4
|
-
*.cc text
|
|
5
|
-
*.gyp text
|
|
6
|
-
*.gypi text
|
|
7
|
-
*.h text
|
|
8
|
-
*.ps1 text eol=crlf
|
|
9
|
-
*.rst text
|
|
10
|
-
*.sh text
|
|
11
|
-
*.txt text
|
|
12
|
-
.gitignore text
|
|
13
|
-
.gitattributes text
|
|
14
|
-
Makefile text
|
|
15
|
-
configure text
|
|
16
|
-
|
|
17
|
-
*.sh eol=lf
|
|
18
|
-
configure eol=lf
|
|
19
|
-
VERSION.txt eol=lf
|
package/deps/winpty/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2011-2016 Ryan Prichard
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to
|
|
7
|
-
deal in the Software without restriction, including without limitation the
|
|
8
|
-
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
9
|
-
sell copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
20
|
-
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
21
|
-
IN THE SOFTWARE.
|
package/deps/winpty/Makefile
DELETED
|
@@ -1,166 +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
|
-
# Use make -n to see the actual command-lines make would run.
|
|
22
|
-
|
|
23
|
-
# The default "make install" prefix is /usr/local. Pass PREFIX=<path> on the
|
|
24
|
-
# command-line to override the default.
|
|
25
|
-
|
|
26
|
-
.SECONDEXPANSION :
|
|
27
|
-
|
|
28
|
-
.PHONY : default
|
|
29
|
-
default : all
|
|
30
|
-
|
|
31
|
-
PREFIX := /usr/local
|
|
32
|
-
UNIX_ADAPTER_EXE := winpty.exe
|
|
33
|
-
MINGW_ENABLE_CXX11_FLAG := -std=c++11
|
|
34
|
-
USE_PCH := 1
|
|
35
|
-
|
|
36
|
-
COMMON_CXXFLAGS :=
|
|
37
|
-
UNIX_CXXFLAGS :=
|
|
38
|
-
MINGW_CXXFLAGS :=
|
|
39
|
-
MINGW_LDFLAGS :=
|
|
40
|
-
UNIX_LDFLAGS :=
|
|
41
|
-
|
|
42
|
-
# Include config.mk but complain if it hasn't been created yet.
|
|
43
|
-
ifeq "$(wildcard config.mk)" ""
|
|
44
|
-
$(error config.mk does not exist. Please run ./configure)
|
|
45
|
-
endif
|
|
46
|
-
include config.mk
|
|
47
|
-
|
|
48
|
-
COMMON_CXXFLAGS += \
|
|
49
|
-
-MMD -Wall \
|
|
50
|
-
-DUNICODE \
|
|
51
|
-
-D_UNICODE \
|
|
52
|
-
-D_WIN32_WINNT=0x0501 \
|
|
53
|
-
-Ibuild/gen
|
|
54
|
-
|
|
55
|
-
UNIX_CXXFLAGS += \
|
|
56
|
-
$(COMMON_CXXFLAGS)
|
|
57
|
-
|
|
58
|
-
MINGW_CXXFLAGS += \
|
|
59
|
-
$(COMMON_CXXFLAGS) \
|
|
60
|
-
-O2 \
|
|
61
|
-
$(MINGW_ENABLE_CXX11_FLAG)
|
|
62
|
-
|
|
63
|
-
MINGW_LDFLAGS += -static -static-libgcc -static-libstdc++
|
|
64
|
-
UNIX_LDFLAGS += $(UNIX_LDFLAGS_STATIC)
|
|
65
|
-
|
|
66
|
-
ifeq "$(USE_PCH)" "1"
|
|
67
|
-
MINGW_CXXFLAGS += -include build/mingw/PrecompiledHeader.h
|
|
68
|
-
PCH_DEP := build/mingw/PrecompiledHeader.h.gch
|
|
69
|
-
else
|
|
70
|
-
PCH_DEP :=
|
|
71
|
-
endif
|
|
72
|
-
|
|
73
|
-
build/gen/GenVersion.h : VERSION.txt $(COMMIT_HASH_DEP) | $$(@D)/.mkdir
|
|
74
|
-
$(info Updating build/gen/GenVersion.h)
|
|
75
|
-
@echo "const char GenVersion_Version[] = \"$(shell cat VERSION.txt | tr -d '\r\n')\";" > build/gen/GenVersion.h
|
|
76
|
-
@echo "const char GenVersion_Commit[] = \"$(COMMIT_HASH)\";" >> build/gen/GenVersion.h
|
|
77
|
-
|
|
78
|
-
build/mingw/PrecompiledHeader.h : src/shared/PrecompiledHeader.h | $$(@D)/.mkdir
|
|
79
|
-
$(info Copying $< to $@)
|
|
80
|
-
@cp $< $@
|
|
81
|
-
|
|
82
|
-
build/mingw/PrecompiledHeader.h.gch : build/mingw/PrecompiledHeader.h | $$(@D)/.mkdir
|
|
83
|
-
$(info Compiling $<)
|
|
84
|
-
@$(MINGW_CXX) $(MINGW_CXXFLAGS) -c -o $@ $<
|
|
85
|
-
|
|
86
|
-
-include build/mingw/PrecompiledHeader.h.d
|
|
87
|
-
|
|
88
|
-
define def_unix_target
|
|
89
|
-
build/$1/%.o : src/%.cc | $$$$(@D)/.mkdir
|
|
90
|
-
$$(info Compiling $$<)
|
|
91
|
-
@$$(UNIX_CXX) $$(UNIX_CXXFLAGS) $2 -I src/include -c -o $$@ $$<
|
|
92
|
-
endef
|
|
93
|
-
|
|
94
|
-
define def_mingw_target
|
|
95
|
-
build/$1/%.o : src/%.cc $$(PCH_DEP) | $$$$(@D)/.mkdir
|
|
96
|
-
$$(info Compiling $$<)
|
|
97
|
-
@$$(MINGW_CXX) $$(MINGW_CXXFLAGS) $2 -I src/include -c -o $$@ $$<
|
|
98
|
-
endef
|
|
99
|
-
|
|
100
|
-
include src/subdir.mk
|
|
101
|
-
|
|
102
|
-
.PHONY : all
|
|
103
|
-
all : $(ALL_TARGETS)
|
|
104
|
-
|
|
105
|
-
.PHONY : tests
|
|
106
|
-
tests : $(TEST_PROGRAMS)
|
|
107
|
-
|
|
108
|
-
.PHONY : install-bin
|
|
109
|
-
install-bin : all
|
|
110
|
-
mkdir -p $(PREFIX)/bin
|
|
111
|
-
install -m 755 -p -s build/$(UNIX_ADAPTER_EXE) $(PREFIX)/bin
|
|
112
|
-
install -m 755 -p -s build/winpty.dll $(PREFIX)/bin
|
|
113
|
-
install -m 755 -p -s build/winpty-agent.exe $(PREFIX)/bin
|
|
114
|
-
|
|
115
|
-
.PHONY : install-debugserver
|
|
116
|
-
install-debugserver : all
|
|
117
|
-
mkdir -p $(PREFIX)/bin
|
|
118
|
-
install -m 755 -p -s build/winpty-debugserver.exe $(PREFIX)/bin
|
|
119
|
-
|
|
120
|
-
.PHONY : install-lib
|
|
121
|
-
install-lib : all
|
|
122
|
-
mkdir -p $(PREFIX)/lib
|
|
123
|
-
install -m 644 -p build/winpty.lib $(PREFIX)/lib
|
|
124
|
-
|
|
125
|
-
.PHONY : install-doc
|
|
126
|
-
install-doc :
|
|
127
|
-
mkdir -p $(PREFIX)/share/doc/winpty
|
|
128
|
-
install -m 644 -p LICENSE $(PREFIX)/share/doc/winpty
|
|
129
|
-
install -m 644 -p README.md $(PREFIX)/share/doc/winpty
|
|
130
|
-
install -m 644 -p RELEASES.md $(PREFIX)/share/doc/winpty
|
|
131
|
-
|
|
132
|
-
.PHONY : install-include
|
|
133
|
-
install-include :
|
|
134
|
-
mkdir -p $(PREFIX)/include/winpty
|
|
135
|
-
install -m 644 -p src/include/winpty.h $(PREFIX)/include/winpty
|
|
136
|
-
install -m 644 -p src/include/winpty_constants.h $(PREFIX)/include/winpty
|
|
137
|
-
|
|
138
|
-
.PHONY : install
|
|
139
|
-
install : \
|
|
140
|
-
install-bin \
|
|
141
|
-
install-debugserver \
|
|
142
|
-
install-lib \
|
|
143
|
-
install-doc \
|
|
144
|
-
install-include
|
|
145
|
-
|
|
146
|
-
.PHONY : clean
|
|
147
|
-
clean :
|
|
148
|
-
rm -fr build
|
|
149
|
-
|
|
150
|
-
.PHONY : clean-msvc
|
|
151
|
-
clean-msvc :
|
|
152
|
-
rm -fr src/Default src/Release src/.vs src/gen
|
|
153
|
-
rm -f src/*.vcxproj src/*.vcxproj.filters src/*.sln src/*.sdf
|
|
154
|
-
|
|
155
|
-
.PHONY : distclean
|
|
156
|
-
distclean : clean
|
|
157
|
-
rm -f config.mk
|
|
158
|
-
|
|
159
|
-
.PRECIOUS : %.mkdir
|
|
160
|
-
%.mkdir :
|
|
161
|
-
$(info Creating directory $(dir $@))
|
|
162
|
-
@mkdir -p $(dir $@)
|
|
163
|
-
@touch $@
|
|
164
|
-
|
|
165
|
-
src/%.h :
|
|
166
|
-
@echo "Missing header file $@ (stale dependency file?)"
|