[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFT PATCH v3 6/9] process postdeps to include sysrooted paths
From: |
Paolo Bonzini |
Subject: |
[RFT PATCH v3 6/9] process postdeps to include sysrooted paths |
Date: |
Thu, 29 Jul 2010 01:23:19 +0200 |
* libltdl/m4/libtool.m4 (_LT_FUNC_STRIPNAME_CNF): New (from Charles Wilson).
(_LT_SYS_HIDDEN_LIBDEPS): Require it. Use func_stripname_cnf to convert
sysroot (-L= and -R=) usage in postdeps. Adjust the code because -L, -R
and -l flags will now always be separated from the rest of the argument.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Charles Wilson <address@hidden>
---
libltdl/m4/libtool.m4 | 42 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 52efd48..3560740 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -6705,6 +6705,29 @@ AC_LANG_POP
])# _LT_LANG_CXX_CONFIG
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
# ---------------------------------
# Figure out "hidden" library dependencies from verbose
@@ -6713,6 +6736,7 @@ AC_LANG_POP
# objects, libraries and library flags.
m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
# Dependencies to place before and after the object being linked:
_LT_TAGVAR(predep_objects, $1)=
_LT_TAGVAR(postdep_objects, $1)=
@@ -6783,13 +6807,22 @@ if AC_TRY_EVAL(ac_compile); then
test $p = "-R"; then
prev=$p
continue
- else
- prev=
fi
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L;
p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R;
p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l;
p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result
;;
+ esac
if test "$pre_test_object_deps_done" = no; then
- case ${prev}${p} in
- -L* | -R*)
+ case ${prev} in
+ -L | -R)
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
@@ -6809,6 +6842,7 @@ if AC_TRY_EVAL(ac_compile); then
_LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
fi
fi
+ prev=
;;
*.$objext)
--
1.7.1
- [RFT PATCH v3 0/9] Sysroot patches, Paolo Bonzini, 2010/07/28
- [RFT PATCH v3 1/9] fix bug in postdeps computation, Paolo Bonzini, 2010/07/28
- [RFT PATCH v3 2/9] handle sysroot flags, Paolo Bonzini, 2010/07/28
- [RFT PATCH v3 3/9] add --with-sysroot, Paolo Bonzini, 2010/07/28
- [RFT PATCH v3 4/9] teach libtool -L= and -R=, Paolo Bonzini, 2010/07/28
- [RFT PATCH v3 6/9] process postdeps to include sysrooted paths,
Paolo Bonzini <=
- [RFT PATCH v3 7/9] emit sysrooted paths when installing .la files, Paolo Bonzini, 2010/07/28
- [RFT PATCH v3 9/9] initial version of the NEWS entry, Paolo Bonzini, 2010/07/28
- [RFT PATCH v3 8/9] add sysroot test, Paolo Bonzini, 2010/07/28
- [RFT PATCH v3 5/9] handle sysrooted paths when reading dependencies to la files, Paolo Bonzini, 2010/07/28
- Re: [RFT PATCH v3 0/9] Sysroot patches, Charles Wilson, 2010/07/29