windows: Set UMDF_USING_NTSTATUS globally, include ntstatus.h
authorAndres Freund <andres@anarazel.de>
Thu, 29 Sep 2022 04:59:15 +0000 (21:59 -0700)
committerAndres Freund <andres@anarazel.de>
Thu, 29 Sep 2022 04:59:15 +0000 (21:59 -0700)
commitb8d8a4593a3a2daa5e16e4a3634d9284fe14667f
tree30c34a20cb9e79e51bd67001ac7d5fe50f18206d
parenta1b3bca1c8e32c31ba1a8d1125b2eb97f750a7f0
windows: Set UMDF_USING_NTSTATUS globally, include ntstatus.h

We'd like to use precompiled headers on windows to reduce compile times. Right
now we rely on defining UMDF_USING_NTSTATUS before including postgres.h in a few
select places - which doesn't work with precompiled headers.  Instead define
it globally.

When UMDF_USING_NTSTATUS is defined we need to explicitly include ntstatus.h,
winternl.h to get a comparable set of symbols. Right now these includes would
be required in a number of non-platform-specific .c files - to avoid that,
include them in win32_port.h. Based on my measurements that doesn't increase
compile times measurably.

Reviewed-by: Thomas Munro <thomas.munro@gmail.com>
Discussion: http://postgr.es/m/20220927011951.j3h4o7n6bhf7dwau@awork3.anarazel.de
src/include/port/win32_port.h
src/include/port/win32ntdll.h
src/port/open.c
src/port/win32fdatasync.c
src/port/win32ntdll.c
src/port/win32stat.c