Re: windows build slow due to windows.h includes - Mailing list pgsql-hackers

From Juan José Santamaría Flecha
Subject Re: windows build slow due to windows.h includes
Date
Msg-id CAC+AXB2Etm0hJeBpODgFOaYE=DTPqYfQ5QDthcQDoUNX_uaAyg@mail.gmail.com
Whole thread Raw
In response to Re: windows build slow due to windows.h includes  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers

On Wed, Sep 22, 2021 at 1:56 AM Andres Freund <andres@anarazel.de> wrote:
On 2021-09-21 20:26:36 -0300, Ranier Vilela wrote:
> Em ter., 21 de set. de 2021 às 16:30, Andres Freund <andres@anarazel.de>
> escreveu:
> > But that's too much work for my taste. As it turns out there's a partial
> > solution to windows.h being just so damn big, the delightfully named
> > WIN32_LEAN_AND_MEAN.
> >
> +1
> But I did a quick dirty test here, and removed windows.h in win32_port.h,
> and compiled normally with msvc 2019 (64 bit), would it work with mingw
> cross compile?

That's likely only because winsock indirectly includes windows.h - because of
that it won't actually reduce compile time. And you can't remove the other
headers that indirectly include windows.h without causing compilation errors.

You are right about winsock2.h including some parts of windows.h, please see note in [1]. You could move the windows.h inclusion for clarity: 

+ #ifndef WIN32_LEAN_AND_MEAN
+ #define WIN32_LEAN_AND_MEAN
+ #endif

+ #include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
- #include <windows.h>


Regards,

Juan José Santamaría Flecha

pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Proposal: Save user's original authenticated identity for logging
Next
From: Michael Paquier
Date:
Subject: Re: Proposal: Save user's original authenticated identity for logging