From aa5f26f05531931e33211ced5999ad76720c61fe Mon Sep 17 00:00:00 2001 From: Marcelo Silva Nascimento Mancini Date: Thu, 28 Sep 2023 07:58:17 -0300 Subject: [PATCH 1/2] Build terminal faster This avoids including rpc module from windows which takes 200ms to build --- terminal.d | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/terminal.d b/terminal.d index 3fdc6be..df30a80 100644 --- a/terminal.d +++ b/terminal.d @@ -318,7 +318,12 @@ version(TerminalDirectToEmulator) { } version(Windows) - import core.sys.windows.windows; +{ + import core.sys.windows.wincon; + import core.sys.windows.winnt; + import core.sys.windows.winbase; + import core.sys.windows.winuser; +} version(Win32Console) { private { @@ -8490,7 +8495,9 @@ version(TerminalDirectToEmulator) { //pthread_cancel(widget.term.threadId); //widget.term = null; } else version(Windows) { - import core.sys.windows.windows; + import core.sys.windows.winbase : OpenProcess, TerminateProcess, GetCurrentProcessId; + import core.sys.windows.winnt :SYNCHRONIZE, PROCESS_TERMINATE, TRUE; + auto hnd = OpenProcess(SYNCHRONIZE | PROCESS_TERMINATE, TRUE, GetCurrentProcessId()); TerminateProcess(hnd, -1); assert(0); @@ -9490,7 +9497,8 @@ void main() { private version(Windows) { pragma(lib, "user32"); - import core.sys.windows.windows; + import core.sys.windows.winbase : CreateNamedPipeA; + import core.sys.windows.winnt: HANDLE, DWORD, LPSECURITY_ATTRIBUTES; extern(Windows) HANDLE CreateNamedPipeA( From b554edda1ce10ab77f33e5f7e293960c482409bf Mon Sep 17 00:00:00 2001 From: Marcelo Silva Nascimento Mancini Date: Thu, 28 Sep 2023 09:02:16 -0300 Subject: [PATCH 2/2] Remove selective import --- terminal.d | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/terminal.d b/terminal.d index df30a80..8edd304 100644 --- a/terminal.d +++ b/terminal.d @@ -8495,8 +8495,8 @@ version(TerminalDirectToEmulator) { //pthread_cancel(widget.term.threadId); //widget.term = null; } else version(Windows) { - import core.sys.windows.winbase : OpenProcess, TerminateProcess, GetCurrentProcessId; - import core.sys.windows.winnt :SYNCHRONIZE, PROCESS_TERMINATE, TRUE; + import core.sys.windows.winbase; + import core.sys.windows.winnt; auto hnd = OpenProcess(SYNCHRONIZE | PROCESS_TERMINATE, TRUE, GetCurrentProcessId()); TerminateProcess(hnd, -1); @@ -9497,8 +9497,8 @@ void main() { private version(Windows) { pragma(lib, "user32"); - import core.sys.windows.winbase : CreateNamedPipeA; - import core.sys.windows.winnt: HANDLE, DWORD, LPSECURITY_ATTRIBUTES; + import core.sys.windows.winbase; + import core.sys.windows.winnt; extern(Windows) HANDLE CreateNamedPipeA(