diff --git a/SConstruct b/SConstruct index f944d7799..83dd04ef4 100644 --- a/SConstruct +++ b/SConstruct @@ -4,6 +4,8 @@ import glob import platform +import commands +import re OSX = bool(platform.mac_ver()[0]) FreeBSD = bool('FreeBSD' == platform.system()) @@ -23,6 +25,8 @@ env = Environment( tools = ['default', 'protoc'] ) +GCC_VERSION = re.split('\.', commands.getoutput(env['CXX'] + ' -dumpversion')) + # Use clang #env.Replace(CC = 'clang') #env.Replace(CXX = 'clang++') @@ -100,7 +104,10 @@ BOOSTFLAGS = ['-DBOOST_TEST_DYN_LINK', '-DBOOST_FILESYSTEM_NO_DEPRECATED'] env.Append(LINKFLAGS = ['-rdynamic', '-pthread']) env.Append(CCFLAGS = ['-pthread', '-Wall', '-Wno-sign-compare', '-Wno-char-subscripts', '-DSQLITE_THREADSAFE=1']) -env.Append(CXXFLAGS = ['-O0', '-std=c++11', '-pthread', '-Wno-invalid-offsetof', '-Wformat']+BOOSTFLAGS+DEBUGFLAGS) +env.Append(CXXFLAGS = ['-O0', '-pthread', '-Wno-invalid-offsetof', '-Wformat']+BOOSTFLAGS+DEBUGFLAGS) + +if (GCC_VERSION[0] > 4 or (GCC_VERSION[0] == 4 and GCC_VERSION[1] >= 7)): + env.Append(CXXFLAGS = ['-std=c++11']) if OSX: env.Append(LINKFLAGS = ['-L/usr/local/opt/openssl/lib'])