From bdf5f542e2af3d42973170fd18b917c69a9eccc1 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 16 Jul 2012 15:48:43 +0200 Subject: [PATCH] build-sys: add UL_PROG_CLANG function, rename warnings.m4 -> compiler.m4 Signed-off-by: Karel Zak --- .gitignore | 2 +- configure.ac | 3 +++ m4/{warnings.m4 => compiler.m4} | 28 ++++++++++++++++++++++++++-- 3 files changed, 30 insertions(+), 3 deletions(-) rename m4/{warnings.m4 => compiler.m4} (67%) diff --git a/.gitignore b/.gitignore index 76da76351d..2c3cc3eec4 100644 --- a/.gitignore +++ b/.gitignore @@ -53,7 +53,7 @@ config/ltmain.sh # util-linux specific macros !m4/ul.m4 -!m4/warnings.m4 +!m4/compiler.m4 # # binaries diff --git a/configure.ac b/configure.ac index cf62d64b78..ba63e4438b 100644 --- a/configure.ac +++ b/configure.ac @@ -89,6 +89,7 @@ AC_SUBST([usrsbin_execdir]) usrlib_execdir='${exec_prefix}/'$libdirname AC_SUBST([usrlib_execdir]) + AM_PROG_CC_C_O AC_PROG_CC_STDC AC_GNU_SOURCE @@ -97,6 +98,8 @@ AC_C_CONST AC_C_VOLATILE AC_C_BIGENDIAN +UL_PROG_CLANG + dnl Compiler warnings UL_WARN_ADD([-Wextra]) UL_WARN_ADD([-Wno-missing-field-initializers]) diff --git a/m4/warnings.m4 b/m4/compiler.m4 similarity index 67% rename from m4/warnings.m4 rename to m4/compiler.m4 index 33160a9600..02e7af22a6 100644 --- a/m4/warnings.m4 +++ b/m4/compiler.m4 @@ -1,11 +1,10 @@ -# warnings.m4 serial 5 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson -dnl -- derivated from coreutils +dnl -- derivated from coreutils m4/warnings.m4 # UL_AS_VAR_APPEND(VAR, VALUE) # ---------------------------- @@ -36,3 +35,28 @@ AS_VAR_IF(ul_Warn, [yes], AS_VAR_POPDEF([ul_Warn])dnl m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl ]) + + +# UL_PROG_CLANG +# ------------- +# Checks if compiler is clang, defines compiler_clang=yes if yes +AC_DEFUN([UL_PROG_CLANG], [ + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([whether clang is in use], [ul_cv_clang], [ + case ${CC} in #( + *gcc*) ul_cv_clang=no ;; + *clang*) ul_cv_clang=yes ;; + *) AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main() { + #ifdef __clang__ + return 0; + #else + #error The __clang__ was not defined + #endif + }])], + [ul_cv_clang=yes], + [ul_cv_clang=no] + ) ;; + esac + ]) + compiler_clang=$ul_cv_clang +]) -- 2.47.3