Re: ppport.h

"Martin J. Evans" <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
H.Merijn Brand wrote:
> On Fri, 23 Oct 2009 20:10:29 +0100, "Martin J. Evans"
> <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.