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:
parent
00cd7a584a
commit
4aaa4f952a
@ -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);
|
||||
|
@ -114,4 +114,8 @@
|
||||
# ifndef RANLIBMAG
|
||||
# define RANLIBMAG "__.SYMDEF"
|
||||
# endif
|
||||
#else
|
||||
# ifndef RANLIBMAG
|
||||
# define RANLIBMAG "/"
|
||||
# endif
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user