Cherry Pick change to enable building with SCons3 03/23103/2
authorIbrahim Esmat <iesmat@microsoft.com>
Tue, 19 Sep 2017 23:41:18 +0000 (17:41 -0600)
committerIbrahim Esmat <iesmat@microsoft.com>
Wed, 8 Nov 2017 19:38:33 +0000 (11:38 -0800)
Cherry Pick Mats change from master to enable building with SCons 3.0
in 1.3-rel branch. This change and the change in review
https://gerrit.iotivity.org/gerrit/#/c/22809 will be needed to merge
together.

With these 2 changes merged to 1.3-rel, you can successfully build
IoTivity with SCons 3.0. Which will also allow you to build the
UWP versions of the libraries needed for UWP Apps.

Change in master:
Prepare for scons3: change prints and others

In preparation for scons3, recently released, modify remaining print
statements by surrounding them with parens so they look like function
calls. That takes care of the scons3 syntax requirement.

The remaining instances of the sequence "print FOO; Exit(1)" were
changed to "msg = FOO; Exit(msg)" - this helps with the change by
not even using the print statement, and by giving the message to
the output function, it is sent to the error stream rather than
the output stream.

Calls to dictionary keys() and values() are now wrapped in list(),
on Python 3 these return special objects, not the expected list.
That's harmless to Python 2 usage.

The old exception format "except FooErr, err" is no longer supported;
since the Python 3 format "except FooErr as err" has been available
since Python 2.6, there is no problem switching these.

Some instances of using the commands module in extlibs changes to use
subprocess module. Change is transparent.

A couple of instances of filter(lambda ...)) were changes to
a python list comprehension, this is considered preferred for
Python 3 (change was suggested by a conversion tool)

Note on print() change:

  When running with Python2, the print statement is still used. That
  has a bit of an impact: print(a) is just prints the argument, but
  print(a, b, c) is interpreted as printing a tuple (a, b, c), so we
  could see:

  >>> print "This", "is", "a", "test"
  This is a test
  >>> print("This", "is", "a", "test")
  ('This', 'is', 'a', 'test')

  The second is not pretty.  You can make Python2 code use the function
  instead of the statement:

  >>> from __future__ import print_function
  >>> print("This", "is", "a", "test")
  This is a test

  but that's a pain, so the small number of existing prints which
  used a comma as argument separators were updated to use addition,
  so now we're concatenating a string to produce one arg instead
  of supplying multiple "arguments" that would be misinterpreted
  as a tuple in print().  It's fine to add the import statement
  if it's needed.

Change-Id: Idac00e1389b79ee65da4a2eb6ef3246551b66843
Signed-off-by: Mats Wichmann <mats@linux.com>
Signed-off-by: Ibrahim Esmat <iesmat@microsoft.com>
75 files changed:
bridging/common/SConscript
bridging/mini_plugin_manager/SConscript
bridging/plugins/hue_plugin/SConscript
bridging/plugins/lifx_plugin/SConscript
bridging/plugins/lyric_plugin/SConscript
bridging/plugins/nest_plugin/SConscript
build_common/SConscript
build_common/android/SConscript
build_common/arduino/SConscript
build_common/external_builders.scons
build_common/tizen/SConscript
build_common/windows/SConscript
extlibs/android/gradle/SConscript
extlibs/android/ndk/SConscript
extlibs/android/sdk/SConscript
extlibs/arduino/SConscript
extlibs/boost/SConscript
extlibs/gtest/SConscript
extlibs/hippomocks/SConscript
extlibs/libcoap/SConscript
extlibs/libstrophe/SConscript
extlibs/mbedtls/SConscript
extlibs/raxmpp/SConscript
extlibs/sqlite3/SConscript
extlibs/tinycbor/SConscript
extlibs/wksxmppxep/SConscript
java/SConscript
plugins/src/SConscript
plugins/zigbee_wrapper/SConscript
plugins/zigbee_wrapper/src/SConscript
plugins/zigbee_wrapper/telegesis_wrapper/SConscript
plugins/zigbee_wrapper/telegesis_wrapper/src/SConscript
resource/c_common/SConscript
resource/csdk/connectivity/SConscript
resource/csdk/connectivity/build/SConscript
resource/csdk/connectivity/build/android/SConscript
resource/csdk/connectivity/build/arduino/SConscript
resource/csdk/connectivity/build/linux/SConscript
resource/csdk/connectivity/build/tizen/SConscript
resource/csdk/connectivity/build/tizen/scons/SConscript
resource/csdk/connectivity/common/SConscript
resource/csdk/connectivity/src/SConscript
resource/csdk/connectivity/src/bt_edr_adapter/SConscript
resource/csdk/connectivity/src/bt_le_adapter/SConscript
resource/csdk/connectivity/src/ip_adapter/SConscript
resource/csdk/connectivity/src/nfc_adapter/SConscript
resource/csdk/connectivity/src/ra_adapter/SConscript
resource/csdk/connectivity/src/tcp_adapter/SConscript
resource/csdk/connectivity/src/tcp_adapter/arduino/SConscript
resource/csdk/connectivity/util/SConscript
resource/csdk/security/provisioning/unittest/SConscript
resource/csdk/stack/samples/arduino/SimpleClientServer/ocserver/SConscript
resource/csdk/stack/samples/tizen/SimpleClientServer/SConscript
resource/csdk/stack/samples/tizen/SimpleClientServer/scons/SConscript
resource/csdk/stack/samples/tizen/build/SConscript
resource/csdk/stack/samples/tizen/build/scons/SConscript
resource/examples/SConscript
resource/provisioning/examples/SConscript
resource/provisioning/unittests/SConscript
resource/third_party_libs.scons
service/easy-setup/mediator/richsdk/SConscript
service/easy-setup/mediator/richsdk/android/SConscript
service/easy-setup/sampleapp/enrollee/arduino/SConscript
service/easy-setup/sampleapp/enrollee/tizen-sdb/EnrolleeSample/SConscript
service/easy-setup/sampleapp/enrollee/tizen-sdb/EnrolleeSample/build/SConscript
service/easy-setup/sampleapp/enrollee/tizen-sdb/EnrolleeSample/build/tizen/SConscript
service/easy-setup/sampleapp/mediator/android/SConscript
service/notification/android/SConscript
service/notification/examples/android/NotiConsumerExample/SConscript
service/notification/examples/android/NotiProviderExample/SConscript
service/resource-container/SConscript
service/resource-container/android/SConscript
service/resource-container/unittests/SConscript
service/resource-encapsulation/android/SConscript
service/third_party_libs.scons

index 0befd5e..30a6fcd 100644 (file)
@@ -32,7 +32,7 @@ bridging_path = os.path.join(src_dir, 'bridging')
 
 mpmcommon_env = env.Clone()
 
-print "Reading MPM Common Plugin script"
+print("Reading MPM Common Plugin script")
 
 
 def maskFlags(flags):
index 23aba98..3a00cc8 100644 (file)
@@ -31,7 +31,7 @@ bridging_path = os.path.join(src_dir, 'bridging')
 
 manager_env = env.Clone()
 
-print "Reading MPM script"
+print("Reading MPM script")
 
 ######################################################################
 # Build flags
index 1278949..1f051b6 100644 (file)
@@ -32,7 +32,7 @@ bridging_path = os.path.join(src_dir, 'bridging')
 
 hue_env = env.Clone()
 
-print "Reading Hue Plugin script"
+print("Reading Hue Plugin script")
 
 
 def maskFlags(flags):
index 849a54a..96bb3f2 100644 (file)
@@ -32,7 +32,7 @@ bridging_path = os.path.join(src_dir, 'bridging')
 
 lifx_env = env.Clone()
 
-print "Reading LifX Plugin script"
+print("Reading LifX Plugin script")
 
 def maskFlags(flags):
     flags = [flags.replace('-Wl,--no-undefined', '') for flags in flags]
index ed87192..8a243a1 100644 (file)
@@ -32,7 +32,7 @@ bridging_path = os.path.join(src_dir, 'bridging')
 
 lyric_env = env.Clone()
 
-print "Reading Lyric Plugin script"
+print("Reading Lyric Plugin script")
 
 
 def maskFlags(flags):
index 866d51d..4649159 100644 (file)
@@ -32,7 +32,7 @@ bridging_path = os.path.join(src_dir, 'bridging')
 
 nest_env = env.Clone()
 
-print "Reading Nest Plugin script"
+print("Reading Nest Plugin script")
 
 
 def maskFlags(flags):
index b46c773..954bcc3 100755 (executable)
@@ -104,7 +104,7 @@ targets_disallow_multitransport = ['arduino']
 
 # generate a list of unique targets: convert to set() for uniqueness,
 # then convert back to a list
-targetlist = list(set(x for l in host_target_map.values() for x in l))
+targetlist = list(set(x for l in list(host_target_map.values()) for x in l))
 
 ######################################################################
 # Common build options
@@ -312,25 +312,25 @@ if env.get('WITH_ENV'):
     env['ENV'] = os.environ
     if 'CC' in os.environ:
         env['CC'] = Split(os.environ['CC'])
-        print "using CC from environment: %s" % env['CC']
+        print("using CC from environment: %s" % env['CC'])
     if 'CXX' in os.environ:
         env['CXX'] = Split(os.environ['CXX'])
-        print "using CXX from environment: %s" % env['CXX']
+        print("using CXX from environment: %s" % env['CXX'])
     if 'CFLAGS' in os.environ:
         env['CFLAGS'] = Split(os.environ['CFLAGS'])
-        print "using CFLAGS from environment: %s" % env['CFLAGS']
+        print("using CFLAGS from environment: %s" % env['CFLAGS'])
     if 'CXXFLAGS' in os.environ:
         env['CXXFLAGS'] = Split(os.environ['CXXFLAGS'])
-        print "using CXXFLAGS from environment: %s" % env['CXXFLAGS']
+        print("using CXXFLAGS from environment: %s" % env['CXXFLAGS'])
     if 'CCFLAGS' in os.environ:
         env['CCFLAGS'] = Split(os.environ['CCFLAGS'])
-        print "using CCFLAGS from environment: %s" % env['CCFLAGS']
+        print("using CCFLAGS from environment: %s" % env['CCFLAGS'])
     if 'CPPFLAGS' in os.environ:
         env['CPPFLAGS'] = Split(os.environ['CPPFLAGS'])
-        print "using CPPFLAGS from environment: %s" % env['CPPFLAGS']
+        print("using CPPFLAGS from environment: %s" % env['CPPFLAGS'])
     if 'LDFLAGS' in os.environ:
         env['LINKFLAGS'] = Split(os.environ['LDFLAGS'])
-        print "using LDFLAGS/LINKFLAGS from environment: %s" % env['LINKFLAGS']
+        print("using LDFLAGS/LINKFLAGS from environment: %s" % env['LINKFLAGS'])
 
 # set quieter build messages unless verbose mode was requested
 if not env.get('VERBOSE'):
@@ -368,7 +368,7 @@ if target_os in targets_support_cc:
         env.AppendUnique(LINKFLAGS=['--sysroot=' + sys_root])
 
     if prefix or tc_path:
-        print tc_set_msg
+        print(tc_set_msg)
 
 # Import env variables only if reproductibility is ensured
 if target_os in ['yocto']:
@@ -377,7 +377,7 @@ else:
     env['CONFIG_ENVIRONMENT_IMPORT'] = False
 
 if env['CONFIG_ENVIRONMENT_IMPORT']:
-    print "warning: importing some environment variables for OS: %s" % target_os
+    print("warning: importing some environment variables for OS: %s" % target_os)
     for ev in [
         'PATH',
         'PKG_CONFIG',
index 47c455d..4ae5e52 100644 (file)
@@ -29,7 +29,7 @@ if not env.get('ANDROID_HOME'):
 msg += "\nANDROID_HOME=" + env.get('ANDROID_HOME')
 
 # show the Android environment we will use:
-print msg
+print(msg)
 
 src_dir = env.get('SRC_DIR')
 
@@ -97,12 +97,12 @@ else:
 if tc_ver:
     cmd.append('NDK_TOOLCHAIN_VERSION=' + tc_ver)
 else:
-    print '''
+    print('''
 *************************************** Warning *******************************
 * To support C++11, the NDK toolchain must support gcc >= 4.7
 * Please make sure your  android NDK is at least r8e
 *******************************************************************************
-'''
+''')
 
 cmd.append('-n')
 
index 65a2901..08ad6b1 100644 (file)
@@ -40,7 +40,7 @@ def __get_boards(dict):
 
 def __get_cpu(dict, board):
     cpus = []
-    keys = dict.keys()
+    keys = list(dict.keys())
     for key in keys:
         idx = key.find(board + '.menu.cpu.')
         start = len(board + '.menu.cpu.')
@@ -213,13 +213,13 @@ def __upload(env, binary):
         port = '/dev/ttyACM0'
         upload_cmd = arduino_home + '/hardware/tools/avr/bin/avrdude -C' + arduino_home +'/hardware/tools/avr/etc/avrdude.conf -p' \
         + mcu + ' -c' + protocol + ' -P' + port + ' -b' + speed + ' -D -Uflash:w:' + binary + ':i'
-        print "Upload command: %s" % upload_cmd
+        print("Upload command: %s" % upload_cmd)
         install_cmd = env.Command('install_cmd', None, upload_cmd)
         env.Default('install_cmd')
     elif target_arch == 'arm':
         port = 'ttyACM0'
         upload_cmd = 'stty -F /dev/' + port + ' speed 1200 cs8 -cstopb -parenb \n' + arduino_home + '/hardware/tools/bossac -i --port=' + port + ' -U false -e -w -b ' + binary + ' -R'
-        print "Upload command: %s" % upload_cmd
+        print("Upload command: %s" % upload_cmd)
         install_cmd = env.Command('install_cmd', None, upload_cmd)
         env.Default('install_cmd')
 
@@ -262,7 +262,7 @@ target_arch = env.get('TARGET_ARCH')
 # installed.  If not, get them and install them.
 SConscript(os.path.join(env.get('SRC_DIR'), 'extlibs', 'arduino', 'SConscript'))
 arduino_home = env.get('ARDUINO_HOME')
-print 'ARDUINO_HOME = ' + env.get('ARDUINO_HOME')
+print('ARDUINO_HOME = ' + env.get('ARDUINO_HOME'))
 
 # Overwrite suffixes and prefixes
 if env['HOST_OS'] == 'win32':
@@ -296,13 +296,13 @@ if os.path.exists(os.path.join(arduino_home, 'lib', 'version.txt')):
     vf = open(os.path.join(arduino_home, 'lib', 'version.txt'), 'r')
     version = vf.readline().replace('.', '').strip()
 else:
