On Sun, Sep 11, 2016 at 1:03 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > It might accidentally fail to fail as-is, but likely it would be better > not to be pushing garbage paths into extraincludes and extralibs when > some of those options aren't set.
Right, we need to correct something here. But this block does not need any adjustment: it can just be deleted. A contrib module is added via AddProject() in Solution.pm, and if the build is done with xml, xslt or iconv their libraries and includes are added in any case, for any declared project. So declaring a dependency with xml or xslt is just moot work, and actually this would be broken without AddProject because it is missing to list iconv.lib... At the same time, I think that we could fix the inclusions with uuid for uuid-ossp, and just put them as well in AddProject with the rest. Please see the updated cleanup patch attached. -- Michael
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index b3ed1f5..93dfd24 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -381,18 +381,7 @@ sub mkvcbuild $zic->AddDirResourceFile('src/timezone'); $zic->AddReference($libpgcommon, $libpgport); - if ($solution->{options}->{xml}) - { - $contrib_extraincludes->{'pgxml'} = [ - $solution->{options}->{xml} . '/include', - $solution->{options}->{xslt} . '/include', - $solution->{options}->{iconv} . '/include' ]; - - $contrib_extralibs->{'pgxml'} = [ - $solution->{options}->{xml} . '/lib/libxml2.lib', - $solution->{options}->{xslt} . '/lib/libxslt.lib' ]; - } - else + if (!$solution->{options}->{xml}) { push @contrib_excludes, 'xml2'; } @@ -402,14 +391,7 @@ sub mkvcbuild push @contrib_excludes, 'sslinfo'; } - if ($solution->{options}->{uuid}) - { - $contrib_extraincludes->{'uuid-ossp'} = - [ $solution->{options}->{uuid} . '/include' ]; - $contrib_extralibs->{'uuid-ossp'} = - [ $solution->{options}->{uuid} . '/lib/uuid.lib' ]; - } - else + if (!$solution->{options}->{uuid}) { push @contrib_excludes, 'uuid-ossp'; } diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index 9cb1ad3..8217d06 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -37,12 +37,9 @@ sub _new unless exists $options->{float8byval}; die "float8byval not permitted on 32 bit platforms" if $options->{float8byval} && $bits == 32; - if ($options->{xml}) + if ($options->{xslt} && !$options->{xml}) { - if (!($options->{xslt} && $options->{iconv})) - { - die "XML requires both XSLT and ICONV\n"; - } + die "XSLT requires XML\n"; } $options->{blocksize} = 8 unless $options->{blocksize}; # undef or 0 means default @@ -555,6 +552,11 @@ sub AddProject $proj->AddIncludeDir($self->{options}->{xslt} . '\include'); $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib'); } + if ($self->{options}->{uuid}) + { + $proj->AddIncludeDir($self->{options}->{uuid} . '\include'); + $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib'); + } return $proj; }
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers