summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/aclocal.m427
1 files changed, 23 insertions, 4 deletions
diff --git a/source4/aclocal.m4 b/source4/aclocal.m4
index df29bf1995..57a66439a1 100644
--- a/source4/aclocal.m4
+++ b/source4/aclocal.m4
@@ -22,13 +22,32 @@ AC_DEFUN(CFLAGS_REMOVE_USR_INCLUDE,[
$1=[$]ac_new_flags
])
-dnl Removes -L/usr/lib/? from given variable
+dnl Removes '-L/usr/lib[/]', '-Wl,-rpath,/usr/lib[/]'
+dnl and '-Wl,-rpath -Wl,/usr/lib[/]' from given variable
AC_DEFUN(LIB_REMOVE_USR_LIB,[
ac_new_flags=""
+ l=""
for i in [$]$1; do
- case [$]i in
- -L/usr/lib|-L/usr/lib/) ;;
- *) ac_new_flags="[$]ac_new_flags [$]i" ;;
+ case [$]l[$]i in
+ -L/usr/lib) ;;
+ -L/usr/lib/) ;;
+ -Wl,-rpath,/usr/lib) ;;
+ -Wl,-rpath,/usr/lib/) ;;
+ -Wl,-rpath) l=[$]i;;
+ -Wl,-rpath-Wl,/usr/lib) l="";;
+ -Wl,-rpath-Wl,/usr/lib/) l="";;
+ *)
+ s=" "
+ if test x"[$]ac_new_flags" = x""; then
+ s="";
+ fi
+ if test x"[$]l" = x""; then
+ ac_new_flags="[$]ac_new_flags[$]s[$]i";
+ else
+ ac_new_flags="[$]ac_new_flags[$]s[$]l [$]i";
+ fi
+ l=""
+ ;;
esac
done
$1=[$]ac_new_flags