mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-20 08:44:33 +00:00
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
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=51132
|
@ -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 a new issue