Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Fixing an XS based dist

by Fletch (Bishop)
on Aug 09, 2005 at 19:55 UTC ( #482395=note: print w/replies, xml ) Need Help??


in reply to Fixing an XS based dist

Just to be pedantic: you haven't "fixed" anything, you've gotten it to compile.

Specifically you've gotten it to compile by lying about what platform you're on to the preprocessor and compiler. While this may be OK for emergencies, it's not the kind of thing you'd want to trust for a real, long term solution (think the equivalent of a mechanic using duct tape to strap something down in the middle of a race versus actually repairing or replacing the broken part). There could be subtle differences, for instance in edge cases where some routine returns different values on Cygwin than Win32 (hence the reason it was trying to distinguish between the two to begin with).

The "right" thing to do is for someone who is familiar with C to look at it and figure out what really does need to be conditional on just Cygwin and what will behave nice on naked Wintendo. But certainly send the results to the maintainer or the relevant mailing list to let them know what you've gotten working, and ask if anyone can take a crack at it (offering to help by trying patches if they don't have access to a Windows box will probably get you much further as well).

--
We're looking for people in ATL

Replies are listed 'Best First'.
Re^2: Fixing an XS based dist
by jk2addict (Chaplain) on Aug 09, 2005 at 20:02 UTC

    While I agree on the "Right things", I've been down that road. The current culture is mostly "we accept patches" with a side of "win32 suxOrs"; not from the author though.

    With that said, it DID pass its test suite, so it's certainly no more broken now than any other version of itself on any other platform at this point.

      Well it might not be passing its test suite or even building on any other platform unless you have built and tested on a variety of other platforms. The best way to go is to supply the output of diff -u <original_file> <changed_file> so that others can apply the patch and test on a variety of platforms.

      /J\

        Very true. I guess the same could be said for any (non c) change as well. Oh my kindom to have every platform at home to test on...wait I do. :-)

        I give it a shot on FreeBSD this evening. That should prove to be interesting.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2022-05-21 06:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (76 votes). Check out past polls.

    Notices?