Re: window build doesn't apply PG_CPPFLAGS correctly

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: window build doesn't apply PG_CPPFLAGS correctly
Date: 2021-07-22 12:11:24
Message-ID: CAFj8pRBVKpf+ufjWO5B=ekSWAsuhmd3-XFfD4Y2mWOKn3qoNGg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

čt 22. 7. 2021 v 14:04 odesílatel Andrew Dunstan <andrew(at)dunslane(dot)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
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Aleksander Alekseev 2021-07-22 12:54:08 Re: proposal: enhancing plpgsql debug API - returns text value of variable content
Previous Message houzj.fnst@fujitsu.com 2021-07-22 12:07:06 Use quick select instead of qsort to get median