From 22c875943d2e8efe87c5f5049ace37d1135eb187 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy Date: Sat, 15 Feb 2003 22:51:15 +0000 Subject: Third-party configuration scripts may produce undesirable additions to CFLAGS/CPPFLAGS and LIBS/LDFALGS. In particular, they often don't check where the appropriate libraries were installed and pass -I/usr/include and -L/usr/lib as part of CFLAGS/LDFLAGS. While the latter isn't dangerous, passing system include directory through -I lead to change of its status in CPP from system to user-defined in many cases. This patch cleans up CFLAGS/CPPFLAGS from errorenous -I/usr/include and LIBS/LDFLAGS from -L/usr/lib. This is done as two m4 macros which are called before AC_OUTPUT. (This used to be commit 643172ac1a9b53823d704690eb03120074bbef78) --- source3/aclocal.m4 | 23 +++++++++++++++++++++++ source3/configure.in | 8 ++++++++ 2 files changed, 31 insertions(+) diff --git a/source3/aclocal.m4 b/source3/aclocal.m4 index 758dfa3b37..5b1500106c 100644 --- a/source3/aclocal.m4 +++ b/source3/aclocal.m4 @@ -462,3 +462,26 @@ int main(int argc, char *argv[]) rm -f conf.mysqltest ]) +dnl Removes -I/usr/include/? from given variable +AC_DEFUN(CFLAGS_REMOVE_USR_INCLUDE,[ + ac_new_flags="" + for i in [$]$1; do + case [$]i in + -I/usr/include|-I/usr/include/) ;; + *) ac_new_flags="[$]ac_new_flags [$]i" ;; + esac + done + $1=[$]ac_new_flags +]) + +dnl Removes -L/usr/lib/? from given variable +AC_DEFUN(LIB_REMOVE_USR_LIB,[ + ac_new_flags="" + for i in [$]$1; do + case [$]i in + -L/usr/lib|-L/usr/lib/) ;; + *) ac_new_flags="[$]ac_new_flags [$]i" ;; + esac + done + $1=[$]ac_new_flags +]) diff --git a/source3/configure.in b/source3/configure.in index c999326b15..25cc8bd250 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -3373,6 +3373,14 @@ AC_TRY_RUN([#include "${srcdir-.}/tests/summary.c"], builddir=`pwd` AC_SUBST(builddir) +dnl Remove -L/usr/lib/? from LDFLAGS and LIBS +LIB_REMOVE_USR_LIB(LDFLAGS) +LIB_REMOVE_USR_LIB(LIBS) + +dnl Remove -I/usr/include/? from CFLAGS and CPPFLAGS +CFLAGS_REMOVE_USR_INCLUDE(CFLAGS) +CFLAGS_REMOVE_USR_INCLUDE(CPPFLAGS) + AC_OUTPUT(include/stamp-h Makefile script/findsmb) ################################################# -- cgit