On Wed, Feb 17, 2016 at 6:00 AM, Dave Mitchell <[email protected]> wrote:
> On Tue, Feb 16, 2016 at 10:34:07AM -0800, Russ Allbery wrote:
>> My preferred solution would be to require Encode as a prerequisite for
>> podlators when building core. Is there any way to do that?
>
> Probably, but the build system isn't my strong point. I tried hacking
> Makefile.SH so that it adds this line to Makefile if Encode hasn't been
> deselected:
>
> cpan/podlators/pm_to_blib: lib/auto/Encode/Encode.so
>
> but then I get this:
>
> make: Circular lib/auto/Encode/Encode.so <- makeppport dependency dropped.
> make: Circular DynaLoader.o <- cpan/podlators/pm_to_blib dependency
> dropped.
>
> Anyone have a better clue how to do this?
Possibly messing with the following section of code in make_ext.pl
would do something. If it works, it might be depending on Encode
being later in the alphabet than Cwd. If there's more to it than
that, this code could perhaps be changed from saying "build X before
everything else" to "build X before Y."
{
# Cwd needs to be built before Encode recurses into subdirectories.
# Pod::Simple needs to be built before Pod::Functions
# This seems to be the simplest way to ensure this ordering:
my (@first, @other);
foreach (@extspec) {
if ($_ eq 'Cwd' || $_ eq 'Pod/Simple') {
push @first, $_;
} else {
push @other, $_;
}
}
@extspec = (@first, @other);
}