On Wed, Nov 05, 2003 at 12:56:35AM +0100, Rafael Garcia-Suarez wrote:
> > Undertested commits leads to major breakage.
> > SDBM_File won't build anymore...

ext/SDBM_File/sdbm/Makefile.PL overrides top_targets but doesn't call the
superclass.  That's really fishy and fragile.  In particular, it means
the blibdirs target never gets written.

Frankly, the whole sdbm directory is fishy.  But that's old news.

The correct way to fix this is to make its top_targets() override sensible
and call its parent to make sure everything gets written.

--- ext/SDBM_File/sdbm/Makefile.PL    2003-11-04 15:50:29.000000000 -0800
+++ ext/SDBM_File/sdbm/Makefile.PL    2003-11-04 17:53:49.000000000 -0800
@@ -20,8 +20,9 @@
     C         => [qw(sdbm.c pair.c hash.c)]
 );
 
-sub MY::constants {
-    package MY;
+
+package MY;
+sub constants {
     my $self = shift;
 
     $self->{INST_STATIC} = 'libsdbm$(LIB_EXT)';
@@ -29,22 +30,19 @@
     return $self->SUPER::constants();
 }
 
-sub MY::top_targets {
+sub top_targets {
+    my $self = shift;
+
     my $r = '
-all :: static
-       $(NOECHO) $(NOOP)
 
-config ::
+all :: static
        $(NOECHO) $(NOOP)
 
 lint:
        lint -abchx $(LIBSRCS)
 
-# temporary kludge
-blibdirs:
-       $(MKPATH) $(INST_ARCHAUTODIR)
-
 ';
+
     $r .= '
 # This is a workaround, the problem is that our old GNU make exports
 # variables into the environment so $(MYEXTLIB) is set in here to this
@@ -53,5 +51,5 @@
        $(NOECHO) $(NOOP)
 ' unless $^O eq 'VMS';
 
-    return $r;
+    return $r . $self->SUPER::top_targets;
 }



- 
Michael G Schwern        [EMAIL PROTECTED]  http://www.pobox.com/~schwern/
Stupid am I?  Stupid like a fox!

Reply via email to