-my @toolchain = qw(ext/constant/lib ext/Cwd ext/ExtUtils-Command/lib
- ext/ExtUtils-Install/lib ext/ExtUtils-MakeMaker/lib
- ext/ExtUtils-Manifest/lib ext/Text-ParseWords/lib
- ext/File-Path/lib ext/AutoLoader/lib);
+# This list cannot get any longer without overflowing the length limit for
+# environment variables on VMS
+my @toolchain = qw(cpan/AutoLoader/lib
+ cpan/Cwd cpan/Cwd/lib
+ cpan/ExtUtils-Command/lib
+ dist/ExtUtils-Install/lib
+ cpan/ExtUtils-MakeMaker/lib
+ cpan/ExtUtils-Manifest/lib
+ cpan/File-Path/lib
+ );
+
+# Used only in ExtUtils::Liblist::Kid::_win32_ext()
+push @toolchain, 'cpan/Text-ParseWords/lib' if $is_Win32;
+
+my @ext_dirs = qw(cpan dist ext);
+my $ext_dirs_re = '(?:' . join('|', @ext_dirs) . ')';