Allow 'make' to check out elements within archive libraries.

"Make no longer properly parses archive files, so using archive members
      as make targets, as described in PSD:12 section 4.2, does not work."

Really should be merged into 3.3 before we ship if we can..
it's a trivial fix.

PR:		bin/13039, bin/10274
Submitted by:	Mikko Tyolajarvi mikko@dynas.se
This commit is contained in:
Julian Elischer 1999-09-10 20:51:59 +00:00
parent 00cd7a584a
commit 4aaa4f952a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=51132
2 changed files with 6 additions and 2 deletions

View file

@ -123,7 +123,7 @@ static int ArchFindArchive __P((ClientData, ClientData));
static void ArchFree __P((ClientData));
static struct ar_hdr *ArchStatMember __P((char *, char *, Boolean));
static FILE *ArchFindMember __P((char *, char *, struct ar_hdr *, char *));
#if defined(__svr4__) || defined(__SVR4)
#if defined(__svr4__) || defined(__SVR4) || defined(__ELF__)
#define SVR4ARCHIVES
static int ArchSVR4Entry __P((Arch *, char *, size_t, FILE *));
#endif
@ -478,7 +478,7 @@ ArchStatMember (archive, member, hash)
* the comparisons easier...
*/
cp = strrchr (member, '/');
if (cp != NULL)
if ((cp != NULL) && (strcmp(member, RANLIBMAG) != 0))
member = cp + 1;
ln = Lst_Find (archives, (ClientData) archive, ArchFindArchive);

View file

@ -114,4 +114,8 @@
# ifndef RANLIBMAG
# define RANLIBMAG "__.SYMDEF"
# endif
#else
# ifndef RANLIBMAG
# define RANLIBMAG "/"
# endif
#endif