Thread: How to exclude building/installing contrib modules on Windows

How to exclude building/installing contrib modules on Windows

From
deepak
Date:
Hi,

I would like to exclude building and installing contrib modules on Windows.

Is there an easy way to do this?  I largely rely on the tools available in
src\tools\msvc to build using Visual Studio 2008.

Thanks,

Deepak

Re: How to exclude building/installing contrib modules on Windows

From
Michael Paquier
Date:
On Thu, Jan 8, 2015 at 6:08 AM, deepak <deepak.pn@gmail.com> wrote:
> I would like to exclude building and installing contrib modules on Windows.
>
> Is there an easy way to do this?  I largely rely on the tools available in
> src\tools\msvc to build using Visual Studio 2008.
Have a look at @contrib_excludes at the top of Mkvcbuild.pm. All the
contrib modules listed there will be ignored at build and install, so
just update it according to your needs if you want to ignore one thing
or another, including any custom thing you may have copied in the code
tree.
--
Michael


Re: How to exclude building/installing contrib modules on Windows

From
deepak
Date:
Thanks.

I tried putting all the modules under the contrib directory to the
exclude list.  Although I could compile, 3 of 153 regression tests
fail.  I have attached the regression.diffs file.

Maybe some contrib modules are absolutely needed?

--
Deepak

On Wed, Jan 7, 2015 at 6:19 PM, Michael Paquier <michael.paquier@gmail.com> wrote:
On Thu, Jan 8, 2015 at 6:08 AM, deepak <deepak.pn@gmail.com> wrote:
> I would like to exclude building and installing contrib modules on Windows.
>
> Is there an easy way to do this?  I largely rely on the tools available in
> src\tools\msvc to build using Visual Studio 2008.
Have a look at @contrib_excludes at the top of Mkvcbuild.pm. All the
contrib modules listed there will be ignored at build and install, so
just update it according to your needs if you want to ignore one thing
or another, including any custom thing you may have copied in the code
tree.
--
Michael

Attachment

Re: How to exclude building/installing contrib modules on Windows

From
Michael Paquier
Date:
On Fri, Jan 9, 2015 at 11:00 AM, deepak <deepak.pn@gmail.com> wrote:
> Thanks.
>
> I tried putting all the modules under the contrib directory to the
> exclude list.  Although I could compile, 3 of 153 regression tests
> fail.  I have attached the regression.diffs file.
Even Postgres HEAD has just 151 tests, aren't you using some fork?

> Maybe some contrib modules are absolutely needed?
Yes, some are: spi/ for autoinc.dll, dummy_seclabel/ for dummy_seclabel.dll.
--
Michael


Re: How to exclude building/installing contrib modules on Windows

From
deepak
Date:
Yes, I'm using a customized fork of 9.1.9.

Ok, adding back spi and dummy_seclabel makes all regression tests pass.

I now have one concern though.  Inspite of adding pgcrypto to the 
exclude list, it still ends up being built and installed.  Any way to avoid this?


Thanks,
Deepak 

On Thu, Jan 8, 2015 at 8:54 PM, Michael Paquier <michael.paquier@gmail.com> wrote:
On Fri, Jan 9, 2015 at 11:00 AM, deepak <deepak.pn@gmail.com> wrote:
> Thanks.
>
> I tried putting all the modules under the contrib directory to the
> exclude list.  Although I could compile, 3 of 153 regression tests
> fail.  I have attached the regression.diffs file.
Even Postgres HEAD has just 151 tests, aren't you using some fork?

> Maybe some contrib modules are absolutely needed?
Yes, some are: spi/ for autoinc.dll, dummy_seclabel/ for dummy_seclabel.dll.
--
Michael

Re: How to exclude building/installing contrib modules on Windows

From
Michael Paquier
Date:
On Sun, Jan 11, 2015 at 8:36 AM, deepak <deepak.pn@gmail.com> wrote:
> Yes, I'm using a customized fork of 9.1.9.
> Ok, adding back spi and dummy_seclabel makes all regression tests pass.
Please do not top-post, this makes the thread lose readability.

> I now have one concern though.  Inspite of adding pgcrypto to the
> exclude list, it still ends up being built and installed.  Any way to avoid
> this?
pgcrypto requires quite a bit of hacking to be compiled correctly, so
it is defined as an independent project, have a look at that in
Mkvcbuild.pm:
    # Pgcrypto makefile too complex to parse....
    my $pgcrypto = $solution->AddProject('pgcrypto','dll','crypto');
    [blah]
--
Michael