# needed to build the nonxs modules
# After which, all nonxs modules are in lib, which was always sufficient to
# allow miniperl to build everything else.
+# Getopt::Long is here because it's used by podlators, which is one of the
+# nonxs modules.
# Term::ReadLine is not here for building but for allowing the debugger to
# run under miniperl when nothing but miniperl will build :-(.
+# Text::ParseWords is required in ExtUtils::Liblist::Kid
my @toolchain = qw(cpan/AutoLoader/lib
dist/Carp/lib
ext/File-Find/lib
cpan/Text-Tabs/lib
dist/constant/lib
+ cpan/version/lib
+ cpan/Getopt-Long/lib
+ cpan/Text-ParseWords/lib
);
-# Text-ParseWords used only in ExtUtils::Liblist::Kid::_win32_ext()
-# the rest are for XS building on Win32, since nonxs and xs build simultaneously
+# These are for XS building on Win32, since nonxs and xs build simultaneously
# on Win32 if parallel building
push @toolchain, qw(
- cpan/Text-ParseWords/lib
dist/ExtUtils-ParseXS/lib
- cpan/Getopt-Long/lib
cpan/parent/lib
cpan/ExtUtils-Constant/lib
- cpan/version/lib
) if $^O eq 'MSWin32';
push @toolchain, 'ext/VMS-Filespec/lib' if $^O eq 'VMS';
my $cwd = Cwd::getcwd();
+defined $cwd
+ or die "$0: Can't determine current working directory\n";
+
# lib must be last, as the toolchain modules write themselves into it
# as they build, and it's important that @INC order ensures that the partially
# written files are always masked by the complete versions.