Fix a serious bug in make(1)'s handling of archive libraries.

This case did not need to be tested when RANLIBMAG was defined
(as when in an `aout' environment) because Arch_StatMember() treated
the two cases of the library not being present and a member of
the library not being present the same way, forcing a rebuild
of the library.  Since in the ELF environment we don't look inside
archive libraries we now need to check if the archive library is
present in order to determine its `out-of-date'-ness.

(I hope I've been able to meet the Oct 15th freeze).

Reported-by:	Steve Price (and a few others whom I've forgotten, sorry)
This commit is contained in:
Joseph Koshy 1998-10-15 13:00:34 +00:00
parent 69995bba79
commit 4a949c96ce

View File

@ -35,7 +35,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id$
* $Id: arch.c,v 1.8 1997/02/22 19:27:05 peter Exp $
*/
#ifndef lint
@ -1187,7 +1187,7 @@ Arch_LibOODate (gn)
oodate = TRUE;
}
#else
oodate = FALSE;
oodate = (gm->mtime == 0); /* out-of-date if not present */
#endif
}
return (oodate);