H.Merijn Brand wrote:
> On Fri, 23 Oct 2009 20:10:29 +0100, "Martin J. Evans"
> <martin.ev...@easysoft.com> wrote:
> 
>> I noticed DBI was upgraded in subversion to the latest ppport.h (in
>> dbipport.h) and the recommendations that ppport.h has made.
> 
> :)
> 
>> dbipport.h seems to be ppport.h from Devel::PPPort.
> 
> Correct
> 
>> The DBI::DBD docs say to copy dbivport.h from the latest DBI
>> distribution to your DBD distribution - which I have done again - I am
>> happy with this and understand it.
> 
> Good
> 
>> I have implemented the recommendations that "perl ppport.h dbdimp.c" has
>> made in DBD::ODBC.
> 
> \o/
> 
>> However, "perl ppport.h dbdimp.c" for DBD::ODBC suggests adding ppport.h
>> to DBD::ODBC's dbdimp.c and including it in the DBD::ODBC distribution.
> 
> Remove that line. You need only one!
> 
>> I cannot do that since I'll get dbipport.h and ppport.h and
>> redeclarations of macros.
> 
> Correct. The recommendation is such, that to keep as close to the
> actual DBI, compiler with the ppport.h that was shipped with DBI.
> 
> In theory it should not matter, but we want to be sure.
> 
> Another reason to ship dbipport.h, is that it is likely to be more
> recent than the one shipped with perl itself.
> 
>> I may be missing something but I don't understand why DBI includes
>> ppport.h as dbipport.h since it stops me including a newer version of
>> pport.h. I expected the way this would work is that when building DBI,
>> you'd get DBI's copy of ppport.h but when building a DBD::* you'd get
>> DBD::*'s copy of ppport.h.
>>
>> What to do?
> 
> Use DBI's version, but using a *recent* version of Devel::PPPort is
> fine too. I intend to keep ppport.h in DBI `recent' as long as Tim
> permits me to
> 
>> Martin
> 
> Thanks for testing and checking
> 

Thanks, it sounds like relying on the ppport.h (in dbipport.h) shipped
with DBI is the way to go and I am basically happy with that so long as
DBI keeps it up to date and so long as the person who installed DBI
installs a new version. If I installed a new ppport.h (with new macros),
ran it and followed its recommendations I could end up using a macro
which was not in dbipport.h and my build would break - that was my
point. However, so long as the ppport.h found by the compiler (-I.) is
my latest one all is ok.

I know we sort of went over this on irc a few weeks ago (thanks) but I
only just got around to it and wanted to be sure I understood the
situation properly - again.

So, I'll include the latest ppport.h which I've run against my driver to
ensure they are in synch.

Martin

Reply via email to