mirror of
https://github.com/curl/curl.git
synced 2025-01-18 14:04:30 +08:00
configure: add internal sanity check (warn only) on vars for makefiles
This commit is contained in:
parent
c30c557e4d
commit
0969045b6e
95
configure.ac
95
configure.ac
@ -3614,6 +3614,101 @@ squeeze CURL_NETWORK_AND_TIME_LIBS
|
||||
squeeze SUPPORT_FEATURES
|
||||
squeeze SUPPORT_PROTOCOLS
|
||||
|
||||
dnl
|
||||
dnl Some sanity checks for LIBS, LDFLAGS, CPPFLAGS and CFLAGS values that
|
||||
dnl configure is going to feed into makefiles generated by automake. Due
|
||||
dnl to automake placement and usage of these variables we have to follow
|
||||
dnl its rules or we may get funny results later on at make-time.
|
||||
dnl
|
||||
|
||||
dnl
|
||||
dnl LIBS should only specify libraries
|
||||
dnl
|
||||
AC_MSG_NOTICE([using LIBS: $LIBS])
|
||||
tst_bad_spec="no"
|
||||
for word1 in $LIBS; do
|
||||
case "$word1" in
|
||||
-l* | --library=*)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
tst_bad_spec="yes"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test "$tst_bad_spec" = "yes"; then
|
||||
AC_MSG_WARN([oops, LIBS should only specify libraries.])
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl LDFLAGS should only specify linker flags
|
||||
dnl
|
||||
AC_MSG_NOTICE([using LDFLAGS: $LDFLAGS])
|
||||
tst_bad_msg="oops, LDFLAGS should only specify linker flags, not"
|
||||
for word1 in $LDFLAGS; do
|
||||
case "$word1" in
|
||||
-D*)
|
||||
AC_MSG_WARN([$tst_bad_msg macro definitions. Use CPPFLAGS for: $word1])
|
||||
;;
|
||||
-U*)
|
||||
AC_MSG_WARN([$tst_bad_msg macro suppressions. Use CPPFLAGS for: $word1])
|
||||
;;
|
||||
-I*)
|
||||
AC_MSG_WARN([$tst_bad_msg include directories. Use CPPFLAGS for: $word1])
|
||||
;;
|
||||
-l* | --library=*)
|
||||
AC_MSG_WARN([$tst_bad_msg libraries. Use LIBS for: $word1])
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
dnl
|
||||
dnl CPPFLAGS should only specify C preprocessor flags
|
||||
dnl
|
||||
AC_MSG_NOTICE([using CPPFLAGS: $CPPFLAGS])
|
||||
tst_bad_msg="oops, CPPFLAGS should only specify C preprocessor flags, not"
|
||||
for word1 in $CPPFLAGS; do
|
||||
case "$word1" in
|
||||
-rpath*)
|
||||
AC_MSG_WARN([$tst_bad_msg library runtime directories. Use LDFLAGS for: $word1])
|
||||
;;
|
||||
-L* | --library-path=*)
|
||||
AC_MSG_WARN([$tst_bad_msg library directories. Use LDFLAGS for: $word1])
|
||||
;;
|
||||
-l* | --library=*)
|
||||
AC_MSG_WARN([$tst_bad_msg libraries. Use LIBS for: $word1])
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
dnl
|
||||
dnl CFLAGS should only specify C compiler flags
|
||||
dnl
|
||||
AC_MSG_NOTICE([using CFLAGS: $CFLAGS])
|
||||
tst_bad_msg="oops, CFLAGS should only specify C compiler flags, not"
|
||||
for word1 in $CFLAGS; do
|
||||
case "$word1" in
|
||||
-D*)
|
||||
AC_MSG_WARN([$tst_bad_msg macro definitions. Use CPPFLAGS for: $word1])
|
||||
;;
|
||||
-U*)
|
||||
AC_MSG_WARN([$tst_bad_msg macro suppressions. Use CPPFLAGS for: $word1])
|
||||
;;
|
||||
-I*)
|
||||
AC_MSG_WARN([$tst_bad_msg include directories. Use CPPFLAGS for: $word1])
|
||||
;;
|
||||
-rpath*)
|
||||
AC_MSG_WARN([$tst_bad_msg library runtime directories. Use LDFLAGS for: $word1])
|
||||
;;
|
||||
-L* | --library-path=*)
|
||||
AC_MSG_WARN([$tst_bad_msg library directories. Use LDFLAGS for: $word1])
|
||||
;;
|
||||
-l* | --library=*)
|
||||
AC_MSG_WARN([$tst_bad_msg libraries. Use LIBS for: $word1])
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test "x$want_curldebug_assumed" = "xyes" &&
|
||||
test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then
|
||||
ac_configure_args="$ac_configure_args --enable-curldebug"
|
||||
|
Loading…
Reference in New Issue
Block a user