aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libtool/patches/000-relocatable.patch
blob: e6189d562a4024a46afac576e4293b3c08145ffc (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
From ca10caa502f971f90d8c041aa2476de54ef0ce2b Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cotequeiroz@gmail.com>
Date: Tue, 20 Jul 2021 16:41:11 -0300
Subject: openwrt: make relocatable, search resources relative to STAGING_DIR

This was originally commited to openwrt by Jo-Philipp Wich
<jow@openwrt.org>.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>

--- a/libtoolize.in
+++ b/libtoolize.in
@@ -38,14 +38,23 @@
 # with bootstrap, so set those here where they can still be over-
 # ridden by the user, but otherwise take precedence.
 
-: ${AUTOCONF="autoconf"}
-: ${AUTOMAKE="automake"}
-: ${EGREP="@EGREP@"}
-: ${FGREP="@FGREP@"}
-: ${GREP="@GREP@"}
 : ${LN_S="@LN_S@"}
-: ${SED="@SED@"}
 
+if test -n "$STAGING_DIR_HOST"; then
+	: ${AUTOCONF="$STAGING_DIR_HOST/bin/autoconf"}
+	: ${AUTOMAKE="$STAGING_DIR_HOST/bin/automake"}
+	: ${EGREP="$STAGING_DIR_HOST/bin/grep -E"}
+	: ${FGREP="$STAGING_DIR_HOST/bin/grep -F"}
+	: ${GREP="$STAGING_DIR_HOST/bin/grep"}
+	: ${SED="$STAGING_DIR_HOST/bin/sed"}
+else
+	: ${AUTOCONF="autoconf"}
+	: ${AUTOMAKE="automake"}
+	: ${EGREP="@EGREP@"}
+	: ${FGREP="@FGREP@"}
+	: ${GREP="@GREP@"}
+	: ${SED="@SED@"}
+fi
 
 ## -------------------------- ##
 ## Source external libraries. ##
@@ -1901,11 +1910,21 @@ func_require_seen_libtool ()
   pkgmacro_files="@pkgmacro_files@"
 
   # Locations for important files:
-  prefix="@prefix@"
-  datadir="@datadir@"
-  pkgauxdir="@pkgauxdir@"
-  pkgltdldir="@pkgdatadir@"
-  aclocaldir="@aclocaldir@"
+  if test -n "$STAGING_DIR_HOST"; then
+    prefix="$STAGING_DIR_HOST"
+    datadir="$STAGING_DIR_HOST/share"
+    pkgauxdir="$STAGING_DIR_HOST/share/libtool/build-aux"
+    pkgdatadir="$STAGING_DIR_HOST/share/libtool"
+    pkgltdldir="$STAGING_DIR_HOST/share/libtool"
+    aclocaldir="$STAGING_DIR_HOST/share/aclocal"
+  else
+    prefix="@prefix@"
+    datadir="@datadir@"
+    pkgauxdir="@pkgauxdir@"
+    pkgdatadir="@pkgdatadir@"
+    pkgltdldir="@pkgdatadir@"
+    aclocaldir="@aclocaldir@"
+  fi
 
   # Allow the user to override the master libtoolize repository:
   if test -n "$_lt_pkgdatadir"; then
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -931,7 +931,7 @@ m4_defun([_LT_TAG_COMPILER],
 [AC_REQUIRE([AC_PROG_CC])dnl
 
 _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], ["-O2 -I\${STAGING_DIR_HOST:-$STAGING_DIR_HOST}/include"], [LTCC compiler flags])dnl
 _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
 _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
 
@@ -8160,9 +8160,9 @@ m4_defun([_LT_DECL_EGREP],
 [AC_REQUIRE([AC_PROG_EGREP])dnl
 AC_REQUIRE([AC_PROG_FGREP])dnl
 test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
+_LT_DECL([], [GREP], ["\${STAGING_DIR_HOST:-$STAGING_DIR_HOST}/bin/grep"], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], ["\${STAGING_DIR_HOST:-$STAGING_DIR_HOST}/bin/grep -E"], [An ERE matcher])
+_LT_DECL([], [FGREP], ["\${STAGING_DIR_HOST:-$STAGING_DIR_HOST}/bin/grep -F"], [A literal string matcher])
 dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
 AC_SUBST([GREP])
 ])
@@ -8195,9 +8195,8 @@ AC_SUBST([DLLTOOL])
 # as few characters as possible.  Prefer GNU sed if found.
 m4_defun([_LT_DECL_SED],
 [AC_PROG_SED
-test -z "$SED" && SED=sed
 Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [SED], ["\${STAGING_DIR_HOST:-$STAGING_DIR_HOST}/bin/sed"], [A sed program that does not truncate output])
 _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
     [Sed that helps us avoid accidentally triggering echo(1) options like -n])
 ])# _LT_DECL_SED