On 05/02/2015 01:02 PM, Peter Eisentraut wrote:
> On 5/2/15 11:05 AM, Andrew Dunstan wrote:
>> Note that the override is EXACTLY what is done unconditionally in the
>> plperl GNUmakefile:
>>
>> override CPPFLAGS := -I. -I$(srcdir) $(CPPFLAGS)
>> -I$(perl_archlibexp)/CORE
> The override is a red herring. It's done this way because all CPPFLAGS
> settings have to be done with override, for unrelated reasons. In a
> pgxs build, however, you can set PG_CPPFLAGS, which is later put into
> CPPFLAGS with override.
>
> Also, requiring that -I$(perl_archlibexp)/CORE is last seems bizarre.
> That would mean that an earlier include directory contains a file that
> is also in .../CORE, and you don't want to the one in .../CORE. In that
> case, why add .../CORE at all? We get Perl headers from .../CORE, and
> that would then mean that other include directories contain some Perl
> headers that you want to use in preference to the ones in .../CORE, but
> at the same time you want the ones in .../CORE as a fallback.
>
> That might possibly be the actual case, but it would be quite odd and
> should be properly explained for posterity.
>
>
here's a list of the .h files in perl's CORE library on jacana.
I can see plenty of opportunities for conflict there.
cheers
andrew
arps/inet.h
av.h
bitcount.h
BuildInfo.h
charclass_invlists.h
config.h
cop.h
cv.h
dirent.h
dosish.h
embed.h
embedvar.h
EXTERN.h
fakesdio.h
fakethr.h
feature.h
form.h
git_version.h
gv.h
handy.h
hv.h
INTERN.h
intrpvar.h
iperlsys.h
keywords.h
l1_char_class_tab.h
malloc_ctl.h
metaconfig.h
mg.h
mg_data.h
mg_raw.h
mg_vtable.h
mydtrace.h
netdb.h
nostdio.h
op.h
opcode.h
opnames.h
op_reg_common.h
overload.h
pad.h
parser.h
patchlevel.h
perl.h
perlapi.h
perlhost.h
perlio.h
perliol.h
perlsdio.h
perlsfio.h
perlvars.h
perly.h
pp.h
pp_proto.h
proto.h
reentr.h
regcharclass.h
regcomp.h
regexp.h
regnodes.h
scope.h
sv.h
sys/socket.h
thread.h
time64.h
time64_config.h
uconfig.h
unixish.h
utf8.h
utfebcdic.h
util.h
uudmap.h
vdir.h
vmem.h
warnings.h
win32.h
win32iop-o.h
win32iop.h
win32thread.h
wince.h
XSUB.h