[PATCH 08/17] msvc: define O_ACCMODE

2019-06-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley This constant is not defined in MSVC's headers. In UCRT's fcntl.h, _O_RDONLY, _O_WRONLY and _O_RDWR are defined as 0, 1 and 2, respectively. Yes, that means that UCRT breaks with the tradition that O_RDWR == O_RDONLY | O_WRONLY. It is a perfectly legal way to define those co

[PATCH 07/17] msvc: include sigset_t definition

2019-06-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley On MSVC (VS2008) sigset_t is not defined. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- compat/msvc.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compat/msvc.h b/compat/msvc.h index 29a8ce8204..04b4750b87 100644 --- a/compat/msvc.h +++ b/com

[PATCH 14/17] msvc: add pragmas for common warnings

2019-06-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley MSVC can be overzealous about some warnings. Disable them. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- compat/msvc.h | 4 1 file changed, 4 insertions(+) diff --git a/compat/msvc.h b/compat/msvc.h index d7525cf61d..1d7a8c6145 100644 --- a/comp

[PATCH v2 09/20] msvc: define O_ACCMODE

2019-06-19 Thread Philip Oakley via GitGitGadget
From: Philip Oakley This constant is not defined in MSVC's headers. In UCRT's fcntl.h, _O_RDONLY, _O_WRONLY and _O_RDWR are defined as 0, 1 and 2, respectively. Yes, that means that UCRT breaks with the tradition that O_RDWR == O_RDONLY | O_WRONLY. It is a perfectly legal way to define those co

[PATCH v2 08/20] msvc: include sigset_t definition

2019-06-19 Thread Philip Oakley via GitGitGadget
From: Philip Oakley On MSVC (VS2008) sigset_t is not defined. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- compat/msvc.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compat/msvc.h b/compat/msvc.h index 29a8ce8204..04b4750b87 100644 --- a/compat/msvc.h +++ b/com

[PATCH v2 17/20] msvc: add pragmas for common warnings

2019-06-19 Thread Philip Oakley via GitGitGadget
From: Philip Oakley MSVC can be overzealous about some warnings. Disable them. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- compat/msvc.h | 4 1 file changed, 4 insertions(+) diff --git a/compat/msvc.h b/compat/msvc.h index d7525cf61d..1d7a8c6145 100644 --- a/comp

[PATCH v3 08/20] msvc: include sigset_t definition

2019-06-25 Thread Philip Oakley via GitGitGadget
From: Philip Oakley On MSVC (VS2008) sigset_t is not defined. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- compat/msvc.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compat/msvc.h b/compat/msvc.h index 29a8ce8204..04b4750b87 100644 --- a/compat/msvc.h +++ b/com

[PATCH v3 09/20] msvc: define O_ACCMODE

2019-06-25 Thread Philip Oakley via GitGitGadget
From: Philip Oakley This constant is not defined in MSVC's headers. In UCRT's fcntl.h, _O_RDONLY, _O_WRONLY and _O_RDWR are defined as 0, 1 and 2, respectively. Yes, that means that UCRT breaks with the tradition that O_RDWR == O_RDONLY | O_WRONLY. It is a perfectly legal way to define those co

[PATCH v3 17/20] msvc: add pragmas for common warnings

2019-06-25 Thread Philip Oakley via GitGitGadget
From: Philip Oakley MSVC can be overzealous about some warnings. Disable them. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- compat/msvc.h | 4 1 file changed, 4 insertions(+) diff --git a/compat/msvc.h b/compat/msvc.h index d7525cf61d..1d7a8c6145 100644 --- a/comp

[PATCH 02/24] Vcproj.pm: list git.exe first to be startup project

2019-07-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Visual Studio takes the first listed application/library as the default startup project [1]. Detect the 'git' project and place it at the head of the project list, rather than at the tail. Export the apps list before libs list for both the projects and global structures of t

[PATCH 11/24] contrib/buildsystems: optionally capture the dry-run in a file

2019-07-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Add an option for capturing the output of the make dry-run used in determining the msvc-build structure for easy debugging. You can use the output of `--make-out ` in subsequent runs via the `--in ` option. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --

[PATCH 20/24] .gitignore: touch up the entries regarding Visual Studio

2019-07-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Add the Microsoft .manifest pattern, and do not anchor the 'Debug' and 'Release' entries at the top-level directory, to allow for multiple projects (one per target). Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- .gitignore | 5 +++-- 1 file changed, 3

[PATCH 05/24] contrib/buildsystems: ignore invalidcontinue.obj

