Re: Perl Win64 DBD-Pg: how is it built?

[email protected] (kmx) Wed, 21 Oct 2015 23:43:17 +0200
Newsgroups perl.win32.vanilla
Message-ID <[email protected]>
--------------070905040501090209080406
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 21.10.2015 10:34, Bram Stappers wrote:
> Hello,
>
> I was wondering how Strawberry Perl compiles DBD-Pg for 64-bit Windows.
>
> In http://strawberryperl.com/release-notes/5.20.3.1-64bit.html I see that 
> PostgreSQL driver DBD-Pg is included in Strawberry Perl 64bit. I was 
> wondering how it is done. I did have a look at 
> https://github.com/StrawberryPerl? in an attempt to discover if anything 
> special was done, but was unable to find anything.

In strawberry perl 5.22.0.1 there is

1/ client library postgresql-9.4.1 built with this little patch (you should 
find it in your c:\strawberry\licenses\postgresql\postgresql-9.4.1.diff )

diff -r -u -w --strip-trailing-cr 
postgresql-9.4.1.original/src/template/win32 
postgresql-9.4.1/src/template/win32
--- postgresql-9.4.1.original/src/template/win32    2015-05-19 
13:38:06.928673700 +0200
+++ postgresql-9.4.1/src/template/win32    2015-05-19 13:36:05.180254800 +0200
@@ -3,4 +3,4 @@
  # --allow-multiple-definition is required to link pg_dump because it finds
  # pg_toupper() etc. in both libpq and pgport
  # --disable-auto-import is to ensure we get MSVC-like linking behavior
-LDFLAGS="-Wl,--allow-multiple-definition -Wl,--disable-auto-import"
+LDFLAGS="-Wl,--allow-multiple-definition"

2/ perl module DBD-Pg-3.5.1 installed by simply running: cpanm DBD::Pg

I have experienced some troubles related to DBD::Pg + 64bit mingw-w64 when 
trying to build perl with extra compiler option -D__USE_MINGW_ANSI_STDIO I 
have not investigated why but DBD::Pg fails even to compile (no other 
module had a problem with __USE_MINGW_ANSI_STDIO).

--
kmx

--------------070905040501090209080406
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 21.10.2015 10:34, Bram Stappers wrote:<br>
    <blockquote
cite="mid:CALk-YyVEUVN69dUogO_84MjThNNDxqTmfaXG0cOua5Fr8o3HnA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_default" style="font-family:'courier
          new',monospace">Hello,</div>
        <div class="gmail_default" style="font-family:'courier
          new',monospace"><br>
        </div>
        <div class="gmail_default" style="font-family:'courier
          new',monospace">I was wondering how Strawberry Perl compiles
          DBD-Pg for 64-bit Windows.</div>
        <div class="gmail_default" style="font-family:'courier
          new',monospace"><br>
        </div>
        <div class="gmail_default" style="font-family:'courier
          new',monospace">In <a moz-do-not-send="true"
            href="http://strawberryperl.com/release-notes/5.20.3.1-64bit.html">http://strawberryperl.com/release-notes/5.20.3.1-64bit.html</a>
          I see that PostgreSQL driver DBD-Pg is included in Strawberry
          Perl 64bit. I was wondering how it is done. I did have a look
          at <a moz-do-not-send="true"
            href="https://github.com/StrawberryPerl">https://github.com/StrawberryPerl</a>?
          in an attempt to discover if anything special was done, but
          was unable to find anything.</div>
      </div>
    </blockquote>
    <br>
    In strawberry perl 5.22.0.1 there is<br>
    <br>
    1/ client library postgresql-9.4.1 built with this little patch (you
    should find it in your
    c:\strawberry\licenses\postgresql\postgresql-9.4.1.diff )<br>
    <br>
    diff -r -u -w --strip-trailing-cr
    postgresql-9.4.1.original/src/template/win32
    postgresql-9.4.1/src/template/win32<br>
    --- postgresql-9.4.1.original/src/template/win32    2015-05-19
    13:38:06.928673700 +0200<br>
    +++ postgresql-9.4.1/src/template/win32    2015-05-19
    13:36:05.180254800 +0200<br>
    @@ -3,4 +3,4 @@<br>
     # --allow-multiple-definition is required to link pg_dump because
    it finds<br>
     # pg_toupper() etc. in both libpq and pgport<br>
     # --disable-auto-import is to ensure we get MSVC-like linking
    behavior<br>
    -LDFLAGS="-Wl,--allow-multiple-definition -Wl,--disable-auto-import"<br>
    +LDFLAGS="-Wl,--allow-multiple-definition" <br>
    <br>
    2/ perl module DBD-Pg-3.5.1 installed by simply running: cpanm
    DBD::Pg<br>
    <br>
    I have experienced some troubles related to DBD::Pg + 64bit
    mingw-w64 when trying to build perl with extra compiler option
    -D__USE_MINGW_ANSI_STDIO I have not investigated why but DBD::Pg
    fails even to compile (no other module had a problem with
    __USE_MINGW_ANSI_STDIO).<br>
    <br>
    --<br>
    kmx<br>
  </body>
</html>

--------------070905040501090209080406--