---- a/libltdl/config/general.m4sh
-+++ b/libltdl/config/general.m4sh
-@@ -53,7 +53,11 @@ test "${ECHO+set}" = set || ECHO=${as_ec
- : ${MKDIR="mkdir"}
- : ${MV="mv -f"}
- : ${RM="rm -f"}
--: ${SED="@SED@"}
-+if test -n "$STAGING_DIR"; then
-+ : ${SED="$STAGING_DIR/../host/bin/sed"}
-+else
-+ : ${SED="@SED@"}
-+fi
- : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
- : ${Xsed="$SED -e 1s/^X//"}
-
+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>.
+
+(adjusted to v2.4.6)
+Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
+
--- a/libtoolize.in
+++ b/libtoolize.in
-@@ -334,7 +334,11 @@ test "${ECHO+set}" = set || ECHO=${as_ec
- : ${MKDIR="mkdir"}
- : ${MV="mv -f"}
- : ${RM="rm -f"}
+@@ -40,11 +40,18 @@
+
+ : ${AUTOCONF="autoconf"}
+ : ${AUTOMAKE="automake"}
+-: ${EGREP="@EGREP@"}
+-: ${FGREP="@FGREP@"}
+-: ${GREP="@GREP@"}
+ : ${LN_S="@LN_S@"}
-: ${SED="@SED@"}
+if test -n "$STAGING_DIR"; then
++ : ${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
++ : ${EGREP="@EGREP@"}
++ : ${FGREP="@FGREP@"}
++ : ${GREP="@GREP@"}
+ : ${SED="@SED@"}
+fi
- : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
- : ${Xsed="$SED -e 1s/^X//"}
-
-@@ -2476,10 +2480,17 @@ func_check_macros ()
- # Locations for important files:
- prefix=@prefix@
-- datadir=@datadir@
-- pkgdatadir=@pkgdatadir@
-- pkgltdldir=@pkgdatadir@
-- aclocaldir=@aclocaldir@
-+ if test -n "$STAGING_DIR"; then
-+ datadir="$STAGING_DIR/../host/share"
-+ pkgdatadir="$STAGING_DIR/../host/share/libtool"
-+ pkgltdldir="$STAGING_DIR/../host/share/libtool"
-+ aclocaldir="$STAGING_DIR/../host/share/aclocal"
-+ else
-+ datadir=@datadir@
-+ pkgdatadir=@pkgdatadir@
-+ pkgltdldir=@pkgdatadir@
-+ aclocaldir=@aclocaldir@
-+ fi
- auxdir=
- macrodir=
- configure_ac=configure.in
---- a/libtoolize.m4sh
-+++ b/libtoolize.m4sh
-@@ -1450,10 +1450,17 @@ func_check_macros ()
- # Locations for important files:
- prefix=@prefix@
-- datadir=@datadir@
-- pkgdatadir=@pkgdatadir@
-- pkgltdldir=@pkgdatadir@
-- aclocaldir=@aclocaldir@
-+ if test -n "$STAGING_DIR"; then
-+ datadir="$STAGING_DIR/../host/share"
-+ pkgdatadir="$STAGING_DIR/../host/share/libtool"
-+ pkgltdldir="$STAGING_DIR/../host/share/libtool"
-+ aclocaldir="$STAGING_DIR/../host/share/aclocal"
-+ else
-+ datadir=@datadir@
-+ pkgdatadir=@pkgdatadir@
-+ pkgltdldir=@pkgdatadir@
-+ aclocaldir=@aclocaldir@
-+ fi
- auxdir=
- macrodir=
- configure_ac=configure.in
---- a/libltdl/m4/libtool.m4
-+++ b/libltdl/m4/libtool.m4
-@@ -875,9 +875,8 @@ dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+ ## -------------------------- ##
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -929,9 +929,8 @@ dnl AC_DEFUN([AC_LIBTOOL_RC], [])
# ----------------
m4_defun([_LT_TAG_COMPILER],
[AC_REQUIRE([AC_PROG_CC])dnl
_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-@@ -7544,9 +7543,8 @@ AC_SUBST([DLLTOOL])
+@@ -8160,9 +8159,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:-$STAGING_DIR}/../host/bin/grep"], [A grep program that handles long lines])
++_LT_DECL([], [EGREP], ["\${STAGING_DIR:-$STAGING_DIR}/../host/bin/grep -E"], [An ERE matcher])
++_LT_DECL([], [FGREP], ["\${STAGING_DIR:-$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 +8194,8 @@ AC_SUBST([DLLTOOL])
# as few characters as possible. Prefer GNU sed if found.
m4_defun([_LT_DECL_SED],
[AC_PROG_SED