Re: VMS, configure.com and nonxs_ext

"Craig A. Berry" <[email protected]>
Newsgroups gmane.comp.lang.perl.ports.vms,gmane.comp.lang.perl.perl5.porters
Message-ID <[email protected]>
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:[email protected]

"... getting out of a sonnet is much more
  difficult than getting in."
                  Brad Leithauser
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.