summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/newt/files/cross_ar.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/newt/files/cross_ar.patch')
-rw-r--r--meta/recipes-extended/newt/files/cross_ar.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/meta/recipes-extended/newt/files/cross_ar.patch b/meta/recipes-extended/newt/files/cross_ar.patch
new file mode 100644
index 0000000000..f67239abda
--- /dev/null
+++ b/meta/recipes-extended/newt/files/cross_ar.patch
@@ -0,0 +1,51 @@
1Fix cross link using autoconf detected AR
2
3If building on 32bit host and creating 64bit libraries, the target
4package builds should not invoke the 32bit hosts's ar. Specifically
5you will get an error message like:
6
7x86_64-linux-gcc -m64 --sysroot=/opt/qemux86-64/tmp/sysroots/qemux86-64 -g -o test test.o libnewt.a -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -lslang
8libnewt.a: could not read symbols: Archive has no index; run ranlib to add one
9collect2: error: ld returned 1 exit status
10
11Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
12
13Upstream-Status: Pending
14
15---
16 Makefile.in | 3 ++-
17 configure.ac | 4 ++++
18 2 files changed, 6 insertions(+), 1 deletion(-)
19
20--- a/Makefile.in
21+++ b/Makefile.in
22@@ -7,6 +7,7 @@ CFLAGS = @CFLAGS@
23 LDFLAGS = @LDFLAGS@
24 CPPFLAGS = -D_GNU_SOURCE @CPPFLAGS@
25 GNU_LD = @GNU_LD@
26+AR = @AR@
27
28 VERSION = @VERSION@
29 TAG = r$(subst .,-,$(VERSION))
30@@ -95,7 +96,7 @@ whiptcl.so: $(WHIPTCLOBJS) $(LIBNEWTSH)
31 $(CC) -shared $(SHCFLAGS) $(LDFLAGS) -o whiptcl.so $(WHIPTCLOBJS) -L. -lnewt $(LIBTCL) -lpopt $(LIBS)
32
33 $(LIBNEWT): $(LIBOBJS)
34- ar rv $@ $^
35+ $(AR) rv $@ $^
36
37 newt.o $(SHAREDDIR)/newt.o: newt.c Makefile
38
39--- a/configure.ac
40+++ b/configure.ac
41@@ -14,6 +14,10 @@ AC_PROG_CC
42 AC_PROG_INSTALL
43 AC_PROG_LN_S
44 AC_PROG_GREP
45+AN_MAKEVAR([AR], [AC_PROG_AR])
46+AN_PROGRAM([ar], [AC_PROG_AR])
47+AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
48+AC_PROG_AR
49
50 # Are we using GNU ld?
51 AC_MSG_CHECKING([for GNU ld])