1- import os , sys , commands
1+ import os , sys , SCons .Errors
2+ from subprocess import check_output
3+
24env = Environment (ENV = os .environ )
35
46# figure out a better way to configure this
5- if os . environ . has_key ( 'CXX' ) :
7+ if 'CXX' in os . environ :
68 env ['CXX' ] = os .environ ['CXX' ]
79
8- if os . environ . has_key ( 'DEBUG' ) :
10+ if 'DEBUG' in os . environ :
911 env ['DEBUG' ] = os .environ ['DEBUG' ]
1012
11- if os . environ . has_key ( 'CXXFLAGS' ) :
13+ if 'CXXFLAGS' in os . environ :
1214 #env['CXXFLAGS'] = os.environ['CXXFLAGS']
1315 env .Append (CXXFLAGS = os .environ ['CXXFLAGS' ])
1416
15- if os . environ . has_key ( 'LINKFLAGS' ) :
17+ if 'LINKFLAGS' in os . environ :
1618 #env['LDFLAGS'] = os.environ['LDFLAGS']
1719 env .Append (LINKFLAGS = os .environ ['LINKFLAGS' ])
1820
@@ -22,24 +24,24 @@ if os.environ.has_key('LINKFLAGS'):
2224## or set BOOST_INCLUDES and BOOST_LIBS if Boost comes with your OS distro e.g. and
2325## needs BOOST_INCLUDES=/usr/include/boost and BOOST_LIBS=/usr/lib like Ubuntu.
2426##
25- if os . environ . has_key ( 'BOOSTROOT' ) :
27+ if 'BOOSTROOT' in os . environ :
2628 os .environ ['BOOST_ROOT' ] = os .environ ['BOOSTROOT' ]
2729
28- if os . environ . has_key ( 'BOOST_ROOT' ) :
30+ if 'BOOST_ROOT' in os . environ :
2931 env ['BOOST_INCLUDES' ] = os .environ ['BOOST_ROOT' ]
3032 env ['BOOST_LIBS' ] = os .path .join (os .environ ['BOOST_ROOT' ], 'stage' , 'lib' )
31- elif os . environ . has_key ( 'BOOST_INCLUDES' ) and os .environ . has_key ( 'BOOST_LIBS' ) :
33+ elif 'BOOST_INCLUDES' in os .environ and 'BOOST_LIBS' in os . environ :
3234 env ['BOOST_INCLUDES' ] = os .environ ['BOOST_INCLUDES' ]
3335 env ['BOOST_LIBS' ] = os .environ ['BOOST_LIBS' ]
3436else :
35- raise SCons .Errors .UserError , "Neither BOOST_ROOT, nor BOOST_INCLUDES + BOOST_LIBS was set!"
37+ raise SCons .Errors .UserError ( "Neither BOOST_ROOT, nor BOOST_INCLUDES + BOOST_LIBS were set!" )
3638
3739## Custom OpenSSL
38- if os . environ . has_key ( 'OPENSSL_PATH' ) :
40+ if 'OPENSSL_PATH' in os . environ :
3941 env .Append (CPPPATH = os .path .join (os .environ ['OPENSSL_PATH' ], 'include' ))
4042 env .Append (LIBPATH = os .environ ['OPENSSL_PATH' ])
4143
42- if os . environ . has_key ( 'WSPP_ENABLE_CPP11' ) :
44+ if 'WSPP_ENABLE_CPP11' in os . environ :
4345 env ['WSPP_ENABLE_CPP11' ] = True
4446else :
4547 env ['WSPP_ENABLE_CPP11' ] = False
@@ -76,17 +78,17 @@ if env['PLATFORM'].startswith('win'):
7678 env ['CCFLAGS' ] = '%s /EHsc /GR /GS- /MD /nologo %s %s' % (warn_flags , arch_flags , opt_flags )
7779 env ['LINKFLAGS' ] = '/INCREMENTAL:NO /MANIFEST /NOLOGO /OPT:REF /OPT:ICF /MACHINE:X86'
7880elif env ['PLATFORM' ] == 'posix' :
79- if env . has_key ( 'DEBUG' ) :
81+ if 'DEBUG' in env :
8082 env .Append (CCFLAGS = ['-g' , '-O0' ])
8183 else :
8284 env .Append (CPPDEFINES = ['NDEBUG' ])
8385 env .Append (CCFLAGS = ['-O1' , '-fomit-frame-pointer' ])
8486 env .Append (CCFLAGS = ['-Wall' ])
8587 #env['LINKFLAGS'] = ''
8688elif env ['PLATFORM' ] == 'darwin' :
87- if not os . environ . has_key ( 'CXX' ) :
89+ if not 'CXX' in os . environ :
8890 env ['CXX' ] = "clang++"
89- if env . has_key ( 'DEBUG' ) :
91+ if 'DEBUG' in env :
9092 env .Append (CCFLAGS = ['-g' , '-O0' ])
9193 else :
9294 env .Append (CPPDEFINES = ['NDEBUG' ])
@@ -157,29 +159,29 @@ env_cpp11 = env.Clone ()
157159
158160if env_cpp11 ['CXX' ].startswith ('g++' ):
159161 # TODO: check g++ version
160- GCC_VERSION = commands . getoutput ( env_cpp11 ['CXX' ] + ' -dumpversion' )
162+ GCC_VERSION = check_output ([ env_cpp11 ['CXX' ], ' -dumpversion']). decode ( "utf-8" )
161163
162164 if GCC_VERSION > "4.4.0" :
163- print "C++11 build environment partially enabled"
165+ print ( "C++11 build environment partially enabled" )
164166 env_cpp11 .Append (WSPP_CPP11_ENABLED = "true" ,CXXFLAGS = ['-std=c++0x' ],TOOLSET = ['g++' ],CPPDEFINES = ['_WEBSOCKETPP_CPP11_STL_' ])
165167 else :
166- print "C++11 build environment is not supported on this version of G++"
168+ print ( "C++11 build environment is not supported on this version of G++" )
167169elif env_cpp11 ['CXX' ].startswith ('clang++' ):
168- print "C++11 build environment enabled"
169- env .Append (CXXFLANGS = ['-stdlib=libc++' ],LINKFLAGS = ['-stdlib=libc++' ])
170+ print ( "C++11 build environment enabled" )
171+ env .Append (CXXFLAGS = ['-stdlib=libc++' ],LINKFLAGS = ['-stdlib=libc++' ])
170172 env_cpp11 .Append (WSPP_CPP11_ENABLED = "true" ,CXXFLAGS = ['-std=c++0x' ,'-stdlib=libc++' ],LINKFLAGS = ['-stdlib=libc++' ],TOOLSET = ['clang++' ],CPPDEFINES = ['_WEBSOCKETPP_CPP11_STL_' ])
171173
172174 # look for optional second boostroot compiled with clang's libc++ STL library
173175 # this prevents warnings/errors when linking code built with two different
174176 # incompatible STL libraries.
175- if os . environ . has_key ( 'BOOST_ROOT_CPP11' ) :
177+ if 'BOOST_ROOT_CPP11' in os . environ :
176178 env_cpp11 ['BOOST_INCLUDES' ] = os .environ ['BOOST_ROOT_CPP11' ]
177179 env_cpp11 ['BOOST_LIBS' ] = os .path .join (os .environ ['BOOST_ROOT_CPP11' ], 'stage' , 'lib' )
178- elif os . environ . has_key ( 'BOOST_INCLUDES_CPP11' ) and os .environ . has_key ( 'BOOST_LIBS_CPP11' ) :
180+ elif 'BOOST_INCLUDES_CPP11' in os .environ and 'BOOST_LIBS_CPP11' in os . environ :
179181 env_cpp11 ['BOOST_INCLUDES' ] = os .environ ['BOOST_INCLUDES_CPP11' ]
180182 env_cpp11 ['BOOST_LIBS' ] = os .environ ['BOOST_LIBS_CPP11' ]
181183else :
182- print "C++11 build environment disabled"
184+ print ( "C++11 build environment disabled" )
183185
184186# if the build system is known to allow the isystem modifier for library include
185187# values then use it for the boost libraries. Otherwise just add them to the
@@ -271,8 +273,8 @@ subprotocol_server = SConscript('#/examples/subprotocol_server/SConscript',varia
271273# telemetry_server
272274telemetry_server = SConscript ('#/examples/telemetry_server/SConscript' ,variant_dir = builddir + 'telemetry_server' ,duplicate = 0 )
273275
274- # external_io_service
275- external_io_service = SConscript ('#/examples/external_io_service /SConscript' ,variant_dir = builddir + 'external_io_service ' ,duplicate = 0 )
276+ # external_io_context
277+ external_io_context = SConscript ('#/examples/external_io_context /SConscript' ,variant_dir = builddir + 'external_io_context ' ,duplicate = 0 )
276278
277279if not env ['PLATFORM' ].startswith ('win' ):
278280 # iostream_server
0 commit comments