-    print '''
+    msg = '''
 ************************************* Error ***********************************
 * Can't find version file (lib/version.txt), please check if (%s)
 * is arduino root directory.                                                  *
 *******************************************************************************
 ''' % arduino_home
-    Exit(1)
+    Exit(msg)
 
 if version[0:2] == '10':
     is_1_0_x = True
@@ -318,13 +318,13 @@ if version[0:2] == '10':
     env.Replace(LINK='avr-gcc')
     env.Replace(RANLIB='avr-ranlib')
     if target_arch != 'avr':
-        print '''
+        msg = '''
 ************************************* Error ***********************************
 * Arduino 1.0.x IDE only support 'avr', to support other arch at least 1.5.x  *
 * is required.
 *******************************************************************************
-'''
-        Exit(1)
+''')
+        Exit(msg)
 else:
     is_1_0_x = False
     if target_arch == 'avr':
@@ -342,11 +342,11 @@ else:
             os.path.join(arduino_home, 'hardware', 'arduino', 'sam',
                          'platform.txt'))
     else:
-        print '''
+        print('''
 ************************************* Error ***********************************
 * CPU arch %s isn't supported currently.
 *******************************************************************************
-''' % target_arch
+''' % target_arch)
 
 #Board option, let user to select the board
 boards = __get_boards(boards_info)
index 70e537a..7d27b44 100644 (file)
@@ -66,12 +66,12 @@ def __prepare_lib(ienv, libname, lib=None, path=None, script=None):
 
 # Run configure command (usually done before building a library)
 def __configure(env, cwd, cmd):
-    print "Configuring using [%s/%s] ..." % (cwd, cmd)
+    print("Configuring using [%s/%s] ..." % (cwd, cmd))
     # build it now (we need the shell, because some programs need it)
     devnull = open(os.devnull, "wb")
     handle = subprocess.Popen(cmd, shell=True, cwd=cwd, stdout=devnull)
 
-    if handle.wait() <> 0:
+    if handle.wait() != 0:
         raise SCons.Errors.BuildError("Run configuring script [%s]" % (cmd))
 
 
@@ -81,15 +81,15 @@ def __download(ienv, target, url):
         return target
 
     try:
-        print "Download %s from %s" % (target, url)
-        print "Downloading ..."
+        print("Download %s from %s" % (target, url))
+        print("Downloading ...")
         stream = urllib2.urlopen(url)
         file = open(target, 'wb')
         file.write(stream.read())
         file.close()
-        print "Download %s from %s complete" % (target, url)
+        print("Download %s from %s complete" % (target, url))
         return target
-    except Exception, e:
+    except Exception as e:
         raise SCons.Errors.StopError('%s [%s]' % (e, url))
 
 
index bb12e1f..56a1251 100755 (executable)
@@ -7,7 +7,7 @@ import SCons.Util
 
 Import('env')
 
-print "Reading linux configuration script"
+print("Reading linux configuration script")
 
 env['CCFLAGS'] = SCons.Util.CLVar(os.environ.get('CFLAGS', ""))
 env.AppendUnique(CPPDEFINES=['WITH_POSIX', '__linux__'])
index 725335a..fbd8b8d 100644 (file)
@@ -20,7 +20,7 @@ def OpenRegKey(env, key, sub_key, reg_view_64bit=False):
                               sub_key,
                               0, # Reserved
                               reg_access_mask)
-    except WindowsError, err:
+    except WindowsError as err:
         if err.errno != os.errno.ENOENT:
             # Couldn't open Registry Key
             Exit('Error: Could not Open %s Registry Key. Err=%s' % (sub_key, err.errno))
@@ -37,7 +37,7 @@ def ReadRegistryStringValue(env, key, sub_key, value_name, reg_view_64bit=False)
             (value, type) = winreg.QueryValueEx(hkey, value_name)
             if type != winreg.REG_SZ:
                 Exit('Error: Registry Value \'%s\' is not a String' % value_name)
-        except WindowsError, err:
+        except WindowsError as err:
             if err.errno != os.errno.ENOENT:
                 Exit('Error: Could not QueryValueEx for Registry Value \'%s\'. Err=%s' \
                      % (value_name, err.errno))
index f2ef5e8..fc27b60 100644 (file)
@@ -15,7 +15,7 @@ gradle_url = 'https://services.gradle.org/distributions/' + gradle_zip_file
 
 if not os.path.exists(gradle_dir):
     if not os.path.exists(gradle_zip_file):
-        print "Retrieving Android Gradle bundle"
+        print("Retrieving Android Gradle bundle")
         gradle_zip = env.Download(gradle_zip_file, gradle_url)
     gradle_unpacked = env.UnpackAll(gradle_dir, gradle_zip)
 
index 772a648..5a949f2 100644 (file)
@@ -30,12 +30,12 @@ else:
 ndk_path = os.path.join(Dir('.').abspath, ndk_dir)
 if not os.path.exists(ndk_path):
     if not os.path.exists(ndk_bundle):
-        print "Retrieving Android NDK bundle"
+        print("Retrieving Android NDK bundle")
         env.Download(ndk_bundle, ndk_url)
-    print "Unpacking Android NDK bundle"
+    print("Unpacking Android NDK bundle")
     if host_os.startswith('linux'):
         # scons on Jenkins/android builder does not take 'a+x' mode, use octal
-        Execute(Chmod(ndk_bundle, 0755))
+        Execute(Chmod(ndk_bundle, 0o755))
         if Execute("./" + ndk_bundle):
             Exit("Unpack %s failed" % ndk_bundle)
     elif host_os == 'darwin':
index 01a4f7a..b877726 100644 (file)
@@ -41,13 +41,13 @@ if not env.get('ANDROID_HOME'):
 
     if not os.path.exists(androidlib_dir):
         if not os.path.exists(androidlib_bundle):
-            print "Retrieving Android SDK bundle"
+            print("Retrieving Android SDK bundle")
             androidlib_zip = env.Download(androidlib_bundle, androidlib_url)
         else:
             androidlib_zip = androidlib_bundle
 
-        print 'Unzipping Android lib...'
+        print('Unzipping Android lib...')
         env.UnpackAll(androidlib_dir, androidlib_zip)
-        print 'Unzipping Android lib complete'
+        print('Unzipping Android lib complete')
     # export the location of the SDK
     env.Replace(ANDROID_HOME=androidlib_dir)
index f086b31..4aa59a3 100644 (file)
@@ -20,8 +20,8 @@ SConscript(src_dir + '/build_common/tools/UnpackAll.py')
 if target_os == 'arduino':
     arduino_home = env.get('ARDUINO_HOME')
     if not arduino_home:
-        print 'Creating ARDUINO_HOME for Arduino lib'
-        print '''
+        print('Creating ARDUINO_HOME for Arduino lib')
+        print('''
 *******************************************************************************
 * Arduino root directory is not set, you can set enviornment variable
 * ARDUINO_HOME or add it in command line as follows (Only set if your
@@ -29,13 +29,13 @@ if target_os == 'arduino':
 * wish to manually set ARDUINO_HOME):
 *   # scons ARDUINO_HOME=<path to arduino root directory> ...
 *******************************************************************************
-'''
+''')
         arduinolib_dir = src_dir + '/extlibs/arduino/arduino-1.5.8'
 
         if not os.path.exists(arduinolib_dir):
             if _platform.startswith("linux"):
                 archType = 8 * struct.calcsize("P")
-                print 'On %s-bit machine.' % (archType)
+                print('On %s-bit machine.' % (archType))
                 if archType == 32:
                     arduinolib_zip_file = src_dir + '/extlibs/arduino/arduino-1.5.8-linux32.tgz'
                     arduinolib_url = 'http://arduino.cc/download.php?f=/arduino-1.5.8-linux32.tgz'
@@ -56,9 +56,9 @@ if target_os == 'arduino':
                 arduinolib_zip = arduinolib_zip_file
 
             # Unzip the lib
-            print 'Unzipping arduino lib...'
+            print('Unzipping arduino lib...')
             env.UnpackAll(arduinolib_dir, arduinolib_zip)
-            print 'Unzipping arduino lib complete'
+            print('Unzipping arduino lib complete')
 
             # Remove downloaded file
             os.remove(arduinolib_zip_file)
@@ -81,12 +81,12 @@ if target_os == 'arduino':
                 timelib_zip = timelib_zip_file
 
             # Unzip the lib
-            print 'Unzipping Arduino Time lib...'
+            print('Unzipping Arduino Time lib...')
             env.UnpackAll(timelib_dir + '/Time', timelib_zip)
 
             # Apply patches to ARDUINO_HOME directory.
             os.chdir(arduinolib_dir)
-            print 'Patching Arduino libraries...'
+            print('Patching Arduino libraries...')
 
             os.system("find ./libraries/Time/Time/DateStrings.cpp -type f -exec dos2unix {} \;")
             os.system("patch -p1 < " + src_dir + "/resource/csdk/connectivity/lib/arduino/arduino_libraries.patch --directory=" + arduinolib_dir)
@@ -94,11 +94,11 @@ if target_os == 'arduino':
             # Remove downloaded file
             os.remove(timelib_zip_file)
         else:
-            print 'Please manually install package dos2unix. The build process will end now. Your Action Required: Install package manually, then restart build process.'
-            print 'You may likely retrieve this package as follows:'
-            print '      sudo apt-get install dos2unix'
-            print '               or'
-            print '      sudo yum install dos2unix'
+            print('Please manually install package dos2unix. The build process will end now. Your Action Required: Install package manually, then restart build process.')
+            print('You may likely retrieve this package as follows:')
+            print('      sudo apt-get install dos2unix')
+            print('               or')
+            print('      sudo yum install dos2unix')
             exit(1)
 
     redbearlib_dir = arduinolib_dir + '/libraries/RBL_nRF8001'
@@ -113,7 +113,7 @@ if target_os == 'arduino':
                 redbearlib_zip = redbearlib_zip_file
 
             # Unzip the lib
-            print 'Unzipping Red Bear lib...'
+            print('Unzipping Red Bear lib...')
             os.chdir(arduinolib_dir + '/libraries')
             env.UnpackAll(redbearlib_dir, redbearlib_zip)
 
@@ -122,7 +122,7 @@ if target_os == 'arduino':
             shutil.rmtree('nRF8001-25643e7b1b7da3740406325a471e3faa4b948747')
 
             # Apply Red Bear patches
-            print 'Patching Red Bear library...'
+            print('Patching Red Bear library...')
             os.chdir(arduinolib_dir + '/libraries/RBL_nRF8001/')
 
             os.system("find . -type f -exec dos2unix {} \;")
@@ -131,11 +131,11 @@ if target_os == 'arduino':
             # Remove downloaded file
             os.remove(redbearlib_zip_file)
         else:
-            print 'Please manually install package dos2unix. The build process will end now. Your Action Required: Install package manually, then restart build process.'
-            print 'You may likely retrieve this package as follows:'
-            print '      sudo apt-get install dos2unix'
-            print '               or'
-            print '      sudo yum install dos2unix'
+            print('Please manually install package dos2unix. The build process will end now. Your Action Required: Install package manually, then restart build process.')
+            print('You may likely retrieve this package as follows:')
+            print('      sudo apt-get install dos2unix')
+            print('               or')
+            print('      sudo yum install dos2unix')
             exit(1)
 
     nordiclib_dir = arduinolib_dir + '/libraries/BLE'
@@ -150,7 +150,7 @@ if target_os == 'arduino':
                 nordiclib_zip = nordiclib_zip_file
 
             # Unzip the lib
-            print 'Unzipping Nordic lib...'
+            print('Unzipping Nordic lib...')
             os.chdir(arduinolib_dir + '/libraries')
             env.UnpackAll(nordiclib_dir, nordiclib_zip)
 
@@ -159,7 +159,7 @@ if target_os == 'arduino':
             shutil.rmtree('ble-sdk-arduino-0.9.5.beta')
 
             # Apply Nordic lib patches
-            print 'Patching Nordic library...'
+            print('Patching Nordic library...')
             os.chdir(arduinolib_dir + '/libraries/BLE/')
 
             os.system("find . -type f -exec dos2unix {} \;")
@@ -168,13 +168,13 @@ if target_os == 'arduino':
             # Remove downloaded file
             os.remove(nordiclib_zip_file)
         else:
-            print 'Please manually install package dos2unix. The build process will end now. Your Action Required: Install package manually, then restart build process.'
-            print 'You may likely retrieve this package as follows:'
-            print '      sudo apt-get install dos2unix'
-            print '               or'
-            print '      sudo yum install dos2unix'
+            print('Please manually install package dos2unix. The build process will end now. Your Action Required: Install package manually, then restart build process.')
+            print('You may likely retrieve this package as follows:')
+            print('      sudo apt-get install dos2unix')
+            print('               or')
+            print('      sudo yum install dos2unix')
             exit(1)
 
 # Set the ARDUINO_HOME
 env.Replace(ARDUINO_HOME=arduinolib_dir)
-print 'ARDUINO_HOME = ' + env.get('ARDUINO_HOME')
+print('ARDUINO_HOME = ' + env.get('ARDUINO_HOME'))
index 6a69b39..b06af6b 100644 (file)
@@ -32,7 +32,7 @@ boost_bootstrap = os.path.join(boost_dir, 'bootstrap.bat')
 
 if 'linux' == target_os:
     # Check for Boost libraries in /usr/boost
-    print 'TODO: Perform platform check for linux'
+    print('TODO: Perform platform check for linux')
     msg = "Target platform (%s) is currently not supported for boost builds" % target_os
     raise SCons.Errors.EnvironmentError(msg)
 
@@ -45,11 +45,11 @@ elif target_os in ['windows']:
         if os.path.exists(boost_zip_file):
             boost_zip = boost_zip_file
         else:
-            print '*** Downloading Boost zip file (> 100MB). Please wait... ***'
+            print('*** Downloading Boost zip file (> 100MB). Please wait... ***')
             boost_zip = boost_env.Download(boost_zip_file, boost_url)
 
         # Unzip boost
-        print '*** Unpacking boost %s zip file ... ***' % boost_version
+        print('*** Unpacking boost %s zip file ... ***' % boost_version)
         boost_env.UnpackAll(boost_dir, boost_zip)
 
         # Rename from boost_1_60_0 -> boost
index b30e0c4..b2e96dd 100644 (file)
@@ -36,26 +36,26 @@ if gtest_env.GetOption('help'):
 # Clean up gtest if 'clean' is specified, and it looks like has been built.
 # Implicity skips the targets which don't "configure" (e.g. windows)
 if gtest_env.GetOption('clean'):
-    print 'Cleaning google unit test'
+    print('Cleaning google unit test')
     if os.path.exists(gtest_configured_sentinel):
         clean = "cd %s && make clean" % gtest_dir
         Execute(clean)
     Return("gtest_env")
 
-print '*** Checking for installation of google unit test %s ***' % GTEST_VERSION
+print('*** Checking for installation of google unit test %s ***' % GTEST_VERSION)
 if not os.path.exists(gtest_unpacked_sentinel):
     # If the gtest zip file is not already present, download it
     if not os.path.exists(gtest_zip_path):
         gtest_zip = gtest_env.Download(gtest_zip_path, gtest_url)
     else:
         gtest_zip = gtest_zip_path
-    print 'Unzipping to : ' + gtest_dir
+    print('Unzipping to : ' + gtest_dir)
     gtest_env.UnpackAll(gtest_dir, gtest_zip)
 
 if target_os in ['linux']:
     if not os.path.exists(gtest_configured_sentinel):
         # Run configure on gtest
-        print 'Configuring google unit test'
+        print('Configuring google unit test')
         reconfigure_ran = gtest_env.Configure(gtest_dir, 'autoreconf -i')
         if env.get('CROSS_COMPILE'):
             configure_ran = env.Configure(
@@ -67,7 +67,7 @@ if target_os in ['linux']:
         gtest_env.Depends(configure_ran, reconfigure_ran)
 
     # Run make on gtest
-    print 'Making google unit test'
+    print('Making google unit test')
     make_ran = gtest_env.Configure(gtest_dir, 'make')
 
 elif target_os in ['darwin', 'msys_nt'] and os.path.exists(gtest_dir):
@@ -77,14 +77,14 @@ elif target_os in ['darwin', 'msys_nt'] and os.path.exists(gtest_dir):
         os.mkdir(gtest_dotlib_dir)
 
         # Run configure on gtest
-        print 'Configuring google unit test for compilation'
+        print('Configuring google unit test for compilation')
         gtest_env.Configure(gtest_dir, 'cmake -G "Unix Makefiles" .')
 
     # Run make on gtest
-    print 'Making google unit test'
+    print('Making google unit test')
     gtest_env.Configure(gtest_dir, 'make')
 
-    print 'Moving libraries to lib folder'
+    print('Moving libraries to lib folder')
     gtest_env.Configure(gtest_dir, 'cp libgtest.a lib')
     gtest_env.Configure(gtest_dir, 'mv libgtest.a lib/.libs')
     gtest_env.Configure(gtest_dir, 'cp libgtest_main.a lib')
index db2cd3e..4de7291 100644 (file)
@@ -32,7 +32,7 @@ target_os = env.get('TARGET_OS')
 src_dir = env.get('SRC_DIR')
 
 if target_os in ['linux', 'windows']:
-    print '*** Checking for installation of hippomocks ***'
+    print('*** Checking for installation of hippomocks ***')
     hippomocks_version = '5.0'
     hippomocks_revision = 'v' + hippomocks_version
     hippomocks_src_dir = src_dir + '/extlibs/hippomocks/hippomocks-' + hippomocks_version
@@ -44,7 +44,7 @@ if target_os in ['linux', 'windows']:
             hippomocks_zip = env.Download(hippomocks_zip_file, hippomocks_url)
         else:
             hippomocks_zip = hippomocks_zip_file
-        print 'hippomocks: Unzipping %s to %s' % (hippomocks_zip_file,
-                                                  hippomocks_dest_dir)
+        print('hippomocks: Unzipping %s to %s' % (hippomocks_zip_file,
+                                                  hippomocks_dest_dir))
         env.UnpackAll(hippomocks_src_dir, hippomocks_zip)
         os.rename(hippomocks_src_dir, hippomocks_dest_dir)
index 302174b..3dd8bf6 100644 (file)
@@ -57,7 +57,7 @@ libcoap_update_command = 'git fetch --tags && git checkout -f ' + libcoap_versio
 libcoap_change_dir_command = 'cd ' + libcoap_dir
 
 if with_upstream_libcoap == '1':
-    print '*** Checking for installation of libCoAP ***'
+    print('*** Checking for installation of libCoAP ***')
     if not os.path.exists(libcoap_dir):
         msg = '''
 *********************************** Error: ************************************
@@ -70,17 +70,17 @@ if with_upstream_libcoap == '1':
     os.chdir(libcoap_dir)
     out = subprocess.check_output('git log --format=%d -n 1', shell=True)
     if libcoap_version not in out:
-        print '''
+        print('''
 ******************************* Info: *****************************************
 * Your libCoAP repo is not up to date with the latest version we require (%s).
 *******************************************************************************
-''' % (libcoap_version)
+''' % (libcoap_version))
         if libcoap_env.get('AUTOMATIC_UPDATE'):
-            print '''
+            print('''
 ******************************* Info: *****************************************
 * Automatically updating libcoap to version %s.
 *******************************************************************************
-''' % (libcoap_version)
+''' % (libcoap_version))
             subprocess.check_output(libcoap_update_command, shell=True)
         else:
             msg = '''
@@ -93,12 +93,12 @@ if with_upstream_libcoap == '1':
             Exit(msg)
 
 else:
-    print '''
+    print('''
 ******************************* Info: *****************************************
 * Using FORKED copy of libCoap located in:
 * resource/csdk/connectivity/lib/libcoap-4.1.1
 *******************************************************************************
-'''
+''')
 
 ######################################################################
 # Build libCoAP
index f2dfdd1..fb4b634 100644 (file)
@@ -4,7 +4,7 @@
 ######################################################################
 
 import os
-import commands
+import subprocess
 
 Import('env')
 
@@ -34,7 +34,7 @@ if with_ra_ibb:
             ' && git checkout 527bc0573a52f2af3ecad5b9ef39aeec7b669f77'
         ])
 
-        print 'Downloading xmpp library ...'
+        print('Downloading xmpp library ...')
         if raxmpp_env.Execute(c):
             msg = '''
 *********************************** Error: ************************************
@@ -46,39 +46,39 @@ if with_ra_ibb:
 '''
             Exit(msg)
         else:
-            print 'Download xmpp library complete'
+            print('Download xmpp library complete')
 
     if not env.GetOption('clean'):
-        print 'Building with ' + SRC_NAME
+        print('Building with ' + SRC_NAME)
         #print 'base_dir', base_dir
         #print 'target_os', target_os
         #print 'target_arch', target_arch
 
-        foo = commands.getoutput(
+        foo = subprocess.getoutput(
             'patch -N -p1 -d libstrophe < strophe-xmpp_conn_is_secured.patch')
-        print foo
+        print(foo)
         os.chdir(SRC_NAME)
         #sconsflags = ' RELEASE=true' if  env['RELEASE'] else ' RELEASE=false'
         if not os.path.exists('configure'):
-            foo = commands.getoutput('./bootstrap.sh')
-            print foo
+            foo = subprocess.getoutput('./bootstrap.sh')
+            print(foo)
         if not os.path.exists('config.status'):
-            foo = commands.getoutput('./configure')
-            print foo
+            foo = subprocess.getoutput('./configure')
+            print(foo)
         if not os.path.exists('.libs/libstrophe.a'):
-            foo = commands.getoutput('make libstrophe.la')
-            print foo
+            foo = subprocess.getoutput('make libstrophe.la')
+            print(foo)
         if not os.path.exists('.libs/libstrophe.a'):
             msg = 'Building with ' + SRC_NAME + ' failed.'
             Exit(msg)
         else:
-            foo = commands.getoutput('cp .libs/libstrophe.a ' +
+            foo = subprocess.getoutput('cp .libs/libstrophe.a ' +
                                      env.get('BUILD_DIR'))
-            foo = commands.getoutput('cp .libs/libstrophe.so* ' +
+            foo = subprocess.getoutput('cp .libs/libstrophe.so* ' +
                                      env.get('BUILD_DIR'))
-            print foo
+            print(foo)
 
-        print 'Building with ' + SRC_NAME + ' Completely.'
+        print('Building with ' + SRC_NAME + ' Completely.')
     env.AppendUnique(
         CPPPATH=[INC_PATH],
         RALIBS=LIBSTROPHY_LIBS,
index 9517042..cf350db 100644 (file)
@@ -56,7 +56,7 @@ os.chdir(mbedtls_dir)
 if os.path.exists('.git/HEAD'):
     out = subprocess.check_output('git tag -l ' + mbedtls_revision, shell=True)
     if mbedtls_revision not in out:
-        print out
+        print(out)
         msg = '''
 *********************************** Error: ************************************
 * Your mbedTLS repo is not up to date with the version required by iotivity.
@@ -93,7 +93,7 @@ if found:
 if not found:
     if os.path.exists('.git/HEAD'):
         # Apply ocf patch on git revision
-        print "Syncing/patching mbedtls external project..."
+        print("Syncing/patching mbedtls external project...")
         cmd = 'git checkout -f development && git reset --hard ' + mbedtls_revision + ' && git clean -f && git apply --whitespace=fix ../ocf.patch'
         res = os.system(cmd)
     else:
@@ -120,7 +120,7 @@ except:
     msg += 'error: ' + str(sys.exc_info()[0])
     Exit(msg)
 else:
-    print 'Copied IoTivity version of config.h to ' + mbedtls_config
+    print('Copied IoTivity version of config.h to ' + mbedtls_config)
 
 mbedtls_env = env.Clone()
 
index 2fc3cac..cbd9835 100644 (file)
@@ -23,7 +23,7 @@
 #
 ######################################################################
 import os
-import commands
+import subprocess
 
 Import('env')
 
@@ -43,9 +43,9 @@ if with_ra and not with_ra_ibb:
 '''
         Exit(msg)
 
-    print 'building with ra_xmpp'
+    print('building with ra_xmpp')
     if env.get('RELEASE'):
-        print src_dir
+        print(src_dir)
         build_dir = os.path.join(src_dir, 'extlibs/raxmpp/raxmpp/out',
                                  target_os, target_arch, 'release/')
     else:
@@ -53,10 +53,10 @@ if with_ra and not with_ra_ibb:
                                  target_os, target_arch, 'debug/')
     os.chdir('raxmpp')
     sconsflags = ' RELEASE=true' if env['RELEASE'] else ' RELEASE=false'
-    foo = commands.getoutput('scons external' + sconsflags)
-    print foo
-    foo = commands.getoutput('scons' + sconsflags)
-    print foo
+    foo = subprocess.getoutput('scons external' + sconsflags)
+    print(foo)
+    foo = subprocess.getoutput('scons' + sconsflags)
+    print(foo)
 
     env.AppendUnique(
         CPPPATH=src_dir + '/extlibs/raxmpp/raxmpp/ra_xmpp/',
index 6f6a14d..a1449b1 100644 (file)
@@ -28,7 +28,7 @@ sqlite_c_tmp = os.path.join(sqlite_tmp_dir, 'sqlite3.c')
 sqlite_h_tmp = os.path.join(sqlite_tmp_dir, 'sqlite3.h')
 
 if target_os in targets_need_sqlite:
-    print '*** Checking for presence of %s ***' % sqlite_package
+    print('*** Checking for presence of %s ***' % sqlite_package)
     os.listdir(sqlite_dir)
     if not os.path.exists(sqlite_c) or not os.path.exists(sqlite_h):
         if not os.path.exists(sqlite_zip_file):
index e04bf67..69455fe 100644 (file)
@@ -48,7 +48,7 @@ os.chdir(cborDir)
 if target_os != 'tizen' and os.path.exists('.git/HEAD'):
     out = subprocess.check_output('git tag -l ' + cborRevision, shell=True)
     if cborRevision not in out:
-        print out
+        print(out)
         msg = '''
 *********************************** Error: ************************************
 * Your TinyCBOR repo is not up to date with the version required by iotivity.
@@ -64,7 +64,7 @@ if os.path.exists('.git/HEAD'):
     cmd = 'git reset --hard ' + cborRevision
     os.system(cmd)
 else:
-    print 'Assume TinyCBOR is on tag ', cborRevision
+    print('Assume TinyCBOR is on tag ' + cborRevision)
 
 os.chdir(start_dir)
 
index f40cb7a..61b17c4 100644 (file)
@@ -3,7 +3,7 @@
 #
 ######################################################################
 import os
-import commands
+import subprocess
 
 Import('env')
 
@@ -32,7 +32,7 @@ if with_ra_ibb:
             'cd ' + SRC_NAME + ' && git checkout 8e9f42d02a0f416001065d1cddc1ab07974cef14'
         ])
 
