Adjust MSVC build scripts to parse Makefiles for defines
David Rowley <drowley@postgresql.org>
Adjust MSVC build scripts to parse Makefiles for defines This adjusts the MSVC build scripts to look at the compile flags mentioned in the Makefile to look for -D arguments in order to determine which constants should be defined in Visual Studio builds. One small anomaly that appeared as a result of this change is that the Makefile for the ltree contrib module defined LOWER_NODE, but this was not properly defined in the MSVC build scripts. This meant that MSVC builds would differ in case sensitivity in the ltree module when compared to builds using a make build environment. To maintain the same behavior here we remove the -DLOWER_NODE from the Makefile and just always define it in ltree.h for non-MSVC builds. We need to maintain the old behavior here as this affects the on-disk compatibility of GiST indexes when using the ltree type. The only other resulting change here is that REFINT_VERBOSE is now defined for the autoinc, insert_username and moddatetime contrib modules. Previously on MSVC, this was only defined for the refint module. This aligns the behavior to build environments using make as all 4 of these modules share the same Makefile. Reviewed-by: Tom Lane Discussion: https://postgr.es/m/CAApHDvpo6g5csCTjc_0C7DMvgFPomVb0Rh-AcW5afd=Ya=LRuw@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| contrib/ltree/crc32.c | modified | +1 −0 |
| contrib/ltree/ltree.h | modified | +13 −0 |
| contrib/ltree/Makefile | modified | +0 −1 |
| src/tools/msvc/Mkvcbuild.pm | modified | +20 −1 |
Discussion
- Reduce the number of special cases to build contrib modules on windows 31 messages · 2020-11-02 → 2021-08-09