Re: window build doesn't apply PG_CPPFLAGS correctly - Mailing list pgsql-hackers
From | Andrew Dunstan |
---|---|
Subject | Re: window build doesn't apply PG_CPPFLAGS correctly |
Date | |
Msg-id | e2b72b9a-b628-a83e-7fe8-481ca5741765@dunslane.net Whole thread Raw |
In response to | Re: window build doesn't apply PG_CPPFLAGS correctly (Pavel Stehule <pavel.stehule@gmail.com>) |
List | pgsql-hackers |
On 7/22/21 8:11 AM, Pavel Stehule wrote: > > > čt 22. 7. 2021 v 14:04 odesílatel Andrew Dunstan <andrew@dunslane.net > <mailto:andrew@dunslane.net>> napsal: > > > On 7/22/21 12:06 AM, Pavel Stehule wrote: > > Hi > > > > I tried to write test for plpgsql debug API, where I need to > access to > > plpgsql.h > > > > I have line > > > > PG_CPPFLAGS = -I$(top_srcdir)/src/pl/plpgsql/src > > > > that is working well on unix, but it do nothing on windows > > > > [00:05:14] Project "C:\projects\postgresql\pgsql.sln" (1) is > building > > "C:\projects\postgresql\test_dbgapi.vcxproj" (87) on node 1 (default > > targets). > > [00:05:14] PrepareForBuild: > > [00:05:14] Creating directory ".\Release\test_dbgapi\". > > [00:05:14] Creating directory > ".\Release\test_dbgapi\test_dbgapi.tlog\". > > [00:05:14] InitializeBuildStatus: > > [00:05:14] Creating > > ".\Release\test_dbgapi\test_dbgapi.tlog\unsuccessfulbuild" because > > "AlwaysCreate" was specified. > > [00:05:14] ClCompile: > > [00:05:14] C:\Program Files (x86)\Microsoft Visual Studio > > 12.0\VC\bin\x86_amd64\CL.exe /c /Isrc/include > /Isrc/include/port/win32 > > /Isrc/include/port/win32_msvc /Zi /nologo /W3 /WX- /Ox /D WIN32 /D > > _WINDOWS /D __WINDOWS__ /D __WIN32__ /D > WIN32_STACK_RLIMIT=4194304 /D > > _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _WINDLL /D > > _MBCS /GF /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope > > /Fo".\Release\test_dbgapi\\" > /Fd".\Release\test_dbgapi\vc120.pdb" /Gd > > /TC /wd4018 /wd4244 /wd4273 /wd4102 /wd4090 /wd4267 > /errorReport:queue > > /MP src/test/modules/test_dbgapi/test_dbgapi.c > > [00:05:14] test_dbgapi.c > > [00:05:16] src/test/modules/test_dbgapi/test_dbgapi.c(17): fatal > error > > C1083: Cannot open include file: 'plpgsql.h': No such file or > > directory [C:\projects\postgresql\test_dbgapi.vcxproj] > > [00:05:16] Done Building Project > > "C:\projects\postgresql\test_dbgapi.vcxproj" (default targets) > -- FAILED. > > [00:05:16] Project "C:\projects\postgresql\pgsql.sln" (1) is > building > > "C:\projects\postgresql\test_ddl_deparse.vcxproj" (88) on node 1 > > (default targets). > > > > looks so PG_CPPFLAGS is not propagated to CPPFLAGS there. > > > > > > Almost everything in the Makefiles is not used by the MSVC buid > system. > Using this one seems likely to be quite difficult, since the > syntax for > the MSVC compiler command line is very different, and furthermore the > MSVC build system doesn't know anything about how to use this setting. > > AFAICT PG_CPPFLAGS is only used by pgxs. > > You would need to tell us more about how your build process is > working. > > > I need access to plpgsql.h in build time. This is only one dependency. > When I build an extension, then plpgsql.h is in a shared directory. > But when I build a module for a test, the header files are not > installed yet. For build it requires an include dir > -I$(top_srcdir)/src/pl/plpgsql/src > > If I understand correctly what you're doing, you probably need to add an entry for your module to $contrib_extraincludes in src/tools/msvc/Mkvcbuild.pm, e.g. my $contrib_extraincludes = { 'dblink' => ['src/backend'] , 'test_dbgapi' => [ 'src/pl/plpgsql/src' ] }; cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
pgsql-hackers by date: