mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-25 07:28:20 +00:00
Enable warnings when building as a developer with Clang
The configure-script logic that automatically enables warnings when building in a development tree didn't work for Clang because it was identified as an old GCC version. * configure.ac: Don't test Clang version as if it were GCC.
This commit is contained in:
parent
e2f3b0f16e
commit
13c8cc58bb
28
configure.ac
28
configure.ac
@ -965,6 +965,17 @@ AC_DEFUN([gl_GCC_VERSION_IFELSE],
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# clang is unduly picky about some things.
|
||||||
|
AC_CACHE_CHECK([whether the compiler is clang], [emacs_cv_clang],
|
||||||
|
[AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[
|
||||||
|
#ifndef __clang__
|
||||||
|
error "not clang";
|
||||||
|
#endif
|
||||||
|
]])],
|
||||||
|
[emacs_cv_clang=yes],
|
||||||
|
[emacs_cv_clang=no])])
|
||||||
|
|
||||||
AC_ARG_ENABLE([gcc-warnings],
|
AC_ARG_ENABLE([gcc-warnings],
|
||||||
[AS_HELP_STRING([--enable-gcc-warnings@<:@=TYPE@:>@],
|
[AS_HELP_STRING([--enable-gcc-warnings@<:@=TYPE@:>@],
|
||||||
[control generation of GCC warnings. The TYPE 'yes'
|
[control generation of GCC warnings. The TYPE 'yes'
|
||||||
@ -984,7 +995,11 @@ AC_ARG_ENABLE([gcc-warnings],
|
|||||||
# just a release imported into Git for patch management.
|
# just a release imported into Git for patch management.
|
||||||
gl_gcc_warnings=no
|
gl_gcc_warnings=no
|
||||||
if test -e "$srcdir"/.git && test ! -f "$srcdir"/.tarball-version; then
|
if test -e "$srcdir"/.git && test ! -f "$srcdir"/.tarball-version; then
|
||||||
gl_GCC_VERSION_IFELSE([5], [3], [gl_gcc_warnings=warn-only])
|
# Clang typically identifies itself as GCC 4.2 or something similar
|
||||||
|
# even if it is recent enough to accept the warnings we enable.
|
||||||
|
AS_IF([test "$emacs_cv_clang" = yes],
|
||||||
|
[gl_gcc_warnings=warn-only],
|
||||||
|
[gl_GCC_VERSION_IFELSE([5], [3], [gl_gcc_warnings=warn-only])])
|
||||||
fi])
|
fi])
|
||||||
|
|
||||||
AC_ARG_ENABLE([check-lisp-object-type],
|
AC_ARG_ENABLE([check-lisp-object-type],
|
||||||
@ -996,17 +1011,6 @@ if test "$enable_check_lisp_object_type" = yes; then
|
|||||||
[Define to enable compile-time checks for the Lisp_Object data type.])
|
[Define to enable compile-time checks for the Lisp_Object data type.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# clang is unduly picky about some things.
|
|
||||||
AC_CACHE_CHECK([whether the compiler is clang], [emacs_cv_clang],
|
|
||||||
[AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([[
|
|
||||||
#ifndef __clang__
|
|
||||||
error "not clang";
|
|
||||||
#endif
|
|
||||||
]])],
|
|
||||||
[emacs_cv_clang=yes],
|
|
||||||
[emacs_cv_clang=no])])
|
|
||||||
|
|
||||||
WERROR_CFLAGS=
|
WERROR_CFLAGS=
|
||||||
# When compiling with GCC, prefer -isystem to -I when including system
|
# When compiling with GCC, prefer -isystem to -I when including system
|
||||||
# include files, to avoid generating useless diagnostics for the files.
|
# include files, to avoid generating useless diagnostics for the files.
|
||||||
|
Loading…
Reference in New Issue
Block a user