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