1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-08 04:58:40 +03:00

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)
This commit is contained in:
Alexander Bokovoy 2003-02-15 22:51:15 +00:00
parent 88a4d79e7b
commit 22c875943d
2 changed files with 31 additions and 0 deletions

23
source3/aclocal.m4 vendored
View File

@ -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
])

View File

@ -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)
#################################################