On Sep 7, 2009, at 4:46 PM, Nicholas Clark wrote:

On Mon, Sep 07, 2009 at 08:55:29PM +0100, Nicholas Clark wrote:
This might be rather a big favour request.

This might be easier than I first thought

It occurred to me we ought to revisit this after getting vms/ext into ext. I don't think it will be huge, but it does involve grokking some DCL that has to work rather hard to do what it's doing. I'll take a look.

Would it be possible to augment the configure.com code that finds extensions
to correctly partition "nonxs_extensions" from "known_extensions"?
(being the rather bonkers way that Configure partitions XS and non-XS
extensions)


There's also dynamic_ext, right? Shouldn't dynamic_ext plus nonxs_extensions equal known_extensions?

I think that "every" XS extension has exactly one file named *.xs in it. Try
running

   perl -nlwe 'print $1 if m!^(ext/[^\/]+/\S+\.xs\b)!' MANIFEST

exclude from the output ext/DynaLoader (which is already a special case in
configure.com) and lines matching 'fallback/constants.xs' and one has
the list of all XS extensions. I hope that this algorithm is easy to
encode in DCL.


Well, I think what we would do is something like

$ if f$search("[.ext.''xxx']*.xs") .nes. ""
$ then
$    dynamic_ext = dynamic_ext + " ''xxx'"
$ else
$    nonxs_extensions = nonxs_extentions + " ''xxx'"
$ endif

If xxx is "Foo-Bar", that checks the filesystem for the presence of ext/Foo-Bar/*.xs. This would have to be done before xxx has gone through the replace_dash_with_slash logic, or xxx could possibly be a saved dash-containing version that we drag around for this purpose.


________________________________________
Craig A. Berry
mailto:craigbe...@mac.com

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to