in reply to Re^2: Disputation of g0n on the power and efficacy of XS
in thread Disputation of g0n on the power and efficacy of XS

it would make life a lot easier to know when a module has a C/XS dependency.
That's pretty trivial, isn't? Configure CPAN.pm to automatically follow dependencies. Do a perl -MCPAN -e'test Module'. If it has a C/XS dependency, it fails. If it doesn't, it either success, or some other error pops up.

Yeah, it takes a few minutes more than looking it up a table. But it's hardly more work, and you're certain the answer will be accurate.

Replies are listed 'Best First'.
Re^4: Disputation of g0n on the power and efficacy of XS
by dragonchild (Archbishop) on Apr 21, 2005 at 13:34 UTC
    This assumes, of course, that you don't mind potentially having a bazillion new modules installed somewhere on your machine. It also requires that the machine you're working on has a direct connection to the Net. The machines I work on (I'm also a contractor) are firewalled. My PC has a direct connection and I download CPAN modules to it and then FTP them to the dev servers. So, it'll be just a wee bit more work than you imply.
      This assumes, of course, that you don't mind potentially having a bazillion new modules installed somewhere on your machine.
      I fail to see what the problem is. Note that I wrote "test Module". Not "install Module". It means that dependencies get installed in your CPAN build area. If you're done, it's just a matter of removing the build area. Of course, if you decide to install the module, and said module has a bazillion dependencies, you'll have to install them. If you don't want to, it doesn't really matter whether there's an XS dependency.
      It also requires that the machine you're working on has a direct connection to the Net.
      No it doesn't. There are many scripts floating around on the net that will create you a "lite-CPAN" - which contain all the modules of CPAN, but the most recent version only, and doesn't include full perl distros. The result is small enough to fit on a CD. Of course, you can figure out the XS dependency from you net connected PC as well. Note also that getting the modules from CPAN is a problem unrelated to any XS depencies. If there wasn't an XS dependency, you still need to get them.
        I fail to see what the problem is. Note that I wrote "test Module". Not "install Module". It means that dependencies get installed in your CPAN build area. If you're done, it's just a matter of removing the build area.

        Wrong, wrong, and wrong again. If I run "test Module" through the CPAN module and Module depends on Module2, then Module2 will be installed into the installation area specified by my .cpan/Config.pm (or the main Config.pm, if that doesn't exist). That is the only way the CPAN module knows to satisfy a dependency.