I don't understand XS well enough to understand the issue here or what
this patch is doing.  Could someone else comment on it?


----- Forwarded message from Ilya Zakharevich <[EMAIL PROTECTED]> -----

From: Ilya Zakharevich <[EMAIL PROTECTED]>
Date: Thu, 30 Oct 2003 21:24:49 -0800
To: Michael G Schwern <[EMAIL PROTECTED]>
Subject: Re: [PATCH 5.8.2 @21574] MakeMaker goof

On Thu, Oct 30, 2003 at 04:44:43PM -0800, Michael G Schwern wrote:
> On Thu, Oct 30, 2003 at 04:31:45PM -0800, Ilya Zakharevich wrote:
> > On Thu, Oct 30, 2003 at 03:58:44PM -0800, Michael G Schwern wrote:
> > > I'm holding up MakeMaker 6.18 on this issue, so if you could let me know 
> > > how that patch goes soon that would be great.  Thanks.

> > It builds.  I'm still running the tests.

> Thanks.

Success.  However, I do not see any trace of

  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2003-04/msg00469.html

being addressed.  Basically, 3 macros should be defined.  It is enough
to define them on Unix so far - the other platforms will follow.

Or one can copy the code from the above posting which makes it work on
Win32 into MM_Unix...

Yours,
Ilya

--- ./lib/ExtUtils/MM_Unix.pm.orig      Tue Oct 28 20:16:48 2003
+++ ./lib/ExtUtils/MM_Unix.pm   Thu Oct 30 21:11:48 2003
@@ -431,11 +431,12 @@ Prints out macros for lots of constants.
 
 sub constants {
     my($self) = @_;
-    my @m = ();
+    my @m = ("EMPTY_STRING =\n");
 
     for my $macro (qw(
 
               AR_STATIC_ARGS DIRFILESEP
+             AR_PRE_TARGET AR_OBJECT CC_PRE_TARGET
               NAME NAME_SYM 
               VERSION    VERSION_MACRO    VERSION_SYM DEFINE_VERSION
               XS_VERSION XS_VERSION_MACRO             XS_DEFINE_VERSION
@@ -1667,7 +1668,8 @@ sub init_DIRFILESEP {
 
 =item init_main
 
-Initializes AR, AR_STATIC_ARGS, BASEEXT, CONFIG, DISTNAME, DLBASE,
+Initializes AR, AR_PRE_TARGET, AR_OBJECT, AR_STATIC_ARGS, BASEEXT,
+CC_PRE_TARGET, CONFIG, DISTNAME, DLBASE,
 EXE_EXT, FULLEXT, FULLPERL, FULLPERLRUN, FULLPERLRUNINST, INST_*,
 INSTALL*, INSTALLDIRS, LIB_EXT, LIBPERL_A, MAP_TARGET, NAME,
 OBJ_EXT, PARENT_NAME, PERL, PERL_ARCHLIB, PERL_INC, PERL_LIB,
@@ -1868,6 +1870,9 @@ usually solves this kind of problem.
 # But I leave it as a placeholder
 
     $self->{AR_STATIC_ARGS} ||= "cr";
+    $self->{AR_PRE_TARGET}  ||= 'cr $(EMPTY_STRING)';
+    $self->{AR_OBJECT}      ||= '$(OBJECT)';
+    $self->{CC_PRE_TARGET}  ||= '-o $(EMPTY_STRING)';
 
     # These should never be needed
     $self->{OBJ_EXT} ||= '.o';
@@ -3707,7 +3712,7 @@ MAKE_FRAG
         $ar = 'AR';
     }
     push @m, sprintf <<'MAKE_FRAG', $ar;
-       $(%s) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@
+       $(%s) $(EXTRA_AR_OPT) $(AR_PRE_TARGET)$@ $(AR_OBJECT) && $(RANLIB) $@
        $(CHMOD) $(PERM_RWX) $@
        $(NOECHO) $(ECHO) "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld
 MAKE_FRAG

----- End forwarded message -----

-- 
Michael G Schwern        [EMAIL PROTECTED]  http://www.pobox.com/~schwern/
Now we come to that part of the email you've all been waiting for--the end.

Reply via email to