-        print 'Downloading', SRC_NAME, 'library ...'
+        print('Downloading ' + SRC_NAME + ' library ...')
         if raxmpp_env.Execute(c):
             msg = '''
 *********************************** Error: ************************************
@@ -44,25 +44,25 @@ if with_ra_ibb:
 '''
             Exit(msg)
         else:
-            print 'Download', SRC_NAME, 'library complete'
+            print('Download ' + SRC_NAME + ' library complete')
 
     if not env.GetOption('clean'):
-        print 'Building with ' + SRC_NAME
+        print('Building with ' + SRC_NAME)
         os.chdir(SRC_PATH)
         if not os.path.exists('libwksxmppxep.so'):
             LIBSTROPHE_BASE = base_dir + '/extlibs/libstrophe/libstrophe'
-            foo = commands.getoutput('make LIBSTROPHE_BASE=' +
+            foo = subprocess.getoutput('make LIBSTROPHE_BASE=' +
                                          LIBSTROPHE_BASE + ' libraries')
-            print foo
+            print(foo)
         if not os.path.exists('libwksxmppxep.so'):
             msg = 'Building with ' + SRC_NAME + ' failed.'
             Exit(msg)
         else:
-            foo = commands.getoutput('cp libwksxmppxep.so ' + build_dir)
-            print foo
-            foo = commands.getoutput('cp libwksxmppxep.a ' + build_dir)
-            print foo
-        print 'Building with ' + SRC_NAME + ' Completely.'
+            foo = subprocess.getoutput('cp libwksxmppxep.so ' + build_dir)
+            print(foo)
+            foo = subprocess.getoutput('cp libwksxmppxep.a ' + build_dir)
+            print(foo)
+        print('Building with ' + SRC_NAME + ' Completely.')
 
         env.PrependUnique(
             CPPPATH=[INC_PATH],
index abea818..1ce4b87 100644 (file)
@@ -71,7 +71,7 @@ if 'ALL' in TARGET_TRANSPORT:
     TRANSPORT_EDR = 1
     TRANSPORT_BLE = 1
     TRANSPORT_NFC = 1
-    print "Android Transport is ALL"
+    print("Android Transport is ALL")
 else:
     if 'BT' in TARGET_TRANSPORT:
         TRANSPORT_EDR = 1
index 0dad475..d3aaa1f 100644 (file)
@@ -29,7 +29,7 @@ target_os = env.get('TARGET_OS')
 src_dir = env.get('SRC_DIR')
 pi_path = os.path.join(src_dir, 'plugins')
 
-print "Reading PI script"
+print("Reading PI script")
 
 ######################################################################
 # Build flags
index 6631faf..1523ad9 100644 (file)
@@ -25,7 +25,7 @@ import os.path
 
 Import('env')
 
-print "Reading top Zigbee Wrapper."
+print("Reading top Zigbee Wrapper.")
 
 env.SConscript(os.path.join('telegesis_wrapper', 'SConscript'))
 
index 4ab95dd..d2ac092 100644 (file)
@@ -30,7 +30,7 @@ target_os = env.get('TARGET_OS')
 src_dir = env.get('SRC_DIR')
 zw_path = os.path.join(src_dir, 'plugins')
 
-print "Reading Zigbee Wrapper (ZW) script"
+print("Reading Zigbee Wrapper (ZW) script")
 
 ######################################################################
 # Build flags
index 8b9a04d..07b19a0 100644 (file)
@@ -25,7 +25,7 @@ import os.path
 
 Import('env')
 
-print "Reading top Telegesis Wrapper."
+print("Reading top Telegesis Wrapper.")
 
 env.SConscript(os.path.join('src', 'SConscript'))
 
index 284405a..845d90e 100644 (file)
@@ -33,7 +33,7 @@ tw_path = os.path.join(src_dir, 'plugins')
 # Source files and Target(s)
 ######################################################################
 
-print "Reading Telegesis Wrapper (TW) script"
+print("Reading Telegesis Wrapper (TW) script")
 
 env.AppendUnique(CPPPATH=[
     os.path.join(tw_path, 'include'),
index 796339f..21c6035 100644 (file)
@@ -134,8 +134,8 @@ if not os.path.isfile(config_h_file_path) and env.GetOption not in ('clean', 'he
 
 # Sanity check to ensure that the above block created the file.
 if (not os.path.exists(config_h_file_path)) and (not env.GetOption('clean')):
-    print "Error: iotivity_config.h file not created!"
-    Exit(1)
+    msg = "Error: iotivity_config.h file not created!"
+    Exit(msg)
 
 # iotivity_config.h should be copied to installation dir
 env.UserInstallTargetHeader(
index 58a1822..e2fd458 100644 (file)
@@ -12,17 +12,19 @@ with_ra = connectivity_env.get('WITH_RA')
 with_tcp = connectivity_env.get('WITH_TCP')
 with_mq = connectivity_env.get('WITH_MQ')
 
-print "Given Transport is %s" % transport
-print "Given OS is %s" % target_os
-print "BUILD_SAMPLE is %s" % build_sample
-print "MQ flag is %s" % with_mq
+print("Given Transport is %s" % transport)
+print("Given OS is %s" % target_os)
+print("BUILD_SAMPLE is %s" % build_sample)
+print("MQ flag is %s" % with_mq)
 
 targets_disallow_multitransport = ['arduino']
 
 if target_os in targets_disallow_multitransport:
     if ('ALL' in transport) or (len(transport) != 1):
-        print "*** Error invalid option values: TARGET_TRANSPORT"
-        print "%s disallowed until testing can validate use of multiple transports on %s %d" % (transport, target_os, len(transport))
-        Exit(1)
+        msg = '''
+*** Error invalid option values: TARGET_TRANSPORT
+%s disallowed until testing can validate use of multiple transports on %s %d
+''' % (transport, target_os, len(transport))
+        Exit(msg)
 
 SConscript('src/SConscript', exports = 'connectivity_env')
index 926741e..608b63c 100644 (file)
@@ -191,7 +191,7 @@ if target_os in targets_support_cc:
         env.AppendUnique(LINKFLAGS=['--sysroot=' + sys_root])
 
     if prefix or tc_path:
-        print tc_set_msg
+        print(tc_set_msg)
 
 # Ensure scons be able to change its working directory
 env.SConscriptChdir(1)
index 8d37cea..cf2b599 100644 (file)
@@ -74,12 +74,12 @@ if ANDROID_HOME is not None:
     ANDROID_HOME = os.path.abspath(ANDROID_HOME)
 
 if ANDROID_HOME is None or not os.path.exists(ANDROID_HOME):
-    print '''
+    print('''
 *************************************** Warning *******************************
 * Environment variable ANDROID_HOME is not set properly. It should be the
 * root directory of android sdk. This is required to build Java code.
 *******************************************************************************
-'''
+''')
 
 target_arch = env.get('TARGET_ARCH')
 
@@ -102,12 +102,12 @@ else:
 if tc_ver:
     cmd.append('NDK_TOOLCHAIN_VERSION=' + tc_ver)
 else:
-    print '''
+    print('''
 *************************************** Warning *******************************
 * To support C++11, the NDK toolchain must support gcc >= 4.7
 * Please make sure your  android NDK is at least r8e
 *******************************************************************************
-'''
+''')
 
 cmd.append('-n')
 
index 478ba6f..9ec0f39 100644 (file)
@@ -29,7 +29,7 @@ def __parse_config(f):
 
 def __get_boards(dict):
     boards = []
-    keys = dict.keys()
+    keys = list(dict.keys())
     for key in keys:
         idx = key.find('.name')
         if idx > 0:
@@ -40,7 +40,7 @@ def __get_boards(dict):
 
 def __get_cpu(dict, board):
     cpus = []
-    keys = dict.keys()
+    keys = list(dict.keys())
     for key in keys:
         idx = key.find(board + '.menu.cpu.')
         start = len(board + '.menu.cpu.')
@@ -196,14 +196,14 @@ def __upload(env, binary):
         upload_cmd = arduino_home + '/hardware/tools/avr/bin/avrdude -C' + arduino_home +'/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -p' \
         + mcu + ' -c' + protocol + ' -P' + port + ' -b' + speed + ' -D -Uflash:w:' + binary + ':i'
 
-        print "Upload command: %s" % upload_cmd
+        print("Upload command: %s" % upload_cmd)
         install_cmd = env.Command('install_cmd', None, upload_cmd)
         env.Default('install_cmd')
     else:
         uu = __get_board_info(board, '.upload.native_usb')
         port = 'ttyACM0'
         upload_cmd = 'stty -F /dev/' + port + ' speed 1200 cs8 -cstopb -parenb \n' + arduino_home + '/hardware/tools/bossac -i -d --port=' + port + ' -U ' + uu + ' -e -w -v -b ' + binary + ' -R'
-        print "Upload command: %s" % upload_cmd
+        print("Upload command: %s" % upload_cmd)
         install_cmd = env.Command('install_cmd', None, upload_cmd)
         env.Default('install_cmd')
 
@@ -321,11 +321,11 @@ else:
         platform_info = __parse_config(arduino_home +
                                        '/hardware/arduino/sam/platform.txt')
     else:
-        print '''
+        print('''
 ************************************* Error ***********************************
 * CPU arch %s isn't supported currently.
 *******************************************************************************
-''' % target_arch
+''' % target_arch)
 
 #Board option, let user to select the board
 boards = __get_boards(boards_info)
index 181416b..489b249 100644 (file)
@@ -5,7 +5,7 @@
 ##
 Import('env')
 
-print "Reading linux configuration script"
+print("Reading linux configuration script")
 
 # Set release/debug flags
 if env.get('RELEASE'):
index 0e9b7ed..9c99c73 100644 (file)
@@ -14,12 +14,12 @@ secured = env.get('SECURED')
 logging = env.get('LOGGING')
 with_tcp = env.get('WITH_TCP')
 
-print "Given Transport is %s" % transport
-print "Given OS is %s" % target_os
+print("Given Transport is %s" % transport)
+print("Given OS is %s" % target_os)
 
 if target_os == 'tizen':
     command = "./resource/csdk/connectivity/build/tizen/gbsbuild.sh %s %s %s %s %s %s" % (
         transport, secured, buildsample, release_mode, logging, with_tcp)
-    print "Created Command is %s" % command
+    print("Created Command is %s" % command)
     gbs_script = env.Command('gbs_build', None, command)
     AlwaysBuild('gbs_script')
index f5ca539..e584f7d 100644 (file)
@@ -10,7 +10,7 @@ target_os = env.get('TARGET_OS')
 transport = env.get('TARGET_TRANSPORT')
 with_tcp = env.get('WITH_TCP')
 
-print "Given Transport is %s" % transport
+print("Given Transport is %s" % transport)
 
 if env.get('RELEASE'):
     env.AppendUnique(CFLAGS=[
@@ -34,29 +34,29 @@ if 'ALL' in transport:
     env.AppendUnique(CPPDEFINES=[
         'WIFI_ADAPTER', 'NO_ETHERNET_ADAPTER', 'EDR_ADAPTER', 'LE_ADAPTER'
     ])
-    print "CA Transport is ALL"
+    print("CA Transport is ALL")
 else:
     if 'BT' in transport:
         env.AppendUnique(CPPDEFINES=['EDR_ADAPTER'])
-        print "CA Transport is BT"
+        print("CA Transport is BT")
     else:
         env.AppendUnique(CPPDEFINES=['NO_EDR_ADAPTER'])
 
     if 'BLE' in transport:
         env.AppendUnique(CPPDEFINES=['LE_ADAPTER'])
-        print "CA Transport is BLE"
+        print("CA Transport is BLE")
     else:
         env.AppendUnique(CPPDEFINES=['NO_LE_ADAPTER'])
 
     if 'WIFI' in transport:
         env.AppendUnique(CPPDEFINES=['WIFI_ADAPTER'])
-        print "CA Transport is WIFI"
+        print("CA Transport is WIFI")
     else:
         env.AppendUnique(CPPDEFINES=['NO_WIFI_ADAPTER'])
 
     if with_tcp == True:
         env.AppendUnique(CPPDEFINES=['TCP_ADAPTER'])
-        print "CA Transport is TCP"
+        print("CA Transport is TCP")
     else:
         env.AppendUnique(CPPDEFINES=['NO_TCP_ADAPTER'])
 
index 2a25872..837c63f 100644 (file)
@@ -5,7 +5,7 @@ import os
 
 Import('connectivity_env')
 
-print "Reading common folder script"
+print("Reading common folder script")
 
 target_os = connectivity_env.get('TARGET_OS')
 src_dir = os.path.abspath(os.curdir)
index 9801397..9696ea7 100644 (file)
@@ -20,7 +20,7 @@ ca_path = os.curdir
 # Source files and Target(s)
 ######################################################################
 
-print"Reading ca script %s"%ca_transport
+print("Reading ca script %s" % ca_transport)
 
 connectivity_env.PrependUnique(CPPPATH = [ os.path.join(root_dir, 'api') ])
 
@@ -77,7 +77,7 @@ if with_ra_ibb:
     connectivity_env.SConscript('#extlibs/wksxmppxep/SConscript')
 
 if ca_os == 'arduino':
-    print "setting WITH_ARDUINO"
+    print("setting WITH_ARDUINO")
     ca_common_src = [
         'caconnectivitymanager.c',
         'cainterfacecontroller.c',
index cac9105..060f8b9 100644 (file)
@@ -5,7 +5,7 @@
 Import('connectivity_env')
 import os
 
-print "Reading BT EDR adapter script"
+print("Reading BT EDR adapter script")
 
 target_os = connectivity_env.get('TARGET_OS')
 src_dir = os.path.abspath(os.curdir)
index e4cbe6d..8ffbc20 100644 (file)
@@ -9,7 +9,7 @@ src_dir = os.path.abspath(os.curdir)
 
 target_os = connectivity_env.get('TARGET_OS')
 
-print "Reading BLE adapter script for", target_os
+print("Reading BLE adapter script for " + target_os)
 
 # Source files common to all platforms.
 connectivity_env.AppendUnique(CA_SRC = [ os.path.join(src_dir, 'caleadapter.c') ])
index 0656adc..e00b6fa 100644 (file)
@@ -5,7 +5,7 @@ import os
 
 Import('connectivity_env')
 
-print "Reading IP adapter script"
+print("Reading IP adapter script")
 
 target_os = connectivity_env.get('TARGET_OS')
 src_dir = os.path.abspath(os.curdir)
index 1fa9e6f..2cbe6d8 100644 (file)
@@ -5,7 +5,7 @@ import os
 
 Import('connectivity_env')
 
-print "Reading IP adapter script"
+print("Reading IP adapter script")
 
 target_os = connectivity_env.get('TARGET_OS')
 src_dir = os.path.abspath(os.curdir)
index 6785c82..db66434 100644 (file)
@@ -21,7 +21,7 @@ import os
 
 Import('connectivity_env')
 
-print "Reading RA adapter script"
+print("Reading RA adapter script")
 
 src_dir = os.path.abspath(os.curdir)
 
index 651aab6..a4a7a7a 100644 (file)
@@ -5,7 +5,7 @@ import os
 
 Import('connectivity_env')
 
-print "Reading TCP adapter script"
+print("Reading TCP adapter script")
 
 target_os = connectivity_env.get('TARGET_OS')
 src_dir = os.path.abspath(os.curdir)
index 09b3453..962d60d 100644 (file)
@@ -14,7 +14,7 @@ if connectivity_env.get('SHIELD') == 'ETH':
     src_files = [ os.path.join(src_dir, 'catcpserver_eth.cpp') ,
                   os.path.join(src_dir, 'catcpadapterutils_eth.cpp')]
 else:
-    print "\nError: TCP is not supported for WIFI shield"
-    Exit(1)
+    msg = "\nError: TCP is not supported for WIFI shield"
+    Exit(msg)
 
 connectivity_env.AppendUnique(CA_SRC = src_files)
index 3fcd349..7938034 100644 (file)
@@ -5,7 +5,7 @@ import os
 
 Import('connectivity_env')
 
-print "Reading util folder script"
+print("Reading util folder script")
 
 ca_transport = connectivity_env.get('TARGET_TRANSPORT')
 target_os = connectivity_env.get('TARGET_OS')
index f51bdf7..2900f82 100644 (file)
@@ -61,12 +61,12 @@ unittest_bin = 'unittest' + sptest_env.get('PROGSUFFIX')
 ######################################################################
 def safe_remove(file_name):
     if path.isfile(file_name):
-        print 'Removing: ' + file_name
+        print('Removing: ' + file_name)
         remove(file_name)
 
 
 def clean_config():
-    print 'Clean configs'
+    print('Clean configs')
     safe_remove('oic_svr_db_server1.dat')
     safe_remove('oic_svr_db_server2.dat')
     safe_remove(cfg_client)
@@ -78,7 +78,7 @@ def clean_config():
 
 def start_srv(num):
     if not path.isfile(unittest_build_dir + server_bin):
-        print "no executable file"
+        print("no executable file")
         return
     cfg_srv = 'oic_svr_db_server' + num + '.dat'
     copyfile(sec_provisioning_src_dir + 'oic_svr_db_server_justworks.dat', cfg_srv)
@@ -90,7 +90,7 @@ def start_srv(num):
             stdout=open('srv' + num + '.log', 'w'))
     else:
         po = Popen([unittest_build_dir + server_bin, num, cfg_srv])
-    print "start server ", num, " pid: ", po.pid
+    print("start server " + num + " pid: ", po.pid)
     return po
 
 
@@ -105,12 +105,12 @@ def kill_all():
                     continue
                 try:
                     pid = int(cmd_list[1])
-                    print "killing: ", pid
+                    print("killing: " + pid)
                     kill(pid, SIGTERM)
                 except Exception as ex:
-                    print line
-                    print "Cannot kill: ", cmd_list[1]
-                    print "exception: " + ex.message
+                    print(line)
+                    print("Cannot kill: " + cmd_list[1])
+                    print("exception: " + ex.message)
     else:
         try:
             from psutil import process_iter
@@ -123,7 +123,7 @@ def kill_all():
                 if name == server_bin:
                     proc.kill()
         except ImportError:
-            print "can not process check"
+            print("can not process check")
 
 
 def run_test(target, source, env):
@@ -132,10 +132,10 @@ def run_test(target, source, env):
     copyfile(sec_provisioning_src_dir + 'oic_svr_db_client.dat', cfg_client)
     po_srv1 = start_srv(str(1))
     po_srv2 = start_srv(str(2))
-    print "Waiting for servers start"
+    print("Waiting for servers start")
     sleep(3)
     call([unittest_build_dir + unittest_bin])
-    print "Servers are stopping"
+    print("Servers are stopping")
     sleep(3)
     po_srv1.terminate()
     po_srv2.terminate()
@@ -222,5 +222,5 @@ Alias('build', [tests, server])
 
 if sptest_env.get('TEST') == '1':
     if target_os in ['linux', 'windows']:
-        print "Start tests"
+        print("Start tests")
         sptest_env.Command('start', [server_bin, unittest_bin], Action(run_test))
index 08a6085..9b81d19 100644 (file)
@@ -62,4 +62,4 @@ if (arduino_simplecs_env['UPLOAD'] == True):
         arduino_simplecs_env.Upload(
             arduino_simplecs_env.get('BUILD_DIR') + '/resource/csdk/stack/samples/arduino/SimpleClientServer/ocserver/SimpleClientServer.hex')
     else:
-        print 'Please use appropriate install method for your development machine. Linux is the only supported platform right now.'
+        print('Please use appropriate install method for your development machine. Linux is the only supported platform right now.')
index 33a452e..623cd3b 100644 (file)
@@ -5,7 +5,7 @@
 import os
 import platform
 
-print "Inside the Config SConscript"
+print("Inside the Config SConscript")
 # Map of host os and allowed target os (host: allowed target os)
 host_target_map = {
     'linux': ['linux', 'android', 'arduino', 'yocto', 'tizen'],
@@ -31,8 +31,8 @@ os_arch_map = {
 host = platform.system().lower()
 
 if host not in host_target_map:
-    print "\nError: Current system (%s) isn't supported\n" % host
-    Exit(1)
+    msg = "\nError: Current system (%s) is not supported\n" % host
+    Exit(msg)
 
 ######################################################################
 # Get build options (the optins from command line)
@@ -40,9 +40,9 @@ if host not in host_target_map:
 target_os = ARGUMENTS.get('TARGET_OS', host).lower()  # target os
 
 if target_os not in host_target_map[host]:
-    print "\nError: Unknown target os: %s (Allow values: %s)\n" % (
+    msg = "\nError: Unknown target os: %s (allowed values: %s)\n" % (
         target_os, host_target_map[host])
-    Exit(1)
+    Exit(msg)
 
 default_arch = platform.machine()
 if default_arch not in os_arch_map[target_os]:
@@ -147,7 +147,7 @@ if target_os in targets_support_cc:
         env.AppendUnique(LINKFLAGS=['--sysroot=' + sys_root])
 
     if prefix or tc_path:
-        print tc_set_msg
+        print(tc_set_msg)
 
 # Ensure scons be able to change its working directory
 env.SConscriptChdir(1)
@@ -163,13 +163,13 @@ env.SConscriptChdir(1)
 
 def __set_dir(env, dir):
     if not os.path.exists(dir + '/SConstruct'):
-        print '''
+        msg = '''
 *************************************** Error *********************************
 * The directory(%s) seems isn't a source code directory, no SConstruct file is
 * found. *
 *******************************************************************************
 ''' % dir
-        Exit(1)
+        Exit(msg)
 
     if env.get('RELEASE'):
         build_dir = dir + '/out/' + target_os + '/' + target_arch + '/release/'
@@ -266,8 +266,8 @@ if target_os == "yocto":
                         env[tool] = os.path.join(path, os.environ[tool])
                         break
     except:
-        print "ERROR in Yocto cross-toolchain environment"
-        Exit(1)
+        msg = "ERROR in Yocto cross-toolchain environment"
+        Exit(msg)
     '''
     Now reset TARGET_OS to linux so that all linux specific build configurations
     hereupon apply for the entirety of the build process.
index 5edcced..4a26773 100644 (file)
@@ -30,7 +30,7 @@ root_dir = env.get('ROOT_DIR')
 build_dir = env.get('BUILD_DIR')
 sample_dir = build_dir
 
-print "MQ flag is %s" % with_mq
+print("MQ flag is %s" % with_mq)
 
 env.AppendUnique(CPPFLAGS=[
     '-std=c++0x', '-fPIC', '-D__TIZEN__', '-DWITH_POSIX', '-Wall',
@@ -73,23 +73,23 @@ if 'ALL' in transport:
         'IP_ADAPTER', 'EDR_ADAPTER', 'LE_ADAPTER', 'BT_ADAPTER_TEST',
         'BLE_ADAPTER_TEST'
     ])
-    print "CA Transport is ALL"
+    print("CA Transport is ALL")
 else:
     if 'BT' in transport:
         env.AppendUnique(CPPDEFINES=['EDR_ADAPTER', 'BT_ADAPTER_TEST'])
-        print "CA Transport is BT"
+        print("CA Transport is BT")
     else:
         env.AppendUnique(CPPDEFINES=['NO_EDR_ADAPTER'])
 
     if 'BLE' in transport:
         env.AppendUnique(CPPDEFINES=['LE_ADAPTER', 'BLE_ADAPTER_TEST'])
-        print "CA Transport is BLE"
+        print("CA Transport is BLE")
     else:
         env.AppendUnique(CPPDEFINES=['NO_LE_ADAPTER'])
 
     if 'IP' in transport:
         env.AppendUnique(CPPDEFINES=['IP_ADAPTER'])
-        print "CA Transport is IP"
+        print("CA Transport is IP")
     else:
         env.AppendUnique(CPPDEFINES=['NO_IP_ADAPTER'])
 
@@ -100,15 +100,15 @@ else:
 
 if 'SUB' in with_mq:
     env.AppendUnique(CPPDEFINES=['MQ_SUBSCRIBER', 'WITH_MQ'])
-    print "MQ SUB support"
+    print("MQ SUB support")
 
 if 'PUB' in with_mq:
     env.AppendUnique(CPPDEFINES=['MQ_PUBLISHER', 'WITH_MQ'])
-    print "MQ PUB support"
+    print("MQ PUB support")
 
 if 'BROKER' in with_mq:
     env.AppendUnique(CPPDEFINES=['MQ_BROKER', 'WITH_MQ'])
-    print "MQ Broker support"
+    print("MQ Broker support")
 
 #ri_sample_src = [sample_dir + '/occlient.cpp']
 
index fc84f16..1d85110 100644 (file)
@@ -37,14 +37,14 @@ elif routing == 'EP':
     env.AppendUnique(CPPDEFINES=['ROUTING_EP'])
 env.AppendUnique(CPPDEFINES=['__TIZEN__'])
 
-print "Given Transport is %s" % transport
-print "Given OS is %s" % target_os
-print "Given MQ is %s" % with_mq
+print("Given Transport is %s" % transport)
+print("Given OS is %s" % target_os)
+print("Given MQ is %s" % with_mq)
 
 if target_os == 'tizen':
     command = "./resource/csdk/stack/samples/tizen/build/gbsbuild.sh %s %s %s %s %s %s %s %s %s" % (
         transport, secured, buildsample, release_mode, logging, routing,
         with_tcp, with_proxy, with_mq)
-    print "Created Command is %s" % command
+    print("Created Command is %s" % command)
     gbs_script = env.Command('gbs_build', None, command)
     AlwaysBuild('gbs_script')
index 4206416..ff1f56d 100644 (file)
@@ -10,7 +10,7 @@ target_os = env.get('TARGET_OS')
 transport = env.get('TARGET_TRANSPORT')
 with_mq = env.get('WITH_MQ')
 
-print "Given Transport is %s" % transport
+print("Given Transport is %s" % transport)
 
 if env.get('RELEASE'):
     env.AppendUnique(CFLAGS=[
@@ -35,23 +35,23 @@ if 'ALL' in transport:
     env.AppendUnique(CPPDEFINES=[
         'WIFI_ADAPTER', 'NO_ETHERNET_ADAPTER', 'EDR_ADAPTER', 'LE_ADAPTER'
     ])
-    print "CA Transport is ALL"
+    print("CA Transport is ALL")
 else:
     if 'BT' in transport:
         env.AppendUnique(CPPDEFINES=['EDR_ADAPTER'])
-        print "CA Transport is BT"
+        print("CA Transport is BT")
     else:
         env.AppendUnique(CPPDEFINES=['NO_EDR_ADAPTER'])
 
     if 'BLE' in transport:
         env.AppendUnique(CPPDEFINES=['LE_ADAPTER'])
-        print "CA Transport is BLE"
+        print("CA Transport is BLE")
     else:
         env.AppendUnique(CPPDEFINES=['NO_LE_ADAPTER'])
 
     if 'IP' in transport:
         env.AppendUnique(CPPDEFINES=['WIFI_ADAPTER'])
-        print "CA Transport is WIFI"
+        print("CA Transport is WIFI")
     else:
         env.AppendUnique(CPPDEFINES=['NO_WIFI_ADAPTER'])
 
@@ -62,14 +62,14 @@ else:
 
 if 'SUB' in with_mq:
     env.AppendUnique(CPPDEFINES=['MQ_SUBSCRIBER', 'WITH_MQ'])
-    print "MQ SUB support"
+    print("MQ SUB support")
 
 if 'PUB' in with_mq:
     env.AppendUnique(CPPDEFINES=['MQ_PUBLISHER', 'WITH_MQ'])
-    print "MQ PUB support"
+    print("MQ PUB support")
 
 if 'BROKER' in with_mq:
     env.AppendUnique(CPPDEFINES=['MQ_BROKER', 'WITH_MQ'])
-    print "MQ Broker support"
+    print("MQ Broker support")
 
 SConscript(env.get('BUILD_DIR') + 'resource/SConscript')
index 6b8fae7..c6778fa 100644 (file)
@@ -107,7 +107,7 @@ if target_os not in ['windows', 'msys_nt']:
         examples_env.AppendUnique(LIBS = ['resource_directory'])
         example_names += ['rdclient']
 
-examples = map(make_single_file_cpp_program, example_names)
+examples = list(map(make_single_file_cpp_program, example_names))
 
 ######################################################################
 # Other examples
index cc505a5..b91bf04 100644 (file)
@@ -70,9 +70,9 @@ if with_ra_ibb:
         LIBS=examples_env['RALIBS'],
         LIBPATH=examples_env['RALIBPATH'],
         RPATH=examples_env['RARPATH'])
-    print "RALIBS = %s" % examples_env['RALIBS']
-    print "RALIBPATH = %s" % examples_env['RALIBPATH']
-    print "RARPATH = %s" % examples_env['RARPATH']
+    print("RALIBS = %s" % examples_env['RALIBS'])
+    print("RALIBPATH = %s" % examples_env['RALIBPATH'])
+    print("RARPATH = %s" % examples_env['RARPATH'])
     examples_env.AppendUnique(LIBS='wksxmppxep')
 else:
     if with_ra:
index bea1e28..8201ce1 100644 (file)
@@ -88,11 +88,14 @@ provisiontests_env.PrependUnique(LIBS = [
 ])
 
 if with_ra_ibb:
-    provisiontests_env.AppendUnique(LIBS = provisiontests_env['RALIBS'], LIBPATH = provisiontests_env['RALIBPATH'], RPATH = provisiontests_env['RARPATH'])
-    print "RALIBS = %s" % provisiontests_env['RALIBS']
-    print "RALIBPATH = %s" % provisiontests_env['RALIBPATH']
-    print "RARPATH = %s" % provisiontests_env['RARPATH']
-else :
+    provisiontests_env.AppendUnique(
+        LIBS=provisiontests_env['RALIBS'],
+        LIBPATH=provisiontests_env['RALIBPATH'],
+        RPATH=provisiontests_env['RARPATH'])
+    print("RALIBS = %s" % provisiontests_env['RALIBS'])
+    print("RALIBPATH = %s" % provisiontests_env['RALIBPATH'])
+    print("RARPATH = %s" % provisiontests_env['RARPATH'])
+else:
     if with_ra:
         provisiontests_env.AppendUnique(LIBS = ['ra_xmpp'])
 
index ab51e09..ab5519c 100644 (file)
@@ -39,12 +39,12 @@ if target_os in ['linux']:
     if not env.GetOption('help') and not env.GetOption('clean'):
         if target_arch != platform.machine() and \
            not (target_arch == 'x86' and platform.machine() in ('i586', 'i686')):
-            print '''
+            print('''
 *********************************** Warning **********************************
 * You are trying cross build, please make sure cross (%s) libraries are
 * installed!
 ******************************************************************************
-''' % target_arch
+''' % target_arch)
 
     conf = Configure(lib_env)
     conf.Finish()
@@ -58,11 +58,11 @@ if target_os == 'android':
 
     if target_arch not in ['x86', 'x86_64', 'armeabi', 'armeabi-v7a']:
         if not env.GetOption('help') and not env.GetOption('clean'):
-            print '''
+            print('''
 *********************************** Warning ***********************************
 * currently only x86, x86_64, armeabi, armeabi-v7a libraries are available!
 *******************************************************************************
-'''
+''')
     else:
         # Boost warnings too noisy, suppress
         lib_env.AppendUnique(CCFLAGS=['-w'])
index e637ab9..08fb70f 100644 (file)
@@ -45,8 +45,8 @@ else:
 ##### The following lines must be uncommented, if target Enrollee is not Arduino
 target_enrollee = env.get('ES_TARGET_ENROLLEE')
 if target_enrollee == 'arduino':
-    print "REMOTE_ARDUINO_ENROLEE flag is defined."
-    print "The Mediator application will be working only with Arduino Enrollee."
+    print("REMOTE_ARDUINO_ENROLEE flag is defined.")
+    print("The Mediator application will be working only with Arduino Enrollee.")
     easy_setup_env.AppendUnique(CPPDEFINES=['REMOTE_ARDUINO_ENROLEE'])
 target_os = env.get('TARGET_OS')
 
@@ -146,7 +146,7 @@ if not env.get('RELEASE') and target_os not in ['ios']:
 # Source files and Targets
 ######################################################################
 
-print "easysetup_path %s" % easysetup_path
+print("easysetup_path %s" % easysetup_path)
 
 es_src = None
 
@@ -185,7 +185,7 @@ for filename in filenames:
     easy_setup_env.UserInstallTargetHeader(
         'inc/' + filename, "service/easy-setup", filename)
 
-print "Files path is %s" % env.get('es_src')
+print("Files path is %s" % env.get('es_src'))
 
 ######################################################################
 # Generate RichSDK Mediator AAR
index f7e2bee..4dd9608 100644 (file)
@@ -36,7 +36,7 @@ os.environ['ANDROID_NDK_HOME'] = env.get('ANDROID_NDK')
 if not os.path.exists(android_home +
                       '/platforms/android-21') or not os.path.exists(
                           android_home + '/build-tools/20.0.0'):
-    print '''
+    print('''
 ***************************************** Info ********************************
 *   Either 'Android API 21' is not installed or 'Android SDK Build Tools      *
 *   20.0.0' is not installed. The Android SDK Manager will now open. Please   *
@@ -61,7 +61,7 @@ if not os.path.exists(android_home +
 *******************************************************************************
 
 ...Opening Android SDK Manager now. Once you are finished, the build will continue.
-'''
+''')
     os.system(android_home + '/tools/android')
 
 #SConscript("../../../../../../android/android_api/SConscript")
index 4c8a2db..067e756 100644 (file)
@@ -66,4 +66,4 @@ if (enrollee_env['UPLOAD'] == True):
         enrollee_env.Upload(
             env.get('BUILD_DIR') + '/service/easy-setup/sampleapp/enrollee/arduino/enrollee.hex')
     else:
-        print 'Please use appropriate install method for your developing machine. Linux is the only supported platform right now.'
+        print('Please use appropriate install method for your developing machine. Linux is the only supported platform right now.')
index 3a82be1..d11d818 100644 (file)
@@ -71,8 +71,8 @@ if 'msys_nt' in host:
     host = 'msys_nt'
 
 if host not in host_target_map:
-    print "\nError: Current system (%s) isn't supported\n" % host
-    Exit(1)
+    msg = "\nError: Current system (%s) is not supported\n" % host
+    Exit(msg)
 
 ######################################################################
 # Get build options (the optins from command line)
@@ -80,9 +80,9 @@ if host not in host_target_map:
 target_os = ARGUMENTS.get('TARGET_OS', host).lower()  # target os
 
 if target_os not in host_target_map[host]:
-    print "\nError: Unsupported target os: %s (supported values: %s)\n" % (
+    msg = "\nError: Unsupported target os: %s (supported values: %s)\n" % (
         target_os, host_target_map[host])
-    Exit(1)
+    Exit(msg)
 
 if target_os == 'android':
     default_arch = 'x86'
@@ -116,9 +116,8 @@ else:
 targets_without_dtls_support = ['arduino']
 if ARGUMENTS.get(
         'SECURED') == '1' and target_os in targets_without_dtls_support:
-    print "\nError: DTLS not supported on target os: %s MUST build with SECURED=0\n" % (
-        target_os)
-    Exit(1)
+    msg = "\nError: DTLS not supported on target os: %s MUST build with SECURED=0\n" % target_os
+    Exit(msg)
 
 ######################################################################
 # Common build options (release, target os, target arch)
@@ -291,25 +290,25 @@ if env.get('WITH_ENV'):
     env['ENV'] = os.environ
     if 'CC' in os.environ:
         env['CC'] = Split(os.environ['CC'])
-        print "using CC from environment: %s" % env['CC']
+        print("using CC from environment: %s" % env['CC'])
     if 'CXX' in os.environ:
         env['CXX'] = Split(os.environ['CXX'])
-        print "using CXX from environment: %s" % env['CXX']
+        print("using CXX from environment: %s" % env['CXX'])
     if 'CFLAGS' in os.environ:
         env['CFLAGS'] = Split(os.environ['CFLAGS'])
-        print "using CFLAGS from environment: %s" % env['CFLAGS']
+        print("using CFLAGS from environment: %s" % env['CFLAGS'])
     if 'CXXFLAGS' in os.environ:
         env['CXXFLAGS'] = Split(os.environ['CXXFLAGS'])
-        print "using CXXFLAGS from environment: %s" % env['CXXFLAGS']
+        print("using CXXFLAGS from environment: %s" % env['CXXFLAGS'])
     if 'CCFLAGS' in os.environ:
         env['CCFLAGS'] = Split(os.environ['CCFLAGS'])
-        print "using CCFLAGS from environment: %s" % env['CCFLAGS']
+        print("using CCFLAGS from environment: %s" % env['CCFLAGS'])
     if 'CPPFLAGS' in os.environ:
         env['CPPFLAGS'] = Split(os.environ['CPPFLAGS'])
-        print "using CPPFLAGS from environment: %s" % env['CPPFLAGS']
+        print("using CPPFLAGS from environment: %s" % env['CPPFLAGS'])
     if 'LDFLAGS' in os.environ:
         env['LINKFLAGS'] = Split(os.environ['LDFLAGS'])
-        print "using LDFLAGS/LINKFLAGS from environment: %s" % env['LINKFLAGS']
+        print("using LDFLAGS/LINKFLAGS from environment: %s" % env['LINKFLAGS'])
 
 tc_set_msg = '''
 ************************************ Warning **********************************
@@ -345,7 +344,7 @@ if target_os in targets_support_cc:
         env.AppendUnique(LINKFLAGS=['--sysroot=' + sys_root])
 
     if prefix or tc_path:
-        print tc_set_msg
+        print(tc_set_msg)
 
 # Import env variables only if reproductibility is ensured
 if target_os in ['yocto']:
@@ -354,7 +353,7 @@ else:
     env['CONFIG_ENVIRONMENT_IMPORT'] = False
 
 if env['CONFIG_ENVIRONMENT_IMPORT'] == True:
-    print "warning: importing some environment variables for OS: %s" % target_os
+    print("warning: importing some environment variables for OS: %s" % target_os)
     for ev in [
             'PATH', 'PKG_CONFIG', 'PKG_CONFIG_PATH', 'PKG_CONFIG_SYSROOT_DIR'
     ]:
@@ -377,13 +376,13 @@ env.SConscriptChdir(1)
 
 def __set_dir(env, dir):
     if not os.path.exists(dir + '/SConstruct'):
-        print '''
+        msg = '''
 *************************************** Error *********************************
 * The directory(%s) seems isn't a source code directory, no SConstruct file is
 * found. *
 *******************************************************************************
 ''' % dir
-        Exit(1)
+        Exit(msg)
 
     if env.get('RELEASE'):
         build_dir = dir + '/out/' + target_os + '/' + target_arch + '/release/'
@@ -601,8 +600,8 @@ if 'ALL' in target_transport:
 else:
     if ('BT' in target_transport):
         if (target_os == 'linux'):
-            print "CA Transport BT is not supported "
-            Exit(1)
+            msg = "CA Transport BT is not supported "
+            Exit(msg)
         else:
             env.AppendUnique(CPPDEFINES=['EDR_ADAPTER'])
     else:
@@ -624,8 +623,8 @@ else:
         ]):
             env.AppendUnique(CPPDEFINES=['TCP_ADAPTER', 'WITH_TCP'])
         else:
-            print "CA Transport TCP is not supported "
-            Exit(1)
+            msg = "CA Transport TCP is not supported "
+            Exit(msg)
     else:
         env.AppendUnique(CPPDEFINES=['NO_TCP_ADAPTER'])
 
@@ -633,8 +632,8 @@ else:
         if (target_os == 'android'):
             env.AppendUnique(CPPDEFINES=['NFC_ADAPTER'])
         else:
-            print "CA Transport NFC is not supported "
-            Exit(1)
+            msg = "CA Transport NFC is not supported "
+            Exit(msg)
     else:
         env.AppendUnique(CPPDEFINES=['NO_NFC_ADAPTER'])
 
@@ -699,8 +698,8 @@ if target_os == "yocto":
                         break
         env['CROSS_COMPILE'] = target_prefix[:len(target_prefix) - 1]
     except:
-        print "ERROR in Yocto cross-toolchain environment"
-        Exit(1)
+        msg = "ERROR in Yocto cross-toolchain environment"
+        Exit(msg)
     '''
     Now reset TARGET_OS to linux so that all linux specific build configurations
     hereupon apply for the entirety of the build process.
index 9637efd..0a64a0e 100644 (file)
@@ -39,8 +39,8 @@ es_target_enrollee_map = {'arduino', 'tizen', 'linux'}
 host = platform.system().lower()
 
 if host not in host_target_map:
-    print "\nError: Current system (%s) isn't supported\n" % host
-    Exit(1)
+    msg = "\nError: Current system (%s) isn't supported\n" % host
+    Exit(msg)
 
 ######################################################################
 # Get build options (the optins from command line)
@@ -48,9 +48,9 @@ if host not in host_target_map:
 target_os = ARGUMENTS.get('TARGET_OS', host).lower()  # target os
 
 if target_os not in host_target_map[host]:
-    print "\nError: Unsupported target os: %s (supported values: %s)\n" % (
+    msg = "\nError: Unsupported target os: %s (supported values: %s)\n" % (
         target_os, host_target_map[host])
-    Exit(1)
+    Exit(msg)
 
 default_arch = platform.machine()
 if default_arch not in os_arch_map[target_os]:
@@ -69,9 +69,9 @@ device_name = ARGUMENTS.get('DEVICE_NAME', "OIC-DEVICE")
 es_target_enrollee = ARGUMENTS.get('ES_TARGET_ENROLLEE')
 
 if es_target_enrollee not in es_target_enrollee_map:
-    print "\nError: Unknown ES_TARGET_ENROLLEE: %s (Allow values: %s)\n" % (
+    msg = "\nError: Unknown ES_TARGET_ENROLLEE: %s (Allow values: %s)\n" % (
         es_target_enrollee, es_target_enrollee_map)
-    Exit(1)
+    Exit(msg)
 
 ######################################################################
 # Common build options (release, target os, target arch)
@@ -189,7 +189,7 @@ if target_os in targets_support_cc:
         env.AppendUnique(LINKFLAGS=['--sysroot=' + sys_root])
 
     if prefix or tc_path:
-        print tc_set_msg
+        print(tc_set_msg)
 
 # Ensure scons be able to change its working directory
 env.SConscriptChdir(1)
@@ -205,13 +205,13 @@ env.SConscriptChdir(1)
 
 def __set_dir(env, dir):
     if not os.path.exists(dir + '/SConstruct'):
-        print '''
+        msg = '''
 *************************************** Error *********************************
 * The directory(%s) seems isn't a source code directory, no SConstruct file is
 * found. *
 *******************************************************************************
 ''' % dir
-        Exit(1)
+        Exit(msg)
 
     if env.get('RELEASE'):
         build_dir = dir + '/out/' + target_os + '/' + target_arch + '/release/'
index 620f537..2208e03 100644 (file)
@@ -18,16 +18,16 @@ es_target_enrollee = env.get('ES_TARGET_ENROLLEE')
 with_tcp = env.get('WITH_TCP')
 with_cloud = env.get('WITH_CLOUD')
 
-print "Given Transport is %s" % transport
-print "Given OS is %s" % target_os
-print "Given es_target_enrollee is %s" % es_target_enrollee
-print "Given tcp option is %s" % with_tcp
-print "Given cloud option is %s" % with_cloud
+print("Given Transport is %s" % transport)
+print("Given OS is %s" % target_os)
+print("Given es_target_enrollee is %s" % es_target_enrollee)
+print("Given tcp option is %s" % with_tcp)
+print("Given cloud option is %s" % with_cloud)
 
 if target_os == 'tizen':
     command = "sh service/easy-setup/sampleapp/enrollee/tizen-sdb/EnrolleeSample/build/tizen/gbsbuild.sh %s %s %s %s %s %s %s %s" % (
         transport, secured, routing, release_mode, logging, es_target_enrollee,
         with_tcp, with_cloud)
-    print "Created Command is %s" % command
+    print("Created Command is %s" % command)
     gbs_script = env.Command('gbs_build', None, command)
     AlwaysBuild('gbs_script')
index 8484738..83b2b80 100644 (file)
@@ -36,7 +36,7 @@ os.environ['ANDROID_NDK_HOME'] = env.get('ANDROID_NDK')
 if not os.path.exists(android_home +
                       '/platforms/android-21') or not os.path.exists(
                           android_home + '/build-tools/20.0.0'):
-    print '''
+    print('''
 ***************************************** Info ********************************
 *   Either 'Android API 21' is not installed or 'Android SDK Build Tools      *
 *   20.0.0' is not installed. The Android SDK Manager will now open. Please   *
@@ -61,7 +61,7 @@ if not os.path.exists(android_home +
 *******************************************************************************
 
 ...Opening Android SDK Manager now. Once you are finished, the build will continue.
-'''
+''')
     os.system(android_home + '/tools/android')
 
 #SConscript("../../../../../../android/android_api/SConscript")
index e392edb..1a0bd62 100644 (file)
@@ -16,7 +16,7 @@ os.environ['ANDROID_NDK_HOME'] = env.get('ANDROID_NDK')
 if not os.path.exists(android_home +
                       '/platforms/android-21') or not os.path.exists(
                           android_home + '/build-tools/20.0.0'):
-    print '''
+    print('''
 ***************************************** Info ********************************
 *   Either 'Android API 21' is not installed or 'Android SDK Build Tools      *
 *   20.0.0' is not installed. The Android SDK Manager will now open. Please   *
@@ -41,7 +41,7 @@ if not os.path.exists(android_home +
 *******************************************************************************
 
 ...Opening Android SDK Manager now. Once you are finished, the build will continue.
-'''
+''')
     os.system(android_home + '/tools/android')
 
 
index c9e47f2..cbc3849 100644 (file)
@@ -36,7 +36,7 @@ os.environ['ANDROID_NDK_HOME'] = env.get('ANDROID_NDK')
 if not os.path.exists(android_home +
                       '/platforms/android-21') or not os.path.exists(
                           android_home + '/build-tools/20.0.0'):
-    print '''
+    print('''
 ***************************************** Info ********************************
 *   Either 'Android API 21' is not installed or 'Android SDK Build Tools      *
 *   20.0.0' is not installed. The Android SDK Manager will now open. Please   *
@@ -61,7 +61,7 @@ if not os.path.exists(android_home +
 *******************************************************************************
 
 ...Opening Android SDK Manager now. Once you are finished, the build will continue.
-'''
+''')
     os.system(android_home + '/tools/android')
 
 
index c5191ab..d52b145 100644 (file)
@@ -36,7 +36,7 @@ os.environ['ANDROID_NDK_HOME'] = env.get('ANDROID_NDK')
 if not os.path.exists(android_home +
                       '/platforms/android-21') or not os.path.exists(
                           android_home + '/build-tools/20.0.0'):
-    print '''
+    print('''
 ***************************************** Info ********************************
 *   Either 'Android API 21' is not installed or 'Android SDK Build Tools      *
 *   20.0.0' is not installed. The Android SDK Manager will now open. Please   *
@@ -61,7 +61,7 @@ if not os.path.exists(android_home +
 *******************************************************************************
 
 ...Opening Android SDK Manager now. Once you are finished, the build will continue.
-'''
+''')
     os.system(android_home + '/tools/android')
 
 
index 34a23ad..ac78db0 100644 (file)
@@ -34,8 +34,7 @@ def filtered_glob(env,
                   ondisk=True,
                   source=False,
                   strings=False):
-    return filter(lambda f: os.path.basename(f.path) not in omit,
-                  env.Glob(pattern))
+    return [f for f in env.Glob(pattern) if os.path.basename(f.path) not in omit]
 
 
 env.AddMethod(filtered_glob, "FilteredGlob")
@@ -52,11 +51,11 @@ target_os = env.get('TARGET_OS')
 
 if int(containerJavaSupport):
     try:
-        print 'Java Home: ', os.environ['JAVA_HOME']
-        print 'Java Lib: ', os.environ['JAVA_LIB']
+        print('Java Home: ' + os.environ['JAVA_HOME'])
+        print('Java Lib: ' + os.environ['JAVA_LIB'])
         resource_container_env.Append(CPPDEFINES={'JAVA_SUPPORT': 1})
     except KeyError:
-        print '''
+        print('''
 *********************************** Error *************************************
 * Building resource container without Java support. JAVA_HOME or JAVA_LIB are not set properly
 * Please configure JAVA_HOME to point to your Java 7 JDK and
@@ -64,7 +63,7 @@ if int(containerJavaSupport):
 * Example: export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
 *          export JAVA_LIB=/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/server
 *******************************************************************************
-'''
+''')
         resource_container_env.Append(CPPDEFINES={'JAVA_SUPPORT': 0})
 
 resource_container_env.AppendUnique(CPPPATH=[
@@ -89,7 +88,7 @@ if int(containerJavaSupport):
             os.environ['JAVA_HOME'] + '/include/linux'
         ])
     except KeyError:
-        print ''
+        print('')
 
 if target_os not in ['windows']:
     resource_container_env.AppendUnique(CXXFLAGS=['-std=c++0x', '-Wall'])
@@ -106,7 +105,7 @@ if target_os == 'android':
 try:
     resource_container_env.AppendUnique(LIBPATH=[os.environ['JAVA_LIB']])
 except KeyError:
-    print ''
+    print('')
 
 resource_container_env.PrependUnique(LIBS=[
     'coap',
@@ -129,10 +128,10 @@ if resource_container_env.get('SECURED') == '1':
 
 if int(containerJavaSupport):
     try:
-        print 'Java Lib: ', os.environ['JAVA_LIB']
+        print('Java Lib: ' + os.environ['JAVA_LIB'])
         resource_container_env.AppendUnique(LIBS=['jvm'])
     except KeyError:
-        print ''
+        print('')
 
 ######################################################################
 # Source files and Targets
@@ -239,7 +238,7 @@ if target_os in ['linux', 'tizen', 'android']:
 
 conf2 = Configure(lib_env)
 if not conf2.CheckLib('curl'):
-    print '''
+    print('''
 *********************************** Error *************************************
 * Cannot build hue sample. Please install libcurl.
 * Example (Ubuntu):
@@ -248,7 +247,7 @@ if not conf2.CheckLib('curl'):
 * Hint: check with pkg-config --libs libcurl and clear scons cache.
 * Skipping hue sample build.
 *******************************************************************************
-    '''
+    ''')
 else:
     hue_resource_bundle_env = resource_container_env.Clone()
     hue_resource_bundle_env.AppendUnique(CCFLAGS=['-fPIC'])
index 7a73d3d..3dfa20a 100644 (file)
@@ -16,7 +16,7 @@ os.environ['ANDROID_NDK_HOME'] = env.get('ANDROID_NDK')
 if not os.path.exists(android_home +
                       '/platforms/android-21') or not os.path.exists(
                           android_home + '/build-tools/20.0.0'):
-    print '''
+    print('''
 ***************************************** Info ********************************
 *   Either 'Android API 21' is not installed or 'Android SDK Build Tools      *
 *   20.0.0' is not installed. The Android SDK Manager will now open. Please   *
@@ -41,7 +41,7 @@ if not os.path.exists(android_home +
 *******************************************************************************
 
 ...Opening Android SDK Manager now. Once you are finished, the build will continue.
-'''
+''')
     os.system(android_home + '/tools/android')
 
 
index 753ddc8..e30fd25 100644 (file)
@@ -41,8 +41,7 @@ def filtered_glob(env,
                   ondisk=True,
                   source=False,
                   strings=False):
-    return filter(lambda f: os.path.basename(f.path) not in omit,
-                  lib_env.Glob(pattern))
+    return [f for f in lib_env.Glob(pattern) if os.path.basename(f.path) not in omit]
 
 
 lib_env.AddMethod(filtered_glob, "FilteredGlob")
@@ -59,11 +58,11 @@ container_gtest_env = lib_env.Clone()
 
 if int(containerJavaSupport):
     try:
-        print 'Java Home: ', os.environ['JAVA_HOME']
-        print 'Java Lib: ', os.environ['JAVA_LIB']
+        print('Java Home: ' + os.environ['JAVA_HOME'])
+        print('Java Lib: ' + os.environ['JAVA_LIB'])
         container_gtest_env.Append(CPPDEFINES={'JAVA_SUPPORT_TEST': 1})
     except KeyError:
-        print '''
+        print('''
 *********************************** Error *************************************
 * Building resource container without Java support. JAVA_HOME or JAVA_LIB are not set properly
 * Please configure JAVA_HOME to point to your Java 7 JDK and
@@ -71,7 +70,7 @@ if int(containerJavaSupport):
 * Example: export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
 *          export JAVA_LIB=/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/server/
 *******************************************************************************
-'''
+''')
         container_gtest_env.Append(CPPDEFINES={'JAVA_SUPPORT_TEST': 0})
 
 ######################### unit test setting ##########################
@@ -103,7 +102,7 @@ if int(containerJavaSupport):
             os.environ['JAVA_HOME'] + '/include/linux'
         ])
     except KeyError:
-        print ''
+        print('')
 
 if target_os not in ['windows']:
     container_gtest_env.AppendUnique(LIBS=['dl'])
@@ -133,7 +132,7 @@ if int(containerJavaSupport):
     try:
         container_gtest_env.AppendUnique(LIBPATH=[os.environ['JAVA_LIB']])
     except KeyError:
-        print ''
+        print('')
 container_gtest_env.PrependUnique(LIBS=[
     'rcs_container',
     'rcs_client',
@@ -149,10 +148,10 @@ container_gtest_env.PrependUnique(LIBS=[
 
 if int(containerJavaSupport):
     try:
-        print 'Java Lib: ', os.environ['JAVA_LIB']
+        print('Java Lib: ' + os.environ['JAVA_LIB'])
         container_gtest_env.AppendUnique(LIBS=['jvm'])
     except KeyError:
-        print ''
+        print('')
 
 if container_gtest_env.get('SECURED') == '1':
     container_gtest_env.AppendUnique(CPPDEFINES=['SECURED'])
index a56c006..69631bf 100644 (file)
@@ -16,7 +16,7 @@ os.environ['ANDROID_NDK_HOME'] = env.get('ANDROID_NDK')
 if not os.path.exists(android_home +
                       '/platforms/android-21') or not os.path.exists(
                           android_home + '/build-tools/20.0.0'):
-    print '''
+    print('''
 ***************************************** Info ********************************
 *   Either 'Android API 21' is not installed or 'Android SDK Build Tools      *
 *   20.0.0' is not installed. The Android SDK Manager will now open. Please   *
@@ -41,7 +41,7 @@ if not os.path.exists(android_home +
 *******************************************************************************
 
 ...Opening Android SDK Manager now. Once you are finished, the build will continue.
-'''
+''')
     os.system(android_home + '/tools/android')
 
 
index 7bba0f5..22a1138 100644 (file)
@@ -41,12 +41,12 @@ if target_os in ['linux']:
     if not env.GetOption('help') and not env.GetOption('clean'):
         if target_arch != platform.machine() and \
            not (target_arch == 'x86' and platform.machine() in ('i586', 'i686')):
-            print '''
+            print('''
 *********************************** Warning ***********************************
 * You are trying cross build, please make sure cross (%s) libraries are
 * installed!
 *******************************************************************************
-''' % target_arch
+''' % target_arch)
 
     #Test Coverage Flags and Library (if RELEASE=0)
     if not env.get('RELEASE'):
@@ -85,11 +85,11 @@ if target_os == 'android':
 
     if target_arch not in ['x86', 'x86_64', 'armeabi', 'armeabi-v7a']:
         if not env.GetOption('help') and not env.GetOption('clean'):
-            print '''
+            print('''
 *********************************** Warning ***********************************
 * current only x86, x86_64, armeabi, armeabi-v7a libraries are provided!      *
 *******************************************************************************
-'''
+''')
     else:
         # Boost warnings too noisy, suppress
         lib_env.AppendUnique(CCFLAGS=['-w'])