|Welcome to the Monastery|
Re^4: EU::MM again.by BrowserUk (Pope)
|on Mar 25, 2009 at 23:05 UTC||Need Help??|
Ah, that is handled ExtUtils::Liblist which is invoked by WriteMakefile() itself. It should Just Work.
No. It doesn't. I can't. There is no 64-bit version of Pg available, only the 32-bit version. Which means that the lib files distributed with it are all 32-bit.
I wish to use the 32-bit Pg from 64-bit Perl, so I had to build 64-bit versions of libpq.lib and libpq.dll. But I cannot just replace the 32-bit versions with the 64-bit versions, because if I build any 32-bit apps that need those libraries, I will need the 32-bit versions available. So, I've chosen to use the names libpq64.lib & libpq64.dll, so that both can coexist on my system.
So, please explain to me how (or rather, why you wrongly think that) "It should Just Work."? How could it possibly know to use files, that I've chosen the names for?
Right, so libpq is hardcoded into the LIBS key's value.
Look again. No it isn't. If it was, I wouldn't have had to post my question.
See: ["-L$POSTGRES_LIB -lpq -lm"]--libpq is NOT MENTIONED! -lpq is there (along with -lm, whatever that is?), but not libpq.
So, how can I conditionally interpolate something in its place instead, when it doesn't currently have a place for me to change?
But Dave "DrHyde" Cantrell would surely be happy to take on board any code you figure out, and place it in Devel::CheckOS for others to use.
I wouldn't use that steaming pile of O'Woe if you paid me to. Even if it was applicable, which it isn't. The problem of determining which of libpq.lib or libpq64.lib to use, has exactly nothing to do with OS you are running under.
The problem is determining which environment this compilation is targeting--x86, or x64. You can target either when running under Win32 or Win64. How you determine which is being targeted, at runtime from within the Makefile.pl is the (other) problem I was hoping to get help with.
I know for instance, that when syphilis was testing my version of Devel::Size on Win64, he had problems finding a suitable test for the target environment--and he has far more experience building for win64 than I do. I only just got my new system--hence the reason for asking here.
I was hoping that someone who has been through the problem would point me in the right direction, rather than just random guesses.
At this point, your replies have done exactly zero to assist me, but given their plausible and somewhat dismissive tone, have probably prevented others from actively considering the problems.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.