summaryrefslogtreecommitdiff
blob: 9a3edd73613789664bafdbefb4c6fbd2d1e29722 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Upstream-PR: https://github.com/fontforge/libuninameslist/pull/27
From 77f4eea51b87c2e7a36cd3e1e64b424cdd5f7ad8 Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Fri, 13 May 2022 21:57:38 -0700
Subject: [PATCH] build: Link with .la files for internal deps

When building libuninameslist with --enable-frenchlib and slibtool the
build will fail when it can't find -luninameslist-fr.

However if libuninameslist is already installed to the system it will
compile successfully using the already installed version of
uninameslist-fr.so instead of the locally built new library.

This can be fixed by linking with the libtool archive (.la) instead as
should be done for internal dependencies while -l linker flags should be
only for external dependencies.

Additionally I removed the now redundant DEPENDENCIES and LIBADD line.

GNU libtool is less strict about user errors and will silently hide such
issues.

I missed this second issue until now when I fixed the previous issue in
PR https://github.com/fontforge/libuninameslist/pull/24.

Gentoo Bugs:
	https://bugs.gentoo.org/779670
	https://bugs.gentoo.org/792474
---
 Makefile.am | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index f9fe87c..68c64db 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -44,25 +44,21 @@ lib_LTLIBRARIES += libuninameslist.la
 
 include_HEADERS = uninameslist.h
 libuninameslist_la_LIBADD =
-EXTRA_libuninameslist_la_DEPENDENCIES =
 man_MANS = libuninameslist.3
 noinst_HEADERS = nameslist-dll.h
-LIBADD =
 
 if WANTLIBOFR
 include_HEADERS += uninameslist-fr.h
 libuninameslist_fr_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(FR_VERSION)
 libuninameslist_fr_la_SOURCES = nameslist-fr.c
 libuninameslist_fr_la.$(OBJEXT): uninameslist-fr.h nameslist-dll.h buildnameslist.h
-libuninameslist_la_LIBADD += -luninameslist-fr
-EXTRA_libuninameslist_la_DEPENDENCIES += libuninameslist-fr.la
+libuninameslist_la_LIBADD += libuninameslist-fr.la
 man_MANS += libuninameslist-fr.3
-LIBADD += -luninameslist-fr
 else
 EXTRA_DIST += nameslist-fr.c uninameslist-fr.h libuninameslist-fr.3
 endif
 
-libuninameslist_la_LDFLAGS = $(AM_LDFLAGS) $(LIBADD) -version-info $(UN_VERSION)
+libuninameslist_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(UN_VERSION)
 libuninameslist_la_SOURCES = nameslist.c
 libuninameslist_la.$(OBJEXT): uninameslist.h nameslist-dll.h buildnameslist.h