diff options
-rw-r--r-- | source4/aclocal.m4 | 27 |
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 |