[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] (no subject)
From: |
Konstantinos Poulios |
Subject: |
[Getfem-commits] (no subject) |
Date: |
Fri, 12 Apr 2024 10:17:16 -0400 (EDT) |
branch: master
commit 30067565d5dd21989381d4cbd84dd3155b3e0c31
Author: Konstantinos Poulios <logari81@gmail.com>
AuthorDate: Fri Apr 12 16:16:02 2024 +0200
Treat clang separately in autoconf system and other minor build system
changes
---
CMakeLists.txt | 2 +-
configure.ac | 36 ++++++++++++++++++++++++++++--------
2 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0f8694be..b6dd7b7e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,7 +60,7 @@ set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH
"Installation prefix")
# General tests and configurations
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 14 CACHE STRING "Set C++ standard version (default: 14))
set(CMAKE_CXX_STANDARD_REQUIRED ON)
check_include_file_cxx("cxxabi.h" GETFEM_HAVE_CXXABI_H)
check_cxx_source_compiles(
diff --git a/configure.ac b/configure.ac
index 339025ba..8d03612d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@ dnl thus, updating cache ./config.cache avoided.
define([AC_CACHE_LOAD], )dnl
define([AC_CACHE_SAVE], )dnl
-AC_INIT(getfem, 5.4.2)
+AC_INIT([getfem],[5.4.2])
MAJOR_VERSION="5"
MINOR_VERSION="4"
PATCH_VERSION="2"
@@ -40,7 +40,7 @@ AC_DEFINE_UNQUOTED(GMM_VERSION,"${PACKAGE_VERSION}",[GMM
version])
AC_CONFIG_SRCDIR([install-sh])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config_autogenerated_not_used.h
src/getfem/getfem_arch_config.h src/gmm/gmm_arch_config.h])
-AC_PREREQ(2.61)
+AC_PREREQ([2.71])
AC_ARG_PROGRAM
dnl ------------------------------------------------------------------------
@@ -114,15 +114,12 @@ dnl AC_CXX_FULL_SPECIALIZATION_SYNTAX (c)Luc Maisonobe v
1.1.1.1 (2001/07/26)
dnl with some modification to test partial specialization
AC_CACHE_CHECK(whether the compiler recognizes the partial specialization
syntax,
ac_cv_cxx_partial_specialization_syntax,
-[AC_DIAGNOSE([obsolete],[Instead of using `AC_LANG', `AC_LANG_SAVE', and
`AC_LANG_RESTORE',
-you should use `AC_LANG_PUSH' and `AC_LANG_POP'.])dnl
-AC_LANG_SAVE
- AC_LANG([C++])
+[AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
template<class T> class A { public : int f () const { return 1; } };
template<class T> class A<T*> { public : int f () const { return 0; } };]],
[[
A<float*> a; return
a.f();]])],[ac_cv_cxx_partial_specialization_syntax=yes],[ac_cv_cxx_partial_specialization_syntax=no])
- AC_LANG_POP([])
+ AC_LANG_POP([C++])
])
if test "$ac_cv_cxx_partial_specialization_syntax" != yes; then
echo "Your compiler ($CXX) does not support partial template specialization,
trash it"
@@ -135,6 +132,29 @@ echo "you are compiling GetFEM on a $host"
case $CXX in
+ clang++)
+ GLANGVER=`$CXX --version | head -n 1 | grep -o -E
"[[:digit:]]+.[[:digit:]]+.[[:digit:]]+"`
+ echo "Using the clang++ compiler $GLANGVER"
+ AC_CHECK_CXX_FLAG([$with_optimization],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-fmessage-length=0],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-fvisibility-inlines-hidden],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-ftemplate-depth-100],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-std=c++14], CXXFLAGS, [AC_MSG_ERROR([Used clang++
version does not support option -std=c++14.])])
+ AC_CHECK_CXX_FLAG([-fPIC],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wall -W -Wextra],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wshadow],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wno-unknown-pragmas],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wno-variadic-macros],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wno-unused-but-set-variable],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wpointer-arith],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wcast-qual],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wwrite-strings],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wconversion],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wredundant-decls],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-Wno-long-long],CXXFLAGS)
+ AC_CHECK_CXX_FLAG([-rdynamic],SUPLDFLAGS)
+ CFLAGS="$CFLAGS $with_optimization -fPIC"
+ ;;
*g++* | c++)
GCCVER=`$CXX --version | head -1 | cut -d ' ' -f3`
echo "Using the GNU g++ compiler $GCCVER"
@@ -142,7 +162,7 @@ case $CXX in
AC_CHECK_CXX_FLAG([-fmessage-length=0],CXXFLAGS)
AC_CHECK_CXX_FLAG([-fvisibility-inlines-hidden],CXXFLAGS)
AC_CHECK_CXX_FLAG([-ftemplate-depth-100],CXXFLAGS)
- AC_CHECK_CXX_FLAG([-std=c++14],
CXXFLAGS,[AC_CHECK_CXX_FLAG([-std=c++0x],CXXFLAGS,[AC_MSG_ERROR([g++ do not
support option -std=c++14. Update g++ to at least release 4.9])] )])
+ AC_CHECK_CXX_FLAG([-std=c++14],
CXXFLAGS,[AC_CHECK_CXX_FLAG([-std=c++0x],CXXFLAGS,[AC_MSG_ERROR([Used g++ does
not support option -std=c++14. Update g++ to at least release 4.9])] )])
AC_CHECK_CXX_FLAG([-fPIC],CXXFLAGS)
AC_CHECK_CXX_FLAG([-Wall -W -Wextra],CXXFLAGS)
dnl AC_CHECK_CXX_FLAG([-pedantic],CXXFLAGS)
- [Getfem-commits] [getfem-commits] master updated (77d406e1 -> 9216a7ac), Konstantinos Poulios, 2024/04/12
- [Getfem-commits] (no subject), Konstantinos Poulios, 2024/04/12
- [Getfem-commits] (no subject), Konstantinos Poulios, 2024/04/12
- [Getfem-commits] (no subject), Konstantinos Poulios, 2024/04/12
- [Getfem-commits] (no subject), Konstantinos Poulios, 2024/04/12
- [Getfem-commits] (no subject),
Konstantinos Poulios <=
- [Getfem-commits] (no subject), Konstantinos Poulios, 2024/04/12