-my $ld;
-if (defined $cc) {
- $ld = check_exe('linker', 'LD', 'ld', 'LD');
+my ($cc, $ld);
+unless ($pp) {
+ $cc = check_exe('C compiler', 'CC', 'cc', 'CC');
+ if (defined $cc) {
+ my ($vol, $dir, $file) = File::Spec->splitpath($cc);
+ my $preferred_path = File::Spec->catpath($vol, $dir, '');
+ $ld = check_exe('linker', 'LD', 'ld', 'LD', $preferred_path);
+ }