[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl-Porters] Identifying Ported Modules



At 00.06 -0600 2000.01.13, Matthew Langford wrote:
>On Wed, 12 Jan 2000, Chris Nandor wrote:
>
>> >If it wouldn't get installed under Unix (the binary target couldn't be
>> >built), why are we installing it under MacOS?
>>
>> Oh, I see what you mean.  No, if there is some module that provides an
>> option of XS or non-XS then it very well may not fail.  It depends on the
>> makefile and such.
>
>Right.  I am specifically talking about make() and make_install() in
>MM_MacOS.pm.  They are, or should be, mirroring the "make" and "make
>install" targets in a Real Makefile.

They don't.  They merely take shortcuts to get a good approximation.  Here
is what happens: Perl uses MakeMaker to create the Makefile.  But under
Unix, make does that actual work of deciding what _really_ should be done.
Under MacPerl, we just take that data that would be used to construct a
Makefile (and the Makefile is actually created but not used) and install
what we think should be installed.  It ends up being possibly different
from what make would do (of course, this is true of varying platforms and
versions of make).


>They are smart enough to copy binaries if they exist.

Only because I basically have it install anything in :blib:, and the binary
distributions already have the binaries in the right spot for installation.

>Can't they tell
>when a binary is part of "make"?

If you can tell me how to know this for sure, then I could perhaps include
it.  But I don't know if that can be done reliably.


>In my admittedly incomplete inspection of the process, it seemed to me
>that if $(BASEEXT).xs exists, then a $(BASEEXT).c will be created, which
>will get rolled into $(SOURCES), which will end up in one or more of the
>Obj objects.  These will be part of a "make" target.

Sure, but as we discussed, that might not mean that a compilation is
actually required for the module to be installed and work properly.

-- 
Chris Nandor          mailto:pudge@pobox.com         http://pudge.net/
%PGPKey = ('B76E72AD', [1024, '0824090B CE73CA10  1FF77F13 8180B6B6'])

==== Want to unsubscribe from this list?
==== Send mail with body "unsubscribe" to macperl-porters-request@macperl.org