ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> perl-dbi-dev
perl-dbi-dev
Re: ppport.h
by Martin J. Evans other posts by this author
Oct 23 2009 12:59PM messages near this date
Re: ppport.h | DBD::Oracle, Support binding of integers so they are returned as IVs
H.Merijn Brand wrote:
>  On Fri, 23 Oct 2009 20:10:29 +0100, "Martin J. Evans"
>  <martin.evans@[...].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
Thread:
Martin J. Evans
H.Merijn Brand
Martin J. Evans
H.Merijn Brand
Martin J. Evans

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved