summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/aclocal.m429
1 files changed, 24 insertions, 5 deletions
diff --git a/source3/aclocal.m4 b/source3/aclocal.m4
index 185bae0f44..5d9a9e054b 100644
--- a/source3/aclocal.m4
+++ b/source3/aclocal.m4
@@ -263,14 +263,33 @@ AC_DEFUN(CFLAGS_REMOVE_USR_INCLUDE,[
done
$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