2019-07-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Since 4b623d8 (MSVC: link in invalidcontinue.obj for better POSIX compatibility, 2014-03-29), invalidcontinue.obj is linked in the MSVC build, but it was not parsed correctly by the buildsystem. Ignore it, as it is known to Visual Studio and will be handled elsewhere. Also on

[PATCH 10/24] contrib/buildsystems: redirect errors of the dry run into a log file

2019-07-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Rather than swallowing the errors, it is better to have them in a file. To make it obvious what this is about, use the file name 'msvc-build-makedryerrors.txt'. Further, if the output is empty, simply delete that file. As we target Git for Windows' SDK (which, unlike its pre

[PATCH 13/24] contrib/buildsystems: handle the curl library option

2019-07-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Upon seeing the '-lcurl' option, point to the libcurl.lib. While there, fix the elsif indentation. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- contrib/buildsystems/engine.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/con

[PATCH 09/24] contrib/buildsystems: ignore gettext stuff

2019-07-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Git's build contains steps to handle internationalization. This caused hiccups in the parser used to generate QMake/Visual Studio project files. As those steps are irrelevant in this context, let's just ignore them. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schin

[PATCH 07/24] contrib/buildsystems: fix misleading error message

2019-07-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley The error message talked about a "lib option", but it clearly referred to a link option. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- contrib/buildsystems/engine.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/buildsyst

[PATCH 08/24] contrib/buildsystems: handle quoted spaces in filenames

2019-07-18 Thread Philip Oakley via GitGitGadget
From: Philip Oakley The engine.pl script expects file names not to contain spaces. However, paths with spaces are quite prevalent on Windows. Use shellwords() rather than split() to parse them correctly. Helped-by: Junio C Hamano Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin

[PATCH v2 13/23] contrib/buildsystems: handle the curl library option

2019-07-29 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Upon seeing the '-lcurl' option, point to the libcurl.lib. While there, fix the elsif indentation. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- contrib/buildsystems/engine.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/con

[PATCH v2 11/23] contrib/buildsystems: optionally capture the dry-run in a file

2019-07-29 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Add an option for capturing the output of the make dry-run used in determining the msvc-build structure for easy debugging. You can use the output of `--make-out ` in subsequent runs via the `--in ` option. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --

[PATCH v2 09/23] contrib/buildsystems: ignore gettext stuff

2019-07-29 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Git's build contains steps to handle internationalization. This caused hiccups in the parser used to generate QMake/Visual Studio project files. As those steps are irrelevant in this context, let's just ignore them. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schin

[PATCH v2 05/23] contrib/buildsystems: ignore invalidcontinue.obj

2019-07-29 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Since 4b623d8 (MSVC: link in invalidcontinue.obj for better POSIX compatibility, 2014-03-29), invalidcontinue.obj is linked in the MSVC build, but it was not parsed correctly by the buildsystem. Ignore it, as it is known to Visual Studio and will be handled elsewhere. Also on

[PATCH v2 10/23] contrib/buildsystems: redirect errors of the dry run into a log file

2019-07-29 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Rather than swallowing the errors, it is better to have them in a file. To make it obvious what this is about, use the file name 'msvc-build-makedryerrors.txt'. Further, if the output is empty, simply delete that file. As we target Git for Windows' SDK (which, unlike its pre

[PATCH v2 08/23] contrib/buildsystems: handle quoted spaces in filenames

2019-07-29 Thread Philip Oakley via GitGitGadget
From: Philip Oakley The engine.pl script expects file names not to contain spaces. However, paths with spaces are quite prevalent on Windows. Use shellwords() rather than split() to parse them correctly. Helped-by: Junio C Hamano Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin

[PATCH v2 20/23] .gitignore: touch up the entries regarding Visual Studio

2019-07-29 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Add the Microsoft .manifest pattern, and do not anchor the 'Debug' and 'Release' entries at the top-level directory, to allow for multiple projects (one per target). Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- .gitignore | 5 +++-- 1 file changed, 3

[PATCH v2 07/23] contrib/buildsystems: fix misleading error message

2019-07-29 Thread Philip Oakley via GitGitGadget
From: Philip Oakley The error message talked about a "lib option", but it clearly referred to a link option. Signed-off-by: Philip Oakley Signed-off-by: Johannes Schindelin --- contrib/buildsystems/engine.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/buildsyst

[PATCH v2 02/23] Vcproj.pm: list git.exe first to be startup project

2019-07-29 Thread Philip Oakley via GitGitGadget
From: Philip Oakley Visual Studio takes the first listed application/library as the default startup project [1]. Detect the 'git' project and place it at the head of the project list, rather than at the tail. Export the apps list before libs list for both the projects and global structures of t