Re: window build doesn't apply PG_CPPFLAGS correctly - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: window build doesn't apply PG_CPPFLAGS correctly
Date
Msg-id CAFj8pRBVKpf+ufjWO5B=ekSWAsuhmd3-XFfD4Y2mWOKn3qoNGg@mail.gmail.com
Whole thread Raw
In response to Re: window build doesn't apply PG_CPPFLAGS correctly  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: window build doesn't apply PG_CPPFLAGS correctly  (Andrew Dunstan <andrew@dunslane.net>)
Re: window build doesn't apply PG_CPPFLAGS correctly  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
List pgsql-hackers


čt 22. 7. 2021 v 14:04 odesílatel Andrew Dunstan <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

Regards

Pavel




cheers


andrew



--
Andrew Dunstan
EDB: https://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: "houzj.fnst@fujitsu.com"
Date:
Subject: Use quick select instead of qsort to get median
Next
From: Aleksander Alekseev
Date:
Subject: Re: proposal: enhancing plpgsql debug API - returns text value of variable content