git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Jeff King <peff@peff.net>
Cc: Taylor Blau <me@ttaylorr.com>,
	git@vger.kernel.org, Jeff Hostetler <jeffhost@microsoft.com>
Subject: Re: [PATCH 1/5] Makefile: drop builtins from MSVC pdb list
Date: Fri, 14 Aug 2020 16:18:37 +0200 (CEST)	[thread overview]
Message-ID: <nycvar.QRO.7.76.6.2008141611490.54@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <20200813150828.GA891963@coredump.intra.peff.net>

Hi Peff,

On Thu, 13 Aug 2020, Jeff King wrote:

> On Thu, Aug 13, 2020 at 11:04:28AM -0400, Taylor Blau wrote:
>
> > On Thu, Aug 13, 2020 at 10:57:19AM -0400, Jeff King wrote:
> > > Over the years some more programs have become builtins, but nobody
> > > updated this MSVC-specific section of the file (which specifically says
> > > that it should not include builtins). Let's bring it up to date.
> > >
> > > Signed-off-by: Jeff King <peff@peff.net>
> > > ---
> > > Given that nobody has mentioned this, it makes me wonder if anybody is
> > > even using this part of the Makefile at all these days. Or maybe having
> > > extra lines here isn't a problem (though it's also missing some entries,
> > > like one for git-bugreport).
> >
> > If having extra entries didn't cause a problem, I would suspect that it
> > was just that. But that missing entries *also* doesn't cause a problem,
> > I'd suspect that this section of the Makefile just isn't being used.
> >
> > Of course, I'm not using it since I'm not on Windows, but maybe dscho or
> > Stolee would know if there are legitimate uses. Of course, if there
> > aren't, I'm favor of getting rid of this section entirely.
>
> I cc'd Jeff Hostetler, who added it. :)
>
> I'm also pretty not-knowledgeable about Windows, but I think that
> anybody using MSVC would do so through Visual Studio these days. And
> that's being covered with recent cmake stuff. Or maybe I'm just
> clueless. We'll see.

We have a couple ways to build Git on Windows:

- the standard way, in a Git for Windows SDK (which is a slightly modified
  subset of MSYS2). This uses GCC and GNU make and all the things that you
  might suspect given Git's origins on Linux.

- the Visual Studio way, after running `make vcxproj` in Git for Windows'
  SDK. As part of the `vcxproj` target, the non-C parts of Git are
  generated and committed.

- the "new" Visual Studio way, after running CMake. The non-C parts are
  generated through CMake, which is nice because no Git for Windows SDK is
  required to build this from start to finish.

- the Visual C way, as championed by Jeff (and which was a prerequisite to
  working on the `vcxproj` target): in a Git for Windows SDK, use GNU make
  but replace GCC by MSVC (via the command-line): `make MSVC=1`.

While all four methods work, the only one that is regularly used with the
`make install` command is the first one.

The location you modified is in the `MSVC` part of `compat.mak.uname`,
i.e. in the Visual C part.

We originally had a tentative plan to eventually, maybe, build Git for
Windows using Visual C by default. However, it turned out that the
standard malloc in Visual C's runtime was tuned for other workloads than
Gits, and that nedmalloc performed better, and we originally could not get
nedmalloc to compile with a modern Visual C, so we stopped that effort.

That's why you still have support for `make MSVC=1 install`.

Since it seems not to be too much trouble, I would prefer to keep it
working for now, even if it is rarely exercised and regressions might
creep in (like the ones you fixed).

Thanks,
Dscho

  parent reply	other threads:[~2020-08-14 14:18 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-13 14:55 [PATCH 0/5] slimming down installed size Jeff King
2020-08-13 14:57 ` [PATCH 1/5] Makefile: drop builtins from MSVC pdb list Jeff King
2020-08-13 15:04   ` Taylor Blau
2020-08-13 15:08     ` Jeff King
2020-08-13 16:37       ` Derrick Stolee
2020-08-13 17:40         ` Jeff King
2020-08-14 14:18       ` Johannes Schindelin [this message]
2020-08-14 14:32         ` Jeff King
2020-08-17  4:42           ` Johannes Schindelin
2020-08-17 13:20         ` Jeff Hostetler
2020-08-13 14:58 ` [PATCH 2/5] make credential helpers builtins Jeff King
2020-08-13 15:08   ` Taylor Blau
2020-08-13 15:14     ` Jeff King
2020-08-13 17:55       ` Junio C Hamano
2020-08-13 14:59 ` [PATCH 3/5] make git-bugreport a builtin Jeff King
2020-08-13 17:01   ` Derrick Stolee
2020-08-13 17:38     ` Jeff King
2020-08-13 18:25       ` Junio C Hamano
2020-08-13 18:47         ` Junio C Hamano
2020-08-14 10:13           ` Jeff King
2020-08-14 14:25           ` Johannes Schindelin
2020-08-14 10:05         ` Jeff King
2020-08-13 18:01   ` Junio C Hamano
2020-08-14 14:28     ` Johannes Schindelin
2020-08-15  6:38     ` Jeff King
2020-08-17 12:12       ` Emily Shaffer
2020-08-17 16:58       ` Junio C Hamano
2020-08-17 21:40         ` Jeff King
2020-08-17 12:16   ` Emily Shaffer
2020-08-13 14:59 ` [PATCH 4/5] make git-fast-import " Jeff King
2020-08-13 15:00 ` [PATCH 5/5] drop vcs-svn experiment Jeff King
2020-08-13 15:11   ` Taylor Blau
2020-08-13 15:18     ` Jeff King
2020-08-14 14:39   ` Johannes Schindelin
2020-08-14 15:11     ` Jeff King
2020-08-13 15:13 ` [PATCH 0/5] slimming down installed size Taylor Blau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=nycvar.QRO.7.76.6.2008141611490.54@tvgsbejvaqbjf.bet \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=jeffhost@microsoft.com \
    --cc=me@ttaylorr.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).