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