Beefy Boxes and Bandwidth Generously Provided by pair Networks RobOMonk
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^3: Exploring Inline::C (Status Update for Inline::CPP)

by syphilis (Canon)
on Nov 13, 2011 at 09:06 UTC ( #937808=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Exploring Inline::C (Status Update for Inline::CPP)
in thread Exploring Inline::C (Generating primes)

I've taken on Co-maintainership for Inline::CPP

This is excellent news!!

I almost established co-maintainership of Inline::CPP a couple of years back, but I kept losing contact with Neil at critical moments, and it never happened. (That was actually quite fortuitous as I'm not the right person for the job, anyway - my CPP skills are best described in terms that don't involve the use of the word "skill" ;-)

Version 0.29 builds and tests for me on my 32-bit builds of perl (where I'm using the mingw.org port of gcc-4.5.2).

But ... things don't go quite so well if the compiler to be used is not called 'g++'.
In CPP.pm we have:

sub validate { my $o = shift; $o->{ILSM}{MAKEFILE}{CC} ||= 'g++'; # default compiler $o->{ILSM}{MAKEFILE}{LIBS} ||= ['-lstdc++']; # default libs
That effectively hard-codes in 'g++' and '-lstdc++'.
You'll note that the Makefile.PL rewrites CPP.pm, replacing the strings '@COMPILER' and '@DEFAULTLIBS' with the selected compiler and libs ... except that there's now *no* such strings as '@COMPILER' and '@DEFAULTLIBS' anywhere in CPP.pm ... so CPP.pm stays exactly as it was ... which is fine if (and only if) you're using 'g++'.

Do you see what I mean ?

Cheers,
Rob


Comment on Re^3: Exploring Inline::C (Status Update for Inline::CPP)
Download Code
Re^4: Exploring Inline::C (Status Update for Inline::CPP)
by davido (Archbishop) on Nov 13, 2011 at 09:12 UTC

    Hey, thanks for the input. I'll look it over within a day or so.

    Maybe I should set up a mailing list or something, since lengthy discussion here is probably a little too far out on a tangent to be on-topic in the Monastery.


    Dave

      I'll look it over within a day or so.

      No problems - there's no screaming urgency about this.

      The issue goes a bit deeper, too. (For the same reason, even with 0.25 you can't extract the source, build it, run 'make realclean', then build again for a perl that uses a different C++ compiler. For the second build you have to extract the source all over again.) I'll submit a bug report and tentative patch.

      Good luck with Inline::CPP !!

      Cheers,
      Rob

        Your patches have been applied for v0.30, and should show up on the mirrors within a few hours.

        Future bug announcements and discussion will take place on the RT site at: https://rt.cpan.org/Dist/Display.html?Name=Inline-CPP. I think for now the facilities that rt.cpan.org provides are adequate for our purposes in lieu of a dedicated mailing list. I look forward to seeing you there.

        Update: syphilis confirmed that the v0.30 distribution resolved this issue for him. Once the CPAN testers matrix catches up we'll know more.


        Dave

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://937808]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (10)
As of 2014-04-16 06:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (416 votes), past polls