From e026b38ab67fbab8b0d52e988231f2dab70080fd Mon Sep 17 00:00:00 2001 From: amrein Date: Wed, 8 Mar 2017 17:29:20 +0000 Subject: [PATCH] Bump c++ standard support from c++11 to c++14 git-svn-id: svn://ultimatepp.org/upp/trunk@10923 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppbox/Scripts/CLANGMK.bm | 2 +- uppbox/Scripts/GCCMK.bm | 2 +- uppbox/Scripts/domake | 19 +++++++++++++++++-- uppbox/Scripts/upp-devel.spec | 5 +++-- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/uppbox/Scripts/CLANGMK.bm b/uppbox/Scripts/CLANGMK.bm index f1649a1a8b..998f75f32a 100644 --- a/uppbox/Scripts/CLANGMK.bm +++ b/uppbox/Scripts/CLANGMK.bm @@ -1,7 +1,7 @@ BUILDER = "CLANG"; COMPILER = "clang++"; COMMON_OPTIONS = "-Wno-logical-op-parentheses"; -COMMON_CPP_OPTIONS = "-std=c++11"; +COMMON_CPP_OPTIONS = "-std=c++14"; COMMON_C_OPTIONS = ""; COMMON_FLAGS = ""; DEBUG_INFO = "2"; diff --git a/uppbox/Scripts/GCCMK.bm b/uppbox/Scripts/GCCMK.bm index 48500c6e00..07c845459a 100644 --- a/uppbox/Scripts/GCCMK.bm +++ b/uppbox/Scripts/GCCMK.bm @@ -1,5 +1,5 @@ BUILDER = "GCC"; -COMMON_CPP_OPTIONS = "-std=c++11"; +COMMON_CPP_OPTIONS = "-std=c++14"; DEBUG_INFO = "2"; DEBUG_BLITZ = "1"; DEBUG_LINKMODE = "1"; diff --git a/uppbox/Scripts/domake b/uppbox/Scripts/domake index 3dde20090b..29ff12c95e 100755 --- a/uppbox/Scripts/domake +++ b/uppbox/Scripts/domake @@ -11,6 +11,9 @@ minimum_gcc_dumpversion="4.9.0" minimum_gcc_version=$(convert_version_to_number "$minimum_gcc_dumpversion") +minimum_clang_dumpversion="3.5.0" +minimum_clang_version=$(convert_version_to_number "$minimum_clang_dumpversion") + show_debug_info="true" show_debug_warning="true" show_debug_error="true" @@ -28,7 +31,7 @@ unset make_parameter_array ### Constants DEFAULT_GCC_CXXFLAGS="" -DEFAULT_CLANG_CXXFLAGS="-O3 -ffunction-sections -fdata-sections -Wno-logical-op-parentheses -std=c++11" +DEFAULT_CLANG_CXXFLAGS="-O3 -ffunction-sections -fdata-sections -Wno-logical-op-parentheses -std=c++14" DEFAULT_CPP_CXXFLAGS="" DEFAULT_OTHER_CPP_CXXFLAGS="" @@ -215,8 +218,9 @@ else gcc_dumpversion=$(gcc -dumpversion) gcc_version=$(convert_version_to_number "$gcc_dumpversion") - if [ "$gcc_version" -gt "$minimum_gcc_version" ] + if [ "$gcc_version" -ge "$minimum_gcc_version" ] then + log_debug_info "Will use g++ version: $gcc_dumpversion" use_gcc="true" CXX="g++" @@ -232,9 +236,20 @@ else if which clang++ then log_debug_info "Found $(which clang++)" + + clang_dumpversion=$(clang++ -dumpversion) + clang_version=$(convert_version_to_number "$clang_dumpversion") + + log_debug_info "Will use clang++ version: $clang_dumpversion" use_clang="true" CXX="clang++" + if [ "$clang_version" -lt "$minimum_clang_version" ] + then + log_debug_warning "The clang++ compiler found (e.q $clang_dumpversion) has a lower version than the minimum required version (e.q $minimum_clang_dumpversion)" + + fi + else log_debug_info "Searching for a standard c++ compiler" diff --git a/uppbox/Scripts/upp-devel.spec b/uppbox/Scripts/upp-devel.spec index 9b375771e8..1c0f15a863 100644 --- a/uppbox/Scripts/upp-devel.spec +++ b/uppbox/Scripts/upp-devel.spec @@ -128,7 +128,7 @@ LIBDIR=$( pkg-config --libs-only-L gtk+-2.0 libnotify x11 | awk ' { gsub ( / /, cat > %{buildroot}/%{_datadir}/%{name}/GCC.bm << EOF BUILDER = "GCC"; COMPILER = "g++"; -COMMON_CPP_OPTIONS = "-std=c++11"; +COMMON_CPP_OPTIONS = "-std=c++14"; DEBUG_INFO = "2"; DEBUG_BLITZ = "1"; DEBUG_LINKMODE = "1"; @@ -156,7 +156,7 @@ cat > %{buildroot}/%{_datadir}/%{name}/CLANG.bm << EOF BUILDER = "CLANG"; COMPILER = "clang++"; COMMON_OPTIONS = "-Wno-logical-op-parentheses"; -COMMON_CPP_OPTIONS = "-std=c++11"; +COMMON_CPP_OPTIONS = "-std=c++14"; COMMON_C_OPTIONS = ""; COMMON_FLAGS = ""; DEBUG_INFO = "2"; @@ -206,6 +206,7 @@ rm -fr %{buildroot} %changelog * %date Amrein-Marie Christophe %version-1 - New snapshot +- Used stdc++14 instead of stdc++11 in build method files (.bm) * Tue Jan 31 2017 Amrein-Marie Christophe 2017.1-1 - New release