Commit 460dcab4 by Richard Kenner

(find_a_file): Try EXECUTABLE_SUFFIX first, then file without the

suffix.

From-SVN: r7459
parent d008e26c
...@@ -1626,19 +1626,13 @@ find_a_file (pprefix, name, mode) ...@@ -1626,19 +1626,13 @@ find_a_file (pprefix, name, mode)
{ {
if (machine_suffix) if (machine_suffix)
{ {
strcpy (temp, pl->prefix);
strcat (temp, machine_suffix);
strcat (temp, name);
if (access (temp, mode) == 0)
{
if (pl->used_flag_ptr != 0)
*pl->used_flag_ptr = 1;
return temp;
}
/* Some systems have a suffix for executable files. /* Some systems have a suffix for executable files.
So try appending that. */ So try appending that first. */
if (file_suffix[0] != 0) if (file_suffix[0] != 0)
{ {
strcpy (temp, pl->prefix);
strcat (temp, machine_suffix);
strcat (temp, name);
strcat (temp, file_suffix); strcat (temp, file_suffix);
if (access (temp, mode) == 0) if (access (temp, mode) == 0)
{ {
...@@ -1647,13 +1641,10 @@ find_a_file (pprefix, name, mode) ...@@ -1647,13 +1641,10 @@ find_a_file (pprefix, name, mode)
return temp; return temp;
} }
} }
}
/* Certain prefixes are tried with just the machine type, /* Now try just the name. */
not the version. This is used for finding as, ld, etc. */
if (just_machine_suffix && pl->require_machine_suffix == 2)
{
strcpy (temp, pl->prefix); strcpy (temp, pl->prefix);
strcat (temp, just_machine_suffix); strcat (temp, machine_suffix);
strcat (temp, name); strcat (temp, name);
if (access (temp, mode) == 0) if (access (temp, mode) == 0)
{ {
...@@ -1661,10 +1652,19 @@ find_a_file (pprefix, name, mode) ...@@ -1661,10 +1652,19 @@ find_a_file (pprefix, name, mode)
*pl->used_flag_ptr = 1; *pl->used_flag_ptr = 1;
return temp; return temp;
} }
}
/* Certain prefixes are tried with just the machine type,
not the version. This is used for finding as, ld, etc. */
if (just_machine_suffix && pl->require_machine_suffix == 2)
{
/* Some systems have a suffix for executable files. /* Some systems have a suffix for executable files.
So try appending that. */ So try appending that first. */
if (file_suffix[0] != 0) if (file_suffix[0] != 0)
{ {
strcpy (temp, pl->prefix);
strcat (temp, just_machine_suffix);
strcat (temp, name);
strcat (temp, file_suffix); strcat (temp, file_suffix);
if (access (temp, mode) == 0) if (access (temp, mode) == 0)
{ {
...@@ -1673,12 +1673,9 @@ find_a_file (pprefix, name, mode) ...@@ -1673,12 +1673,9 @@ find_a_file (pprefix, name, mode)
return temp; return temp;
} }
} }
}
/* Certain prefixes can't be used without the machine suffix
when the machine or version is explicitly specified. */
if (!pl->require_machine_suffix)
{
strcpy (temp, pl->prefix); strcpy (temp, pl->prefix);
strcat (temp, just_machine_suffix);
strcat (temp, name); strcat (temp, name);
if (access (temp, mode) == 0) if (access (temp, mode) == 0)
{ {
...@@ -1686,10 +1683,18 @@ find_a_file (pprefix, name, mode) ...@@ -1686,10 +1683,18 @@ find_a_file (pprefix, name, mode)
*pl->used_flag_ptr = 1; *pl->used_flag_ptr = 1;
return temp; return temp;
} }
}
/* Certain prefixes can't be used without the machine suffix
when the machine or version is explicitly specified. */
if (!pl->require_machine_suffix)
{
/* Some systems have a suffix for executable files. /* Some systems have a suffix for executable files.
So try appending that. */ So try appending that first. */
if (file_suffix[0] != 0) if (file_suffix[0] != 0)
{ {
strcpy (temp, pl->prefix);
strcat (temp, name);
strcat (temp, file_suffix); strcat (temp, file_suffix);
if (access (temp, mode) == 0) if (access (temp, mode) == 0)
{ {
...@@ -1698,6 +1703,15 @@ find_a_file (pprefix, name, mode) ...@@ -1698,6 +1703,15 @@ find_a_file (pprefix, name, mode)
return temp; return temp;
} }
} }
strcpy (temp, pl->prefix);
strcat (temp, name);
if (access (temp, mode) == 0)
{
if (pl->used_flag_ptr != 0)
*pl->used_flag_ptr = 1;
return temp;
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment