Reformat resource/csdk SConscripts to be more Pythonic 3/4 07/20807/8
authorMats Wichmann <mats@linux.com>
Mon, 12 Jun 2017 18:22:36 +0000 (12:22 -0600)
committerPhil Coval <philippe.coval@osg.samsung.com>
Tue, 20 Jun 2017 10:20:18 +0000 (10:20 +0000)
These are the resource/csdk/connectivity subset.

There are not intended to be any functional changes.

In a couple of places, for general consistency, changed
  SConscript('#foo') to SConscript('#/foo') - these are equivalent
"help vars" assignments formatted so messages can be improved later
  without changing formatting
all EnumVariable usage now calls out allowed_values= to be more clear

Change-Id: Ic062a8e3a81586a6eddbc0ca414f5e51d5d97b86
Signed-off-by: Mats Wichmann <mats@linux.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/20807
Tested-by: jenkins-iotivity <jenkins@iotivity.org>
Reviewed-by: George Nash <george.nash@intel.com>
Reviewed-by: Phil Coval <philippe.coval@osg.samsung.com>
28 files changed:
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/arduino/arduino.scons
resource/csdk/connectivity/build/linux/SConscript
resource/csdk/connectivity/build/tizen/SConscript
resource/csdk/connectivity/common/SConscript
resource/csdk/connectivity/src/SConscript
resource/csdk/connectivity/src/bt_edr_adapter/SConscript
resource/csdk/connectivity/src/bt_edr_adapter/android/SConscript
resource/csdk/connectivity/src/bt_edr_adapter/tizen/SConscript
resource/csdk/connectivity/src/bt_le_adapter/SConscript
resource/csdk/connectivity/src/bt_le_adapter/android/SConscript
resource/csdk/connectivity/src/bt_le_adapter/arduino/SConscript
resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript
resource/csdk/connectivity/src/bt_le_adapter/tizen/SConscript
resource/csdk/connectivity/src/ip_adapter/SConscript
resource/csdk/connectivity/src/ip_adapter/android/SConscript
resource/csdk/connectivity/src/ip_adapter/arduino/SConscript
resource/csdk/connectivity/src/ip_adapter/tizen/SConscript
resource/csdk/connectivity/src/nfc_adapter/SConscript
resource/csdk/connectivity/src/nfc_adapter/android/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/test/SConscript
resource/csdk/connectivity/util/SConscript

index b48beb8..2e9fe82 100644 (file)
@@ -25,7 +25,8 @@ 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))
+        print "%s disallowed until testing can validate use of multiple transports on %s %d" % (
+            transport, target_os, len(transport))
         Exit(1)
 
-SConscript('src/SConscript', exports = 'connectivity_env')
+SConscript('src/SConscript', exports='connectivity_env')
index a0455d3..2782721 100644 (file)
@@ -7,41 +7,51 @@ import platform
 
 # Map of host os and allowed target os (host: allowed target os)
 host_target_map = {
-               'linux': ['linux', 'android', 'arduino', 'yocto', 'tizen'],
-               'windows': ['windows', 'android', 'arduino'],
-               'darwin': ['darwin', 'ios', 'android', 'arduino'],
-               }
+    'linux': ['linux', 'android', 'arduino', 'yocto', 'tizen'],
+    'windows': ['windows', 'android', 'arduino'],
+    'darwin': ['darwin', 'ios', 'android', 'arduino'],
+}
 
 # Map of os and allowed archs (os: allowed archs)
 os_arch_map = {
-               'linux': ['x86', 'x86_64', 'arm', 'arm64', 'mips', 'mipsel', 'mips64', 'mips64el', 'i386', 'powerpc', 'sparc', 'aarch64'],
-               'tizen': ['x86', 'x86_64', 'arm', 'arm64'],
-               'android': ['x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'armeabi-v7a-hard', 'arm64-v8a'],
-               'windows': ['x86', 'amd64', 'arm'],
-               'darwin': ['i386', 'x86_64'],
-               'ios': ['i386', 'x86_64', 'armv7', 'armv7s', 'arm64'],
-               'arduino': ['avr', 'arm'],
-                'yocto': ['i586', 'i686', 'x86_64', 'arm', 'aarch64', 'powerpc', 'powerpc64', 'mips', 'mipsel'],
-               }
+    'linux': [
+        'x86', 'x86_64', 'arm', 'arm64', 'mips', 'mipsel', 'mips64',
+        'mips64el', 'i386', 'powerpc', 'sparc', 'aarch64'
+    ],
+    'tizen': ['x86', 'x86_64', 'arm', 'arm64'],
+    'android': [
+        'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'armeabi-v7a-hard',
+        'arm64-v8a'
+    ],
+    'windows': ['x86', 'amd64', 'arm'],
+    'darwin': ['i386', 'x86_64'],
+    'ios': ['i386', 'x86_64', 'armv7', 'armv7s', 'arm64'],
+    'arduino': ['avr', 'arm'],
+    'yocto': [
+        'i586', 'i686', 'x86_64', 'arm', 'aarch64', 'powerpc', 'powerpc64',
+        'mips', 'mipsel'
+    ],
+}
 
 host = platform.system().lower()
 
 if host not in host_target_map:
-       print "\nError: Current system (%s) isn't supported\n" % host
-       Exit(1)
+    print "\nError: Current system (%s) isn't supported\n" % host
+    Exit(1)
 
 ######################################################################
 # Get build options (the optins from command line)
 ######################################################################
-target_os = ARGUMENTS.get('TARGET_OS', host).lower() # target os
+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" % (target_os, host_target_map[host])
-       Exit(1)
+    print "\nError: Unknown target os: %s (Allow values: %s)\n" % (
+        target_os, host_target_map[host])
+    Exit(1)
 
 default_arch = platform.machine()
 
-target_arch = ARGUMENTS.get('TARGET_ARCH', default_arch) # target arch
+target_arch = ARGUMENTS.get('TARGET_ARCH', default_arch)  # target arch
 
 # True if binary needs to be installed on board. (Might need root permissions)
 # set to 'no', 'false' or 0 for only compilation
@@ -54,27 +64,73 @@ device_name = ARGUMENTS.get('DEVICE_NAME', "OIC-DEVICE")
 # Common build options (release, target os, target arch)
 ######################################################################
 help_vars = Variables()
-help_vars.Add(BoolVariable('RELEASE', 'Build for release?', True)) # set to 'no', 'false' or 0 for debug
-help_vars.Add(BoolVariable('LOGGING', 'Enable stack logging', False))
-help_vars.Add(EnumVariable('TARGET_OS', 'Target platform', host, host_target_map[host]))
-help_vars.Add(ListVariable('TARGET_TRANSPORT', 'Target transport', 'ALL', ['ALL', 'BT', 'BLE', 'IP']))
-help_vars.Add(EnumVariable('TARGET_ARCH', 'Target architecture', default_arch, os_arch_map[target_os]))
-help_vars.Add(EnumVariable('SECURED', 'Build with DTLS', '1', allowed_values=('0', '1')))
-help_vars.Add(BoolVariable('UPLOAD', 'Upload binary ? (For Arduino)', require_upload))
-help_vars.Add(EnumVariable('ROUTING', 'Enable routing', 'EP', allowed_values=('GW', 'EP')))
-help_vars.Add(EnumVariable('BUILD_SAMPLE', 'Build with sample', 'ON', allowed_values=('ON', 'OFF')))
-help_vars.Add(BoolVariable('WITH_TCP', 'Enable TCP', False))
-help_vars.Add(ListVariable('WITH_MQ', 'Build with MQ publisher/subscriber/broker', 'OFF', ['OFF', 'SUB', 'PUB', 'BROKER']))
-
-help_vars.AddVariables(('DEVICE_NAME', 'Network display name for device', 'OIC-DEVICE', None, None),)
-
-AddOption('--prefix',
-                  dest='prefix',
-                  type='string',
-                  nargs=1,
-                  action='store',
-                  metavar='DIR',
-                  help='installation prefix')
+help_vars.Add(
+    BoolVariable('RELEASE',
+                 'Build for release?',
+                 True))  # set to 'no', 'false' or 0 for debug
+help_vars.Add(
+    BoolVariable('LOGGING',
+                 'Enable stack logging',
+                 False))
+help_vars.Add(
+    EnumVariable('TARGET_OS',
+                 'Target platform',
+                 host,
+                 allowed_values=host_target_map[host]))
+help_vars.Add(
+    ListVariable('TARGET_TRANSPORT',
+                 'Target transport',
+                 'ALL',
+                 ['ALL', 'BT', 'BLE', 'IP']))
+help_vars.Add(
+    EnumVariable('TARGET_ARCH',
+                 'Target architecture',
+                 default_arch,
+                 allowed_values=os_arch_map[target_os]))
+help_vars.Add(
+    EnumVariable('SECURED',
+                 'Build with DTLS',
+                 '1',
+                 allowed_values=('0', '1')))
+help_vars.Add(
+    BoolVariable('UPLOAD',
+                 'Upload binary ? (For Arduino)',
+                 require_upload))
+help_vars.Add(
+    EnumVariable('ROUTING',
+                 'Enable routing',
+                 'EP',
+                 allowed_values=('GW', 'EP')))
+help_vars.Add(
+    EnumVariable('BUILD_SAMPLE',
+                 'Build with sample',
+                 'ON',
+                 allowed_values=('ON', 'OFF')))
+help_vars.Add(
+    BoolVariable('WITH_TCP',
+                 'Enable TCP',
+                 False))
+help_vars.Add(
+    ListVariable('WITH_MQ',
+                 'Build with MQ publisher/subscriber/broker',
+                 'OFF',
+                 ['OFF', 'SUB', 'PUB', 'BROKER']))
+
+help_vars.AddVariables(
+    ('DEVICE_NAME',
+     'Network display name for device',
+     'OIC-DEVICE',
+     None,
+     None), )
+
+AddOption(
+    '--prefix',
+    dest='prefix',
+    type='string',
+    nargs=1,
+    action='store',
+    metavar='DIR',
+    help='installation prefix')
 
 ######################################################################
 # Platform(build target) specific options: SDK/NDK & toolchain
@@ -82,23 +138,33 @@ AddOption('--prefix',
 targets_support_cc = ['linux', 'arduino', 'tizen']
 
 if target_os in targets_support_cc:
-       # Set cross compile toolchain
-       help_vars.Add('TC_PREFIX', "Toolchain prefix (Generally only be required for cross-compiling)", os.environ.get('TC_PREFIX'))
-       help_vars.Add(PathVariable('TC_PATH',
-                       'Toolchain path (Generally only be required for cross-compiling)',
-                       os.environ.get('TC_PATH')))
-
-if target_os in ['android', 'arduino']: # Android/Arduino always uses GNU compiler regardless of the host
-       env = Environment(variables = help_vars,
-                       tools = ['gnulink', 'gcc', 'g++', 'ar', 'as']
-                       )
+    # Set cross compile toolchain
+    help_vars.Add('TC_PREFIX',
+                  "Toolchain prefix (Generally only required for cross-compiling)",
+                  os.environ.get('TC_PREFIX'))
+    help_vars.Add(
+        PathVariable(
+            'TC_PATH',
+            'Toolchain path (Generally only required for cross-compiling)',
+            os.environ.get('TC_PATH')))
+
+if target_os in [
+        'android', 'arduino'
+]:  # Android/Arduino always uses GNU compiler regardless of the host
+    env = Environment(
+        variables=help_vars, tools=['gnulink', 'gcc', 'g++', 'ar', 'as'])
 else:
-       env = Environment(variables = help_vars, TARGET_ARCH = target_arch, TARGET_OS = target_os, PREFIX = GetOption('prefix'))
+    env = Environment(
+        variables=help_vars,
+        TARGET_ARCH=target_arch,
+        TARGET_OS=target_os,
+        PREFIX=GetOption('prefix'))
 
 Help(help_vars.GenerateHelpText(env))
 
 # Set device name to __OIC_DEVICE_NAME__
-env.AppendUnique(CPPDEFINES = ['-D__OIC_DEVICE_NAME__=' + "\'\"" + device_name + "\"\'"])
+env.AppendUnique(
+    CPPDEFINES=['-D__OIC_DEVICE_NAME__=' + "\'\"" + device_name + "\"\'"])
 
 tc_set_msg = '''
 ************************************ Warning **********************************
@@ -109,24 +175,24 @@ tc_set_msg = '''
 '''
 
 if target_os in targets_support_cc:
-       prefix = env.get('TC_PREFIX')
-       tc_path = env.get('TC_PATH')
-       if prefix:
-               env.Replace(CC = prefix + 'gcc')
-               env.Replace(CXX = prefix + 'g++')
-               env.Replace(AR = prefix + 'ar')
-               env.Replace(AS = prefix + 'as')
-               env.Replace(LINK = prefix + 'ld')
-               env.Replace(RANLIB = prefix + 'ranlib')
-
-       if tc_path:
-               env.PrependENVPath('PATH', tc_path)
-               sys_root = os.path.abspath(tc_path + '/../')
-               env.AppendUnique(CCFLAGS = ['--sysroot=' + sys_root])
-               env.AppendUnique(LINKFLAGS = ['--sysroot=' + sys_root])
-
-       if prefix or tc_path:
-               print tc_set_msg
+    prefix = env.get('TC_PREFIX')
+    tc_path = env.get('TC_PATH')
+    if prefix:
+        env.Replace(CC=prefix + 'gcc')
+        env.Replace(CXX=prefix + 'g++')
+        env.Replace(AR=prefix + 'ar')
+        env.Replace(AS=prefix + 'as')
+        env.Replace(LINK=prefix + 'ld')
+        env.Replace(RANLIB=prefix + 'ranlib')
+
+    if tc_path:
+        env.PrependENVPath('PATH', tc_path)
+        sys_root = os.path.abspath(tc_path + '/../')
+        env.AppendUnique(CCFLAGS=['--sysroot=' + sys_root])
+        env.AppendUnique(LINKFLAGS=['--sysroot=' + sys_root])
+
+    if prefix or tc_path:
+        print tc_set_msg
 
 # Ensure scons be able to change its working directory
 env.SConscriptChdir(1)
@@ -139,67 +205,77 @@ env.SConscriptChdir(1)
 #   env.get('SRC_DIR')
 #   env.get('BUILD_DIR')
 
+
 def __set_dir(env, dir):
-       if not os.path.exists(dir + '/SConstruct'):
-               print '''
+    if not os.path.exists(dir + '/SConstruct'):
+        print '''
 *************************************** Error *********************************
 * The directory(%s) seems isn't a source code directory, no SConstruct file is
 * found. *
 *******************************************************************************
 ''' % dir
-               Exit(1)
+        Exit(1)
+
+    if env.get('RELEASE'):
+        build_dir = os.path.join(
+            dir, 'out', target_os, target_arch, 'release') + os.sep
+    else:
+        build_dir = os.path.join(
+            dir, 'out', target_os, target_arch, 'debug') + os.sep
+    env.VariantDir(build_dir, dir, duplicate=0)
+
+    env.Replace(BUILD_DIR=build_dir)
+    env.Replace(SRC_DIR=dir)
 
-       if env.get('RELEASE'):
-               build_dir = os.path.join(dir, 'out', target_os, target_arch, 'release') + os.sep
-       else:
-               build_dir = os.path.join(dir, 'out', target_os, target_arch, 'debug') + os.sep
-       env.VariantDir(build_dir, dir, duplicate=0)
 
-       env.Replace(BUILD_DIR = build_dir)
-       env.Replace(SRC_DIR = dir)
+def __src_to_obj(env, src, home=''):
+    obj = env.get('BUILD_DIR') + src.replace(home, '')
+    if env.get('OBJSUFFIX'):
+        obj += env.get('OBJSUFFIX')
+    return env.Object(obj, src)
 
-def __src_to_obj(env, src, home = ''):
-       obj = env.get('BUILD_DIR') + src.replace(home, '')
-       if env.get('OBJSUFFIX'):
-               obj += env.get('OBJSUFFIX')
-       return env.Object(obj, src)
 
 def __install(ienv, targets, name):
-       i_n = ienv.Install(env.get('BUILD_DIR'), targets)
-       Alias(name, i_n)
-       env.AppendUnique(TS = [name])
+    i_n = ienv.Install(env.get('BUILD_DIR'), targets)
+    Alias(name, i_n)
+    env.AppendUnique(TS=[name])
+
 
 def __installlib(ienv, targets, name):
-       user_prefix = env.get('PREFIX')
-       if user_prefix:
-               install_lib_dir = os.path.join(user_prefix, 'lib')
-       else:
-               install_lib_dir = os.path.join(env.get('BUILD_DIR'), 'lib')
-       i_n = ienv.Install(install_lib_dir, targets)
-       ienv.Alias("install", i_n)
+    user_prefix = env.get('PREFIX')
+    if user_prefix:
+        install_lib_dir = os.path.join(user_prefix, 'lib')
+    else:
+        install_lib_dir = os.path.join(env.get('BUILD_DIR'), 'lib')
+    i_n = ienv.Install(install_lib_dir, targets)
+    ienv.Alias("install", i_n)
+
 
 def __installbin(ienv, targets, name):
-       user_prefix = env.get('PREFIX')
-       if user_prefix:
-               i_n = ienv.Install(user_prefix + '/bin', targets)
-               ienv.Alias("install", i_n)
+    user_prefix = env.get('PREFIX')
+    if user_prefix:
+        i_n = ienv.Install(user_prefix + '/bin', targets)
+        ienv.Alias("install", i_n)
+
 
 def __append_target(ienv, target):
-       env.AppendUnique(TS = [target])
+    env.AppendUnique(TS=[target])
+
 
 def __print_targets(env):
-       Help('''
+    Help('''
 ===============================================================================
 Targets:\n    ''')
-       for t in env.get('TS'):
-               Help(t + ' ')
-       Help('''
-\nDefault all targets will be built. You can specify the target to build:
+    for t in env.get('TS'):
+        Help(t + ' ')
+    Help('''
+\nBy default all targets will be built. You can specify the target to build:
 
     $ scons [options] [target]
 ===============================================================================
 ''')
 
+
 env.AddMethod(__set_dir, 'SetDir')
 env.AddMethod(__print_targets, 'PrintTargets')
 env.AddMethod(__src_to_obj, 'SrcToObj')
@@ -208,7 +284,7 @@ env.AddMethod(__install, 'InstallTarget')
 env.AddMethod(__installlib, 'UserInstallTargetLib')
 env.AddMethod(__installbin, 'UserInstallTargetBin')
 env.SetDir(env.GetLaunchDir())
-env['ROOT_DIR']=env.GetLaunchDir()+'/..'
+env['ROOT_DIR'] = env.GetLaunchDir() + '/..'
 
 Export('env')
 
@@ -225,20 +301,22 @@ if target_os == "yocto":
     try:
         CC = os.environ['CC']
         target_prefix = CC.split()[0]
-        target_prefix = target_prefix[:len(target_prefix)-3]
-        tools = {"CC" : target_prefix+"gcc",
-                "CXX" : target_prefix+"g++",
-                "AS" : target_prefix+"as",
-                "LD" : target_prefix+"ld",
-                "GDB" : target_prefix+"gdb",
-                "STRIP" : target_prefix+"strip",
-                "RANLIB" : target_prefix+"ranlib",
-                "OBJCOPY" : target_prefix+"objcopy",
-                "OBJDUMP" : target_prefix+"objdump",
-                "AR" : target_prefix+"ar",
-                "NM" : target_prefix+"nm",
-                "M4" : "m4",
-                "STRINGS": target_prefix+"strings"}
+        target_prefix = target_prefix[:len(target_prefix) - 3]
+        tools = {
+            "CC": target_prefix + "gcc",
+            "CXX": target_prefix + "g++",
+            "AS": target_prefix + "as",
+            "LD": target_prefix + "ld",
+            "GDB": target_prefix + "gdb",
+            "STRIP": target_prefix + "strip",
+            "RANLIB": target_prefix + "ranlib",
+            "OBJCOPY": target_prefix + "objcopy",
+            "OBJDUMP": target_prefix + "objdump",
+            "AR": target_prefix + "ar",
+            "NM": target_prefix + "nm",
+            "M4": "m4",
+            "STRINGS": target_prefix + "strings"
+        }
         PATH = os.environ['PATH'].split(os.pathsep)
         for tool in tools:
             if tool in os.environ:
@@ -259,19 +337,19 @@ if target_os == "yocto":
     We want to preserve debug symbols to allow BitBake to generate both DEBUG and
     RELEASE packages for OIC.
     '''
-    env.AppendUnique(CCFLAGS = ['-g'])
+    env.AppendUnique(CCFLAGS=['-g'])
     '''
     Additional flags to pass to the Yocto toolchain.
     '''
     if env.get('RELEASE'):
-        env.AppendUnique(CPPDEFINES = ['NDEBUG'])
+        env.AppendUnique(CPPDEFINES=['NDEBUG'])
     if env.get('LOGGING'):
-        env.AppendUnique(CPPDEFINES = ['TB_LOG'])
-    env.AppendUnique(CPPDEFINES = ['WITH_POSIX', '__linux__', '_GNU_SOURCE'])
-    env.AppendUnique(CFLAGS = ['-std=gnu99'])
-    env.AppendUnique(CCFLAGS = ['-Wall', '-fPIC'])
+        env.AppendUnique(CPPDEFINES=['TB_LOG'])
+    env.AppendUnique(CPPDEFINES=['WITH_POSIX', '__linux__', '_GNU_SOURCE'])
+    env.AppendUnique(CFLAGS=['-std=gnu99'])
+    env.AppendUnique(CCFLAGS=['-Wall', '-fPIC'])
     if target_os in ['linux']:
-        env.AppendUnique(LIBS = ['dl', 'pthread'])
+        env.AppendUnique(LIBS=['dl', 'pthread'])
     Export('env')
 else:
     '''
@@ -279,17 +357,17 @@ else:
     '''
     # Load config of target os
     if target_os in ['linux', 'tizen']:
-               env.SConscript('linux/SConscript')
+        env.SConscript('linux/SConscript')
     else:
-               env.SConscript(target_os + '/SConscript')
+        env.SConscript(target_os + '/SConscript')
 
 # Delete the temp files of configuration
 if env.GetOption('clean'):
-       dir = env.get('SRC_DIR')
+    dir = env.get('SRC_DIR')
 
-       if os.path.exists(dir + '/config.log'):
-               Execute(Delete(dir + '/config.log'))
-               Execute(Delete(dir + '/.sconsign.dblite'))
-               Execute(Delete(dir + '/.sconf_temp'))
+    if os.path.exists(dir + '/config.log'):
+        Execute(Delete(dir + '/config.log'))
+        Execute(Delete(dir + '/.sconsign.dblite'))
+        Execute(Delete(dir + '/.sconf_temp'))
 
 Return('env')
index 0405243..ad4b78b 100644 (file)
@@ -8,70 +8,73 @@ import subprocess
 Import('env')
 
 help_vars = Variables()
-help_vars.Add(PathVariable('ANDROID_NDK', 'Android NDK root directory', os.environ.get('ANDROID_NDK')))
+help_vars.Add(
+    PathVariable('ANDROID_NDK',
+                 'Android NDK root directory',
+                 os.environ.get('ANDROID_NDK')))
 help_vars.Update(env)
 Help(help_vars.GenerateHelpText(env))
 
 android_ndk = env.get('ANDROID_NDK')
 if not android_ndk:
-       print '''
+    print '''
 *************************************** Error *********************************
 *    Android NDK path isn't set, you can set environment variable ANDROID_NDK *
 * or add it in command line as:                                               *
 *      # scons ANDROID_NDK=<path to android NDK> ...                          *
 *******************************************************************************
 '''
-       Exit(1)
+    Exit(1)
 
 # Overwrite suffixes and prefixes
 if env['HOST_OS'] == 'win32':
-       env['OBJSUFFIX'] = '.o'
-       env['SHOBJSUFFIX'] = '.os'
-       env['LIBPREFIX'] = 'lib'
-       env['LIBSUFFIX'] = '.a'
-       env['SHLIBPREFIX'] = 'lib'
-       env['SHLIBSUFFIX'] = '.so'
-       env['LIBPREFIXES'] = ['lib']
-       env['LIBSUFFIXES'] = ['.a', '.so']
-       env['PROGSUFFIX'] = ''
+    env['OBJSUFFIX'] = '.o'
+    env['SHOBJSUFFIX'] = '.os'
+    env['LIBPREFIX'] = 'lib'
+    env['LIBSUFFIX'] = '.a'
+    env['SHLIBPREFIX'] = 'lib'
+    env['SHLIBSUFFIX'] = '.so'
+    env['LIBPREFIXES'] = ['lib']
+    env['LIBSUFFIXES'] = ['.a', '.so']
+    env['PROGSUFFIX'] = ''
 elif platform.system().lower() == 'darwin':
-       env['SHLIBSUFFIX'] = '.so'
-       env['LIBSUFFIXES'] = ['.a', '.so']
-       env['PROGSUFFIX'] = ''
+    env['SHLIBSUFFIX'] = '.so'
+    env['LIBSUFFIXES'] = ['.a', '.so']
+    env['PROGSUFFIX'] = ''
 
 ######################################################################
 # Set common flags
 ######################################################################
 
 # Android build system default cofig
-env.AppendUnique(CPPDEFINES = ['ANDROID'])
-env.AppendUnique(CFLAGS = ['-std=c99'])
-env.AppendUnique(SHCFLAGS = ['-Wa,--noexecstack'])
-env.AppendUnique(LINKFLAGS = ['-Wl,--gc-sections', '-Wl,-z,nocopyreloc'])
+env.AppendUnique(CPPDEFINES=['ANDROID'])
+env.AppendUnique(CFLAGS=['-std=c99'])
+env.AppendUnique(SHCFLAGS=['-Wa,--noexecstack'])
+env.AppendUnique(LINKFLAGS=['-Wl,--gc-sections', '-Wl,-z,nocopyreloc'])
 
 ######################################################################
 # Probe Android NDK default flags
 ######################################################################
 ndk_build_cmd = android_ndk + '/ndk-build'
 if env['HOST_OS'] == 'win32':
-       if os.path.isfile(ndk_build_cmd + '.cmd'):
-               ndk_build_cmd += '.cmd'
+    if os.path.isfile(ndk_build_cmd + '.cmd'):
+        ndk_build_cmd += '.cmd'
 
 if not os.path.isfile(ndk_build_cmd):
-       print '''
+    print '''
 *************************************** Error *********************************
 *   It seems android ndk path is not set properly, please check if "%s"
 * is the root directory of android ndk.                                       *
 *******************************************************************************
 ''' % android_ndk
-       Exit(1)
+    Exit(1)
 
 ANDROID_HOME = os.environ.get('ANDROID_HOME')
 if ANDROID_HOME is not None:
-       ANDROID_HOME = os.path.abspath(ANDROID_HOME)
+    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. If you'd like build Java code, it's required.*
@@ -83,20 +86,20 @@ target_arch = env.get('TARGET_ARCH')
 # Android ndk early version doesn't support C++11. Detect the toolchain version
 # to make sure proper toolchain is used
 for tc_ver in ['4.7', '4.8', '4.9', '']:
-       if os.path.exists(android_ndk + '/toolchains/x86-' + tc_ver):
-               break
+    if os.path.exists(android_ndk + '/toolchains/x86-' + tc_ver):
+        break
 
 cmd = [ndk_build_cmd]
 cmd.append('APP_ABI=' + target_arch)
 cmd.append('APP_STL=gnustl_shared')
 if env.get('RELEASE'):
-       cmd.append('APP_OPTIM=release')
+    cmd.append('APP_OPTIM=release')
 else:
-       cmd.append('APP_OPTIM=debug')
+    cmd.append('APP_OPTIM=debug')
 if tc_ver != '':
-       cmd.append('NDK_TOOLCHAIN_VERSION=' + tc_ver)
+    cmd.append('NDK_TOOLCHAIN_VERSION=' + tc_ver)
 else:
-       print '''
+    print '''
 *************************************** Warning *******************************
 *   To support C++11, the toolchain should be >= 4.7, please make sure your   *
 * android NDK is at least r8e!                                                *
@@ -105,78 +108,84 @@ else:
 
 cmd.append('-n')
 
-p = subprocess.Popen(cmd, stdout = subprocess.PIPE)
+p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
 
 for flags in p.stdout.readlines():
-       if cmp(flags[0:10], 'TC_PREFIX=') == 0: # toolchain prefix (include path)
-               prefix = flags[10:].strip()
-               env.Replace(CC = prefix + 'gcc')
-               env.Replace(CXX = prefix + 'g++')
-               env.Replace(AR = prefix + 'ar')
-               env.Replace(RANLIB = prefix + 'ranlib')
-
-       elif cmp(flags[0:7], 'CFLAGS=') == 0:
-               env.AppendUnique(CFLAGS = Split(flags[7:]))
-
-       elif cmp(flags[0:9], 'CXXFLAGS=') == 0:
-               env.AppendUnique(CXXFLAGS = Split(flags[9:]))
-
-       elif cmp(flags[0:8], 'CPPPATH=') == 0:
-               env.AppendUnique(CPPPATH = Split(flags[8:]))
-
-       elif cmp(flags[0:8], 'SYSROOT=') == 0:
-               sysroot = flags[8:].strip()
-               env.AppendUnique(LINKFLAGS = ['--sysroot=' + sysroot])
-               env.AppendUnique(LIBPATH = [sysroot + '/usr/lib'])
-
-       elif cmp(flags[0:8], 'LDFLAGS=') == 0:
-               env.AppendUnique(LINKFLAGS = Split(flags[8:]))
-
-       elif cmp(flags[0:7], 'TC_VER=') == 0:  # set gnustl library path
-               ver = flags[7:].strip()
-               env.AppendUnique(LIBPATH = [android_ndk + '/sources/cxx-stl/gnu-libstdc++/'
-                               + ver + '/libs/' + target_arch])
-
-       elif cmp(flags[0:9], 'PLATFORM=') == 0:  # get target platform: android-x
-               platform_ver = flags[9+8:].strip()
-               if not platform_ver.isdigit():
-                       platform_ver = ''
+    if cmp(flags[0:10], 'TC_PREFIX=') == 0:  # toolchain prefix (include path)
+        prefix = flags[10:].strip()
+        env.Replace(CC=prefix + 'gcc')
+        env.Replace(CXX=prefix + 'g++')
+        env.Replace(AR=prefix + 'ar')
+        env.Replace(RANLIB=prefix + 'ranlib')
+
+    elif cmp(flags[0:7], 'CFLAGS=') == 0:
+        env.AppendUnique(CFLAGS=Split(flags[7:]))
+
+    elif cmp(flags[0:9], 'CXXFLAGS=') == 0:
+        env.AppendUnique(CXXFLAGS=Split(flags[9:]))
+
+    elif cmp(flags[0:8], 'CPPPATH=') == 0:
+        env.AppendUnique(CPPPATH=Split(flags[8:]))
+
+    elif cmp(flags[0:8], 'SYSROOT=') == 0:
+        sysroot = flags[8:].strip()
+        env.AppendUnique(LINKFLAGS=['--sysroot=' + sysroot])
+        env.AppendUnique(LIBPATH=[sysroot + '/usr/lib'])
+
+    elif cmp(flags[0:8], 'LDFLAGS=') == 0:
+        env.AppendUnique(LINKFLAGS=Split(flags[8:]))
+
+    elif cmp(flags[0:7], 'TC_VER=') == 0:  # set gnustl library path
+        ver = flags[7:].strip()
+        env.AppendUnique(LIBPATH=[
+            android_ndk + '/sources/cxx-stl/gnu-libstdc++/' + ver + '/libs/' +
+            target_arch
+        ])
+
+    elif cmp(flags[0:9], 'PLATFORM=') == 0:  # get target platform: android-x
+        platform_ver = flags[9 + 8:].strip()
+        if not platform_ver.isdigit():
+            platform_ver = ''
 
 # Determine dependency faux SYS_ROOT
-dep_sys_root = os.path.join(env.get('SRC_DIR'), 'dep', 'android', target_arch, 'usr')
-dep_src_dir =  os.path.join(dep_sys_root, 'include')
-dep_lib_dir =  os.path.join(dep_sys_root, 'lib')
+dep_sys_root = os.path.join(
+    env.get('SRC_DIR'), 'dep', 'android', target_arch, 'usr')
+dep_src_dir = os.path.join(dep_sys_root, 'include')
+dep_lib_dir = os.path.join(dep_sys_root, 'lib')
 
 env['DEP_SYS_ROOT'] = dep_sys_root
 
 # Add external libraries including boost
-env.AppendUnique(CPPPATH = [ dep_src_dir ])
-env.AppendUnique(LIBPATH = [ dep_lib_dir ])
+env.AppendUnique(CPPPATH=[dep_src_dir])
+env.AppendUnique(LIBPATH=[dep_lib_dir])
 
 ######################################################################
 # Set release/debug flags
 ######################################################################
 if env.get('RELEASE'):
-       env.AppendUnique(CCFLAGS = ['-Os'])
-       env.AppendUnique(CPPDEFINES = ['NDEBUG'])
-       env.AppendUnique(LINKFLAGS = ['-s'])
+    env.AppendUnique(CCFLAGS=['-Os'])
+    env.AppendUnique(CPPDEFINES=['NDEBUG'])
+    env.AppendUnique(LINKFLAGS=['-s'])
 else:
-       env.AppendUnique(CCFLAGS = ['-g'])
+    env.AppendUnique(CCFLAGS=['-g'])
 
 if env.get('LOGGING'):
-        env.AppendUnique(CPPDEFINES = ['TB_LOG'])
+    env.AppendUnique(CPPDEFINES=['TB_LOG'])
 
-env.AppendUnique(CPPDEFINES = ['WITH_POSIX', '__ANDROID__'])
-env.AppendUnique(CCFLAGS = ['-Wall', '-fPIC'])
+env.AppendUnique(CPPDEFINES=['WITH_POSIX', '__ANDROID__'])
+env.AppendUnique(CCFLAGS=['-Wall', '-fPIC'])
 
 src_dir = env.get('SRC_DIR')
-env.AppendUnique(LIBPATH = [src_dir + '/lib/android'])
-env.AppendUnique(LIBS = ['log', 'coap'])
+env.AppendUnique(LIBPATH=[src_dir + '/lib/android'])
+env.AppendUnique(LIBS=['log', 'coap'])
 if env.get('SECURED') == '1':
-       env.AppendUnique(LIBS = ['mbedtls','mbedx509','mbedcrypto'])
-
-# From android-5 (API > 20), all application must be built with flags '-fPIE' '-pie'.
-# Due to the limitation of Scons, it's required to added it into the command line
-# directly (otherwise, it will also be added when build share library)
-env.Replace(CCCOM = '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM -fPIE $SOURCES')
-env.Replace(CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM -fPIE $SOURCES')
+    env.AppendUnique(LIBS=['mbedtls', 'mbedx509', 'mbedcrypto'])
+
+# From android-5 (API > 20), all executables must be built position-independent
+# so with flags '-fPIE' '-pie'.
+# If we add those flags to CFLAGS or CCFLAGS, scons will also apply them
+# to building objects for shared libraries.
+# The workaround chosen here is to rewrite the cc/cxx build rule
+# Also notice the code doesn't match the comment (no -pie option)
+env.Replace(CCCOM='$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM -fPIE $SOURCES')
+env.Replace(CXXCOM='$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM -fPIE $SOURCES')
index d97d596..8c294f2 100644 (file)
@@ -6,293 +6,322 @@ import platform
 
 Import('env')
 
+
 def __parse_config(f):
-       dict = {}
+    dict = {}
+
+    if not os.path.isfile(f):
+        return dict
 
-       if not os.path.isfile(f):
-               return dict
+    file = open(f, 'r')
+    strs = file.readlines()
+    for str in strs:
+        str = str.strip()
+        if len(str) > 0 and str[0] == '#':
+            continue
 
-       file = open(f, 'r')
-       strs = file.readlines()
-       for str in strs:
-               str = str.strip()
-               if len(str) > 0 and str[0] == '#':
-                       continue
+        idx = str.find('=')
+        if idx > 0:
+            dict.setdefault(str[0:idx], str[idx + 1:])
 
-               idx = str.find('=')
-               if idx > 0:
-                       dict.setdefault(str[0:idx], str[idx + 1:])
+    return dict
 
-       return dict
 
 def __get_boards(dict):
-       boards = []
-       keys = dict.keys()
-       for key in keys:
-               idx = key.find('.name')
-               if idx > 0:
-                       if key.endswith('.name'):
-                               boards.append(key[0:idx])
-       return boards
+    boards = []
+    keys = dict.keys()
+    for key in keys:
+        idx = key.find('.name')
+        if idx > 0:
+            if key.endswith('.name'):
+                boards.append(key[0:idx])
+    return boards
+
 
 def __get_cpu(dict, board):
-       cpus = []
-       keys = dict.keys()
-       for key in keys:
-               idx = key.find(board + '.menu.cpu.')
-               start = len(board + '.menu.cpu.')
-               if idx >= 0:
-                       end = key.find('.', start)
-                       if end > 0:
-                               cpu = key[start:end]
-                               exist = False
-                               for c in cpus:
-                                       if c == cpu:
-                                               exist = True
-                                               break
-
-                               if not exist:
-                                       cpus.append(cpu)
-       return cpus
+    cpus = []
+    keys = dict.keys()
+    for key in keys:
+        idx = key.find(board + '.menu.cpu.')
+        start = len(board + '.menu.cpu.')
+        if idx >= 0:
+            end = key.find('.', start)
+            if end > 0:
+                cpu = key[start:end]
+                exist = False
+                for c in cpus:
+                    if c == cpu:
+                        exist = True
+                        break
+
+                if not exist:
+                    cpus.append(cpu)
+    return cpus
+
 
 def __get_board_info(board, key):
-       if cpu:
-               v = boards_info.get(board + '.menu.cpu.' + cpu + key)
-               if not v:
-                       v = boards_info.get(board + key)
-       else:
-               v = boards_info.get(board + key)
-       return v
-
-def __search_files(path, pattern, ondisk=True, source=True, strings=False, recursive=True):
-       if not recursive:
-               return Glob(pattern, ondisk, source, strings)
-
-       matches = []
-       for root, dirnames, filenames in os.walk(path):
-               #BLE library examples throw lot of errors. We dont need examples.
-               if 'examples' not in root:
-                       matches.extend(Glob(root + '/' + pattern, ondisk, source, strings))
-       return matches
+    if cpu:
+        v = boards_info.get(board + '.menu.cpu.' + cpu + key)
+        if not v:
+            v = boards_info.get(board + key)
+    else:
+        v = boards_info.get(board + key)
+    return v
+
+
+def __search_files(path,
+                   pattern,
+                   ondisk=True,
+                   source=True,
+                   strings=False,
+                   recursive=True):
+    if not recursive:
+        return Glob(pattern, ondisk, source, strings)
+
+    matches = []
+    for root, dirnames, filenames in os.walk(path):
+        #BLE library examples throw lot of errors. We dont need examples.
+        if 'examples' not in root:
+            matches.extend(Glob(root + '/' + pattern, ondisk, source, strings))
+    return matches
+
 
 # To make sure the src is built in 'BUILD_DIR' (by default it will be built at
 # the same directory as the .c .cpp .S)
 def __src_to_obj(env, srcs):
-       objs = []
-       prefix = env.get('BOARD') + '_'
-       if env.get('CPU'):
-               prefix += env.get('CPU') + '_'
-
-       build_dir = env.get('BUILD_DIR') + '/arduino/'
-       for src in srcs:
-               obj = src.path.replace(arduino_home, build_dir)
-               i = obj.rfind('.')
-               obj = obj[0:i]
-               if env.get('OBJSUFFIX'):
-                       obj += env.get('OBJSUFFIX')
-               objs.extend(env.Object(obj, src, OBJPREFIX=prefix))
-       return objs
+    objs = []
+    prefix = env.get('BOARD') + '_'
+    if env.get('CPU'):
+        prefix += env.get('CPU') + '_'
+
+    build_dir = env.get('BUILD_DIR') + '/arduino/'
+    for src in srcs:
+        obj = src.path.replace(arduino_home, build_dir)
+        i = obj.rfind('.')
+        obj = obj[0:i]
+        if env.get('OBJSUFFIX'):
+            obj += env.get('OBJSUFFIX')
+        objs.extend(env.Object(obj, src, OBJPREFIX=prefix))
+    return objs
+
 
 def __import_lib(env, lib):
-       lib_path = arduino_home + '/libraries/' + lib
-       if not os.path.exists(lib_path):
-               if target_arch == 'avr':
-                       lib_path = arduino_home + '/hardware/arduino/avr/libraries/' + lib
-               else:
-                       lib_path = arduino_home + '/hardware/arduino/sam/libraries/' + lib
-
-       if os.path.exists(lib_path + '/src'):
-               lib_path = lib_path + '/src'
-
-       env.AppendUnique(CPPPATH = [lib_path])
-
-       if os.path.exists(lib_path + '/utility'):
-               env.AppendUnique(CPPPATH = [lib_path + '/utility'])
-
-       lib_src = []
-       lib_src.extend(__search_files(lib_path, '*.S'))
-       lib_src.extend(__search_files(lib_path, '*.c'))
-       lib_src.extend(__search_files(lib_path, '*.cpp'))
-
-       lib_obj = __src_to_obj(env, lib_src)
-       build_dir = env.get('BUILD_DIR')
-       if build_dir:
-               lib_a = env.StaticLibrary(build_dir + lib, lib_obj)
-       else:
-               lib_a = env.StaticLibrary(lib, lib_obj)
-
-       # If we link libSPI.a, the final binary is not getting launched
-       # on the board.  Which is not the case if we directly use SPI.o.
-
-       if env.get('TARGET_ARCH') == 'arm':
-               if lib == 'SPI':
-                       for obj in lib_obj:
-                               if obj.name.endswith('SPI.o'):
-                                       env.PrependUnique(LIBS = [File(obj)])
-               else:
-                       env.AppendUnique(LIBS = [File(lib_a[0])])
-       else:
-               env.PrependUnique(LIBS = [File(lib_a[0])])
+    lib_path = arduino_home + '/libraries/' + lib
+    if not os.path.exists(lib_path):
+        if target_arch == 'avr':
+            lib_path = arduino_home + '/hardware/arduino/avr/libraries/' + lib
+        else:
+            lib_path = arduino_home + '/hardware/arduino/sam/libraries/' + lib
+
+    if os.path.exists(lib_path + '/src'):
+        lib_path = lib_path + '/src'
+
+    env.AppendUnique(CPPPATH=[lib_path])
+
+    if os.path.exists(lib_path + '/utility'):
+        env.AppendUnique(CPPPATH=[lib_path + '/utility'])
+
+    lib_src = []
+    lib_src.extend(__search_files(lib_path, '*.S'))
+    lib_src.extend(__search_files(lib_path, '*.c'))
+    lib_src.extend(__search_files(lib_path, '*.cpp'))
+
+    lib_obj = __src_to_obj(env, lib_src)
+    build_dir = env.get('BUILD_DIR')
+    if build_dir:
+        lib_a = env.StaticLibrary(build_dir + lib, lib_obj)
+    else:
+        lib_a = env.StaticLibrary(lib, lib_obj)
+
+    # If we link libSPI.a, the final binary is not getting launched
+    # on the board.  Which is not the case if we directly use SPI.o.
+
+    if env.get('TARGET_ARCH') == 'arm':
+        if lib == 'SPI':
+            for obj in lib_obj:
+                if obj.name.endswith('SPI.o'):
+                    env.PrependUnique(LIBS=[File(obj)])
+        else:
+            env.AppendUnique(LIBS=[File(lib_a[0])])
+    else:
+        env.PrependUnique(LIBS=[File(lib_a[0])])
+
 
 def __build_core(env):
-       core_src = __search_files(core_folder, '*.S')
-       core_src.extend(__search_files(core_folder, '*.c'))
-       core_src.extend(__search_files(core_folder, '*.cpp'))
-
-       core_src.extend(__search_files(variant_folder, '*.S'))
-       core_src.extend(__search_files(variant_folder, '*.c'))
-       core_src.extend(__search_files(variant_folder, '*.cpp'))
-
-       core_obj = __src_to_obj(env, core_src)
-       build_dir = env.get('BUILD_DIR')
-       if build_dir:
-               s_core = env.StaticLibrary(build_dir + 'core', core_obj)
-       else:
-               s_core = env.StaticLibrary('core', core_obj)
-       env.AppendUnique(LIBS = [File(s_core[0])])
-
-       # To avoid compiler issue. Otherewise there may be warnings:
-       #       undefined reference to '_exit' '_close', '_getpid' ...
-       # Above functions are used in libc.a and implemented in syscalls_sam3.c
-       if env.get('TARGET_ARCH') == 'arm':
-               for obj in core_obj:
-                       if obj.name.endswith('syscalls_sam3.o'):
-                               env.AppendUnique(LIBS = [File(obj)])
+    core_src = __search_files(core_folder, '*.S')
+    core_src.extend(__search_files(core_folder, '*.c'))
+    core_src.extend(__search_files(core_folder, '*.cpp'))
+
+    core_src.extend(__search_files(variant_folder, '*.S'))
+    core_src.extend(__search_files(variant_folder, '*.c'))
+    core_src.extend(__search_files(variant_folder, '*.cpp'))
+
+    core_obj = __src_to_obj(env, core_src)
+    build_dir = env.get('BUILD_DIR')
+    if build_dir:
+        s_core = env.StaticLibrary(build_dir + 'core', core_obj)
+    else:
+        s_core = env.StaticLibrary('core', core_obj)
+    env.AppendUnique(LIBS=[File(s_core[0])])
+
+    # To avoid compiler issue. Otherewise there may be warnings:
+    #   undefined reference to '_exit' '_close', '_getpid' ...
+    # Above functions are used in libc.a and implemented in syscalls_sam3.c
+    if env.get('TARGET_ARCH') == 'arm':
+        for obj in core_obj:
+            if obj.name.endswith('syscalls_sam3.o'):
+                env.AppendUnique(LIBS=[File(obj)])
+
 
 def __create_bin(env, source):
-       name = source
-       if target_arch == 'avr':
-               eep = env.Command(name + '.eep', source, 'avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 $SOURCE $TARGET')
-               hex = env.Command(name + '.hex', source, 'avr-objcopy -O ihex -R .eeprom $SOURCE $TARGET')
-       else:
-               hex = env.Command(name + '.hex', source, 'arm-none-eabi-objcopy -O binary $SOURCE $TARGET')
+    name = source
+    if target_arch == 'avr':
+        eep = env.Command(
+            name + '.eep', source,
+            'avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 $SOURCE $TARGET'
+        )
+        hex = env.Command(name + '.hex', source,
+                          'avr-objcopy -O ihex -R .eeprom $SOURCE $TARGET')
+    else:
+        hex = env.Command(name + '.hex', source,
+                          'arm-none-eabi-objcopy -O binary $SOURCE $TARGET')
+
 
 #Currently Mega and Due build is supported.
 def __upload(env, binary):
-        if target_arch == 'avr':
-                protocol = __get_board_info(board, '.upload.protocol')
-                speed = __get_board_info(board, '.upload.speed')
-                port = '/dev/ttyACM0'
-                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
-                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
-                install_cmd = env.Command('install_cmd', None, upload_cmd)
-                env.Default('install_cmd')
+    if target_arch == 'avr':
+        protocol = __get_board_info(board, '.upload.protocol')
+        speed = __get_board_info(board, '.upload.speed')
+        port = '/dev/ttyACM0'
+        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
+        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
+        install_cmd = env.Command('install_cmd', None, upload_cmd)
+        env.Default('install_cmd')
+
 
 # Print the command line that to upload binary to the board
 def __upload_help(env):
-       if target_arch == 'avr':
-               protocol = __get_board_info(board, '.upload.protocol')
-               speed = __get_board_info(board, '.upload.speed')
+    if target_arch == 'avr':
+        protocol = __get_board_info(board, '.upload.protocol')
+        speed = __get_board_info(board, '.upload.speed')
 
-               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<serial_port>' + ' -b' + speed + ' -D -Uflash:w:<hex_file>:i'
-       else:
-               uu = __get_board_info(board, '.upload.native_usb')
-               upload_cmd = arduino_home + '/hardware/tools/bossac -i -d --port=<serial_port> -U ' + uu + ' -e -w -v -b <bin file> -R'
+        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<serial_port>' + ' -b' + speed + ' -D -Uflash:w:<hex_file>:i'
+    else:
+        uu = __get_board_info(board, '.upload.native_usb')
+        upload_cmd = arduino_home + '/hardware/tools/bossac -i -d --port=<serial_port> -U ' + uu + ' -e -w -v -b <bin file> -R'
 
-       Help('''
+    Help('''
 ===============================================================================
 You can upload the bin file with following command line:
 ''')
-       Help('\n   $ ' + upload_cmd)
-       Help('''
+    Help('\n   $ ' + upload_cmd)
+    Help('''
 \nPlease replace <xxx> according to the actual situation.
 ===============================================================================
 ''')
 
+
 # ARDUINO_HOME build option
 help_vars = Variables()
-help_vars.Add(PathVariable('ARDUINO_HOME', 'ARDUINO root directory', os.environ.get('ARDUINO_HOME')))
+help_vars.Add(
+    PathVariable('ARDUINO_HOME',
+                 'ARDUINO root directory',
+                 os.environ.get('ARDUINO_HOME')))
 help_vars.Update(env)
 Help(help_vars.GenerateHelpText(env))
 
 target_arch = env.get('TARGET_ARCH')
 arduino_home = env.get('ARDUINO_HOME')
 if not arduino_home:
-       print '''
+    print '''
 ************************************* Error ***********************************
 *   Arduino root directory isn't set, you can set enviornment variable        *
 * ARDUINO_HOME or add it in command line as:                                  *
 *      # scons ARDUINO_HOME=<path to arduino root directory> ...              *
 *******************************************************************************
 '''
-       Exit(1)
+    Exit(1)
 
 # Overwrite suffixes and prefixes
 if env['HOST_OS'] == 'win32':
-       env['OBJSUFFIX'] = '.o'
-       env['SHOBJSUFFIX'] = '.os'
-       env['LIBPREFIX'] = 'lib'
-       env['LIBSUFFIX'] = '.a'
-       env['SHLIBPREFIX'] = 'lib'
-       env['SHLIBSUFFIX'] = '.so'
-       env['LIBPREFIXES'] = ['lib']
-       env['LIBSUFFIXES'] = ['.a', '.so']
-       env['PROGSUFFIX'] = ''
+    env['OBJSUFFIX'] = '.o'
+    env['SHOBJSUFFIX'] = '.os'
+    env['LIBPREFIX'] = 'lib'
+    env['LIBSUFFIX'] = '.a'
+    env['SHLIBPREFIX'] = 'lib'
+    env['SHLIBSUFFIX'] = '.so'
+    env['LIBPREFIXES'] = ['lib']
+    env['LIBSUFFIXES'] = ['.a', '.so']
+    env['PROGSUFFIX'] = ''
 elif platform.system().lower() == 'darwin':
-       env['SHLIBSUFFIX'] = '.so'
-       env['LIBSUFFIXES'] = ['.a', '.so']
-       env['PROGSUFFIX'] = ''
+    env['SHLIBSUFFIX'] = '.so'
+    env['LIBSUFFIXES'] = ['.a', '.so']
+    env['PROGSUFFIX'] = ''
 
 # Debug/release relative flags
 if env.get('RELEASE'):
-       env.AppendUnique(CCFLAGS = ['-Os'])
-       env.AppendUnique(CPPDEFINES = ['NDEBUG'])
+    env.AppendUnique(CCFLAGS=['-Os'])
+    env.AppendUnique(CPPDEFINES=['NDEBUG'])
 else:
-       env.AppendUnique(CCFLAGS = ['-g'])
+    env.AppendUnique(CCFLAGS=['-g'])
 
 # BOARD / CPU option
 
 # Get IDE version
 if os.path.exists(arduino_home + '/lib/version.txt'):
-       vf = open(arduino_home + '/lib/version.txt', 'r')
-       version = vf.readline().replace('.', '')
+    vf = open(arduino_home + '/lib/version.txt', 'r')
+    version = vf.readline().replace('.', '')
 else:
-       print '''
+    print '''
 ************************************* Error ***********************************
 * Can't find version file (lib/version.txt), please check if (%s)
 * is arduino root directory.                                                  *
 *******************************************************************************
 ''' % arduino_home
-       Exit(1)
+    Exit(1)
 
 if version[0:2] == '10':
-       is_1_0_x = True
-       boards_info = __parse_config(arduino_home + '/hardware/arduino/boards.txt')
-       env.PrependENVPath('PATH', arduino_home + '/hardware/tools/avr/bin/')
-       env.Replace(CC = 'avr-gcc')
-       env.Replace(CXX = 'avr-gcc')
-       env.Replace(AR = 'avr-ar')
-       env.Replace(AS = 'avr-as')
-       env.Replace(LINK = 'avr-gcc')
-       env.Replace(RANLIB = 'avr-ranlib')
-       if target_arch != 'avr':
-               print '''
+    is_1_0_x = True
+    boards_info = __parse_config(arduino_home + '/hardware/arduino/boards.txt')
+    env.PrependENVPath('PATH', arduino_home + '/hardware/tools/avr/bin/')
+    env.Replace(CC='avr-gcc')
+    env.Replace(CXX='avr-gcc')
+    env.Replace(AR='avr-ar')
+    env.Replace(AS='avr-as')
+    env.Replace(LINK='avr-gcc')
+    env.Replace(RANLIB='avr-ranlib')
+    if target_arch != 'avr':
+        print '''
 ************************************* Error ***********************************
 * Arduino 1.0.x IDE only support 'avr', to support other arch at least 1.5.x  *
 * is required.
 *******************************************************************************
 '''
-               Exit(1)
+        Exit(1)
 else:
-       is_1_0_x = False
-       if target_arch == 'avr':
-               boards_info = __parse_config(arduino_home + '/hardware/arduino/avr/boards.txt')
-               platform_info = __parse_config(arduino_home + '/hardware/arduino/avr/platform.txt')
-       elif target_arch == 'arm':
-               boards_info = __parse_config(arduino_home + '/hardware/arduino/sam/boards.txt')
-               platform_info = __parse_config(arduino_home + '/hardware/arduino/sam/platform.txt')
-       else:
-               print '''
+    is_1_0_x = False
+    if target_arch == 'avr':
+        boards_info = __parse_config(arduino_home +
+                                     '/hardware/arduino/avr/boards.txt')
+        platform_info = __parse_config(arduino_home +
+                                       '/hardware/arduino/avr/platform.txt')
+    elif target_arch == 'arm':
+        boards_info = __parse_config(arduino_home +
+                                     '/hardware/arduino/sam/boards.txt')
+        platform_info = __parse_config(arduino_home +
+                                       '/hardware/arduino/sam/platform.txt')
+    else:
+        print '''
 ************************************* Error ***********************************
 * CPU arch %s isn't supported currently.
 *******************************************************************************
@@ -301,7 +330,11 @@ else:
 #Board option, let user to select the board
 boards = __get_boards(boards_info)
 help_vars = Variables()
-help_vars.Add(EnumVariable('BOARD', 'arduino board', boards[0], boards))
+help_vars.Add(
+    EnumVariable('BOARD',
+                 'arduino board',
+                 boards[0],
+                 allowed_values=boards))
 help_vars.Update(env)
 Help(help_vars.GenerateHelpText(env))
 
@@ -309,10 +342,14 @@ Help(help_vars.GenerateHelpText(env))
 board = env.get('BOARD')
 cpus = __get_cpu(boards_info, board)
 if len(cpus) > 0:
-       help_vars = Variables()
-       help_vars.Add(EnumVariable('CPU', 'arduino board cpu', cpus[0], cpus))
-       help_vars.Update(env)
-       Help(help_vars.GenerateHelpText(env))
+    help_vars = Variables()
+    help_vars.Add(
+        EnumVariable('CPU',
+                     'arduino board cpu',
+                     cpus[0],
+                     allowed_values=cpus))
+    help_vars.Update(env)
+    Help(help_vars.GenerateHelpText(env))
 
 # Arduino commom flags
 cpu = env.get('CPU')
@@ -324,115 +361,140 @@ usb_pid = __get_board_info(board, '.build.pid')
 variant = __get_board_info(board, '.build.variant')
 
 if not usb_vid:
-       usb_vid = __get_board_info(board, '.vid.0')
+    usb_vid = __get_board_info(board, '.vid.0')
 if not usb_pid:
-       usb_pid = __get_board_info(board, '.pid.0')
+    usb_pid = __get_board_info(board, '.pid.0')
 
 if is_1_0_x:
-       core_base = arduino_home + '/hardware/arduino/'
+    core_base = arduino_home + '/hardware/arduino/'
 else:
-       if target_arch == 'avr':
-               core_base = arduino_home + '/hardware/arduino/avr/'
-       else:
-               core_base = arduino_home + '/hardware/arduino/sam/'
+    if target_arch == 'avr':
+        core_base = arduino_home + '/hardware/arduino/avr/'
+    else:
+        core_base = arduino_home + '/hardware/arduino/sam/'
 
 variant_folder = core_base + 'variants/' + variant
-env.AppendUnique(CPPPATH = [variant_folder])
+env.AppendUnique(CPPPATH=[variant_folder])
 
 core = __get_board_info(board, '.build.core')
 core_folder = core_base + 'cores/' + core + '/'
-env.AppendUnique(CPPPATH = [core_folder])
+env.AppendUnique(CPPPATH=[core_folder])
 
 if is_1_0_x:
-       comm_flags = ['-std=c99']
-       if mcu:
-               comm_flags.extend(['-mmcu=' + mcu])
-       if f_cpu:
-               comm_flags.extend(['-DF_CPU=' + f_cpu])
-       comm_flags.extend(['-DARDUINO=' + version])
-       if usb_vid:
-               comm_flags.extend(['-DUSB_VID=' + usb_vid])
-       if usb_pid:
-               comm_flags.extend(['-DUSB_PID=' + usb_pid])
-
-       env.AppendUnique(ASFLAGS = ['-x', 'assembler-with-cpp'])
-       env.AppendUnique(ASFLAGS = comm_flags)
-
-       env.AppendUnique(CFLAGS = ['-Os', '-ffunction-sections', '-fdata-sections', '-MMD'])
-       env.AppendUnique(CFLAGS = comm_flags)
-
-       env.AppendUnique(CXXFLAGS = ['-Os', '-fno-exceptions', '-ffunction-sections', '-fdata-sections','-MMD'])
-       env.AppendUnique(CXXFLAGS = comm_flags)
-
-       env.AppendUnique(LINKFLAGS = ['-Os'])
-       if mcu == 'atmega2560':
-               env.AppendUnique(LINKFLAGS = ['-Wl,--gc-sections,--relax'])
-       else:
-               env.AppendUnique(LINKFLAGS = ['-Wl,--gc-sections'])
-       env.AppendUnique(LINKFLAGS = ['-mmcu=' + mcu])
+    comm_flags = ['-std=c99']
+    if mcu:
+        comm_flags.extend(['-mmcu=' + mcu])
+    if f_cpu:
+        comm_flags.extend(['-DF_CPU=' + f_cpu])
+    comm_flags.extend(['-DARDUINO=' + version])
+    if usb_vid:
+        comm_flags.extend(['-DUSB_VID=' + usb_vid])
+    if usb_pid:
+        comm_flags.extend(['-DUSB_PID=' + usb_pid])
+
+    env.AppendUnique(ASFLAGS=['-x', 'assembler-with-cpp'])
+    env.AppendUnique(ASFLAGS=comm_flags)
+
+    env.AppendUnique(
+        CFLAGS=['-Os', '-ffunction-sections', '-fdata-sections', '-MMD'])
+    env.AppendUnique(CFLAGS=comm_flags)
+
+    env.AppendUnique(CXXFLAGS=[
+        '-Os', '-fno-exceptions', '-ffunction-sections', '-fdata-sections',
+        '-MMD'
+    ])
+    env.AppendUnique(CXXFLAGS=comm_flags)
+
+    env.AppendUnique(LINKFLAGS=['-Os'])
+    if mcu == 'atmega2560':
+        env.AppendUnique(LINKFLAGS=['-Wl,--gc-sections,--relax'])
+    else:
+        env.AppendUnique(LINKFLAGS=['-Wl,--gc-sections'])
+    env.AppendUnique(LINKFLAGS=['-mmcu=' + mcu])
 else:
-       if target_arch == 'avr':
-               cpu_flag = '-mmcu=' + mcu
-       else:
-               cpu_flag = '-mcpu=' + mcu
-
-       comm_flag = [cpu_flag, '-DF_CPU=' + f_cpu, '-DARDUINO=' + version, '-DARDUINO_' + __get_board_info(board, '.build.board')]
-       if target_arch == 'arm':
-               # As of 1.5.8 the arduino headers had asm bugs with ARM and
-               # require gnu99 to be used.
-               comm_flag.extend(['-std=gnu99', '-DARDUINO_ARCH_SAM'])
-       else:
-               comm_flag.extend(['-std=c99', '-DARDUINO_ARCH_AVR'])
-
-       compiler_path = platform_info.get('compiler.path')
-       compiler_path = compiler_path.replace('{runtime.ide.path}', arduino_home)
-       env.PrependENVPath('PATH', compiler_path)
-       env.Replace(CC = platform_info.get('compiler.c.cmd'))
-       env.Replace(CXX = platform_info.get('compiler.cpp.cmd'))
-       env.Replace(AR = platform_info.get('compiler.ar.cmd'))
-       if target_arch == 'arm':
-               env.AppendUnique(CPPPATH = [arduino_home + '/hardware/arduino/sam/system/libsam',
-                                                       arduino_home + '/hardware/arduino/sam/system/CMSIS/CMSIS/Include/',
-                                                       arduino_home + '/hardware/arduino/sam/system//CMSIS/Device/ATMEL'])
-       env.AppendUnique(ASFLAGS = ['-x', 'assembler-with-cpp'])
-       env.AppendUnique(ASFLAGS = comm_flag)
-       env.AppendUnique(CFLAGS = Split(platform_info.get('compiler.c.flags')))
-       env.AppendUnique(CXXFLAGS = Split(platform_info.get('compiler.cpp.flags')))
-       env.AppendUnique(ARFLAGS = Split(platform_info.get('compiler.ar.flags')))
-       env.AppendUnique(CCFLAGS = comm_flag)
-
-       extra_flags = __get_board_info(board, '.build.extra_flags')
-       if extra_flags:
-               extra_flags = extra_flags.replace('{build.usb_flags}', '')
-               env.AppendUnique(CCFLAGS = Split(extra_flags))
-               usb_flags = ['-DUSB_VID=' + usb_vid, '-DUSB_PID=' + usb_pid, '-DUSBCON', '-DUSB_MANUFACTURER="Unknown"']
-               env.AppendUnique(CCFLAGS = usb_flags)
-
-       if target_arch == 'arm':
-               env.AppendUnique(LINKFLAGS = ['-Os', '-Wl,--gc-sections', cpu_flag,
-                                       '-T' + variant_folder + '/' + __get_board_info(board, '.build.ldscript'),
-                                       '-Wl,-Map,' + env.get('BUILD_DIR') + 'arduino_prj.map'])
-               env.AppendUnique(LINKFLAGS = Split('-lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group'))
-
-               variant_system_lib = __get_board_info(board, '.build.variant_system_lib')
-               if variant_system_lib:
-                       if variant_folder.find(' ') >= 0:
-                               variant_folder = '"' + variant_folder + '"'
-                       env.Replace(LINKCOM = '$LINK -o $TARGET $_LIBDIRFLAGS $LINKFLAGS $SOURCES $_LIBFLAGS '
-                                       + variant_folder + '/' + variant_system_lib + ' -Wl,--end-group')
-               else:
-                       env.Replace(LINKCOM = '$LINK -o $TARGET $_LIBDIRFLAGS $LINKFLAGS $SOURCES $_LIBFLAGS -Wl,--end-group')
-       else:
-               env.AppendUnique(LINKFLAGS = Split(platform_info.get('compiler.c.elf.flags')))
-               env.AppendUnique(LINKFLAGS = [cpu_flag])
-               env.AppendUnique(LIBS = 'm')
-       env.Replace(ARCOM = '$AR ' + platform_info.get('compiler.ar.flags') + ' $TARGET $SOURCES')
+    if target_arch == 'avr':
+        cpu_flag = '-mmcu=' + mcu
+    else:
+        cpu_flag = '-mcpu=' + mcu
+
+    comm_flag = [
+        cpu_flag, '-DF_CPU=' + f_cpu, '-DARDUINO=' + version,
+        '-DARDUINO_' + __get_board_info(board, '.build.board')
+    ]
+    if target_arch == 'arm':
+        # As of 1.5.8 the arduino headers had asm bugs with ARM and
+        # require gnu99 to be used.
+        comm_flag.extend(['-std=gnu99', '-DARDUINO_ARCH_SAM'])
+    else:
+        comm_flag.extend(['-std=c99', '-DARDUINO_ARCH_AVR'])
+
+    compiler_path = platform_info.get('compiler.path')
+    compiler_path = compiler_path.replace('{runtime.ide.path}', arduino_home)
+    env.PrependENVPath('PATH', compiler_path)
+    env.Replace(CC=platform_info.get('compiler.c.cmd'))
+    env.Replace(CXX=platform_info.get('compiler.cpp.cmd'))
+    env.Replace(AR=platform_info.get('compiler.ar.cmd'))
+    if target_arch == 'arm':
+        env.AppendUnique(CPPPATH=[
+            arduino_home + '/hardware/arduino/sam/system/libsam',
+            arduino_home + '/hardware/arduino/sam/system/CMSIS/CMSIS/Include/',
+            arduino_home + '/hardware/arduino/sam/system//CMSIS/Device/ATMEL'
+        ])
+    env.AppendUnique(ASFLAGS=['-x', 'assembler-with-cpp'])
+    env.AppendUnique(ASFLAGS=comm_flag)
+    env.AppendUnique(CFLAGS=Split(platform_info.get('compiler.c.flags')))
+    env.AppendUnique(CXXFLAGS=Split(platform_info.get('compiler.cpp.flags')))
+    env.AppendUnique(ARFLAGS=Split(platform_info.get('compiler.ar.flags')))
+    env.AppendUnique(CCFLAGS=comm_flag)
+
+    extra_flags = __get_board_info(board, '.build.extra_flags')
+    if extra_flags:
+        extra_flags = extra_flags.replace('{build.usb_flags}', '')
+        env.AppendUnique(CCFLAGS=Split(extra_flags))
+        usb_flags = [
+            '-DUSB_VID=' + usb_vid, '-DUSB_PID=' + usb_pid, '-DUSBCON',
+            '-DUSB_MANUFACTURER="Unknown"'
+        ]
+        env.AppendUnique(CCFLAGS=usb_flags)
+
+    if target_arch == 'arm':
+        env.AppendUnique(LINKFLAGS=[
+            '-Os', '-Wl,--gc-sections', cpu_flag,
+            '-T' + variant_folder + '/' + __get_board_info(
+                board, '.build.ldscript'),
+            '-Wl,-Map,' + env.get('BUILD_DIR') + 'arduino_prj.map'
+        ])
+        env.AppendUnique(LINKFLAGS=Split(
+            '-lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group'
+        ))
+
+        variant_system_lib = __get_board_info(board,
+                                              '.build.variant_system_lib')
+        if variant_system_lib:
+            if variant_folder.find(' ') >= 0:
+                variant_folder = '"' + variant_folder + '"'
+            env.Replace(
+                LINKCOM=
+                '$LINK -o $TARGET $_LIBDIRFLAGS $LINKFLAGS $SOURCES $_LIBFLAGS '
+                + variant_folder + '/' + variant_system_lib +
+                ' -Wl,--end-group')
+        else:
+            env.Replace(
+                LINKCOM=
+                '$LINK -o $TARGET $_LIBDIRFLAGS $LINKFLAGS $SOURCES $_LIBFLAGS -Wl,--end-group'
+            )
+    else:
+        env.AppendUnique(
+            LINKFLAGS=Split(platform_info.get('compiler.c.elf.flags')))
+        env.AppendUnique(LINKFLAGS=[cpu_flag])
+        env.AppendUnique(LIBS='m')
+    env.Replace(ARCOM='$AR ' + platform_info.get('compiler.ar.flags') +
+                ' $TARGET $SOURCES')
 
 __build_core(env)
 
-env.AddMethod(__import_lib, "ImportLib") #import arduino library
-#env.AddMethod(__build_core, "BuildCore") #build arduino core
-env.AddMethod(__create_bin, "CreateBin") #create binary files(.eep and .hex)
-env.AddMethod(__upload, "Upload") #Upload binary to board
-env.AddMethod(__upload_help, "UploadHelp") #print the command line that to upload binary to the boardf
-
+env.AddMethod(__import_lib, "ImportLib")  # import arduino library
+#env.AddMethod(__build_core, "BuildCore")  # build arduino core
+env.AddMethod(__create_bin, "CreateBin")  # create binary files (.eep and .hex)
+env.AddMethod(__upload, "Upload")  # Upload binary to board
+env.AddMethod(__upload_help, "UploadHelp")  # print cmdline to upload binary
index 4c13ebd..ef747f5 100644 (file)
@@ -6,24 +6,31 @@ Import('env')
 # Add 'SHIELD' build option, let user select board network connection type
 vars = Variables()
 if 'IP' in env.get('TARGET_TRANSPORT'):
-       vars.Add(EnumVariable('SHIELD', 'Network connection type', 'WIFI', ['ETH', 'WIFI']))
+    vars.Add(
+        EnumVariable('SHIELD',
+                     'Network connection type',
+                     'WIFI',
+                     allowed_values=['ETH', 'WIFI']))
 elif 'BLE' in env.get('TARGET_TRANSPORT'):
-       vars.Add(EnumVariable('SHIELD', 'Network connection type', 'RBL_NRF8001', ['RBL_NRF8001']))
+    vars.Add(
+        EnumVariable('SHIELD',
+                     'Network connection type',
+                     'RBL_NRF8001',
+                     allowed_values=['RBL_NRF8001']))
 vars.Update(env)
 Help(vars.GenerateHelpText(env))
 
 env.ImportLib('SPI')
 if 'ETH' in env.get('SHIELD'):
-       env.ImportLib('Ethernet')
+    env.ImportLib('Ethernet')
 if 'WIFI' in env.get('SHIELD'):
-       env.ImportLib('WiFi')
+    env.ImportLib('WiFi')
 if 'RBL_NRF8001' in env.get('SHIELD'):
-       env.ImportLib('BLE')
-       env.ImportLib('RBL_nRF8001')
+    env.ImportLib('BLE')
+    env.ImportLib('RBL_nRF8001')
 
 env.ImportLib('Time/Time')
 # we have variety of macros for arduino!!
-env.AppendUnique(CPPDEFINES = ['WITH_ARDUINO', '__ARDUINO__'])
+env.AppendUnique(CPPDEFINES=['WITH_ARDUINO', '__ARDUINO__'])
 if env.get('LOGGING'):
-       env.AppendUnique(CPPDEFINES = ['TB_LOG'])
-
+    env.AppendUnique(CPPDEFINES=['TB_LOG'])
index 48e8dc6..181416b 100644 (file)
@@ -9,30 +9,30 @@ print "Reading linux configuration script"
 
 # Set release/debug flags
 if env.get('RELEASE'):
-       env.AppendUnique(CCFLAGS = ['-Os'])
-       env.AppendUnique(CPPDEFINES = ['NDEBUG'])
+    env.AppendUnique(CCFLAGS=['-Os'])
+    env.AppendUnique(CPPDEFINES=['NDEBUG'])
 else:
-       env.AppendUnique(CCFLAGS = ['-g'])
+    env.AppendUnique(CCFLAGS=['-g'])
 
 if env.get('LOGGING'):
-    env.AppendUnique(CPPDEFINES = ['TB_LOG'])
+    env.AppendUnique(CPPDEFINES=['TB_LOG'])
 
-env.AppendUnique(CPPDEFINES = ['WITH_POSIX', '__linux__'])
-env.AppendUnique(CCFLAGS = ['-Wall', '-fPIC'])
-env.AppendUnique(LIBS = ['dl', 'pthread'])
+env.AppendUnique(CPPDEFINES=['WITH_POSIX', '__linux__'])
+env.AppendUnique(CCFLAGS=['-Wall', '-fPIC'])
+env.AppendUnique(LIBS=['dl', 'pthread'])
 
 # Set arch flags
 if not env.get('WITH_ENV'):
     target_arch = env.get('TARGET_ARCH')
     if target_arch in ['x86']:
-        env.AppendUnique(CCFLAGS = ['-m32'])
-        env.AppendUnique(LINKFLAGS = ['-m32'])
+        env.AppendUnique(CCFLAGS=['-m32'])
+        env.AppendUnique(LINKFLAGS=['-m32'])
     elif target_arch in ['x86_64']:
-        env.AppendUnique(CCFLAGS = ['-m64'])
-        env.AppendUnique(LINKFLAGS = ['-m64'])
+        env.AppendUnique(CCFLAGS=['-m64'])
+        env.AppendUnique(LINKFLAGS=['-m64'])
     elif target_arch in ['arm']:
-        env.AppendUnique(CPPFLAGS = ['-march=armv5te'])
+        env.AppendUnique(CPPFLAGS=['-march=armv5te'])
     elif target_arch in ['arm-v7a', 'armeabi-v7a']:
-        env.AppendUnique(CPPFLAGS = ['-march=armv7-a'])
+        env.AppendUnique(CPPFLAGS=['-march=armv7-a'])
     elif target_arch.find('arm64') > 0:
-        env.AppendUnique(CPPFLAGS = ['-march=armv8-a'])
+        env.AppendUnique(CPPFLAGS=['-march=armv8-a'])
index 6e85f6b..0e9b7ed 100644 (file)
@@ -18,7 +18,8 @@ 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
-       gbs_script = env.Command('gbs_build', None, command)
-       AlwaysBuild ('gbs_script')
\ No newline at end of file
+    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
+    gbs_script = env.Command('gbs_build', None, command)
+    AlwaysBuild('gbs_script')
index 2a25872..082ea7f 100644 (file)
@@ -10,24 +10,25 @@ print "Reading common folder script"
 target_os = connectivity_env.get('TARGET_OS')
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.AppendUnique(CPPPATH = [
-    '#resource/c_common/octhread/include/',
-    '#resource/csdk/connectivity/common/inc/',
-    '#resource/csdk/logger/include/',
-    ])
+connectivity_env.AppendUnique(CPPPATH=[
+    '#/resource/c_common/octhread/include/',
+    '#/resource/csdk/connectivity/common/inc/',
+    '#/resource/csdk/logger/include/',
+])
 
 ######################################################################
 # Source files
 ######################################################################
 ca_common_src_path = os.path.join(src_dir, 'src')
 ca_common_src = [
-        os.path.join(ca_common_src_path, 'uarraylist.c'),
-        os.path.join(ca_common_src_path, 'ulinklist.c'),
-        os.path.join(ca_common_src_path, 'uqueue.c'),
-        os.path.join(ca_common_src_path, 'caremotehandler.c')
-    ]
+    os.path.join(ca_common_src_path, 'uarraylist.c'),
+    os.path.join(ca_common_src_path, 'ulinklist.c'),
+    os.path.join(ca_common_src_path, 'uqueue.c'),
+    os.path.join(ca_common_src_path, 'caremotehandler.c')
+]
 
 if connectivity_env['POSIX_SUPPORTED'] or target_os in ['windows']:
-    ca_common_src.append(os.path.join(ca_common_src_path, 'cathreadpool_pthreads.c'))
+    ca_common_src.append(
+        os.path.join(ca_common_src_path, 'cathreadpool_pthreads.c'))
 
-connectivity_env.AppendUnique(CA_SRC = ca_common_src)
+connectivity_env.AppendUnique(CA_SRC=ca_common_src)
index f01c174..b38108e 100644 (file)
@@ -9,7 +9,7 @@ ca_os = connectivity_env.get('TARGET_OS')
 ca_transport = connectivity_env.get('TARGET_TRANSPORT')
 secured = connectivity_env.get('SECURED')
 multiple_owner = connectivity_env.get('MULTIPLE_OWNER')
-with_ra = connectivity_env.get ('WITH_RA')
+with_ra = connectivity_env.get('WITH_RA')
 with_ra_ibb = connectivity_env.get('WITH_RA_IBB')
 with_tcp = connectivity_env.get('WITH_TCP')
 src_dir = connectivity_env.get('SRC_DIR')
@@ -20,61 +20,76 @@ 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') ])
+connectivity_env.PrependUnique(CPPPATH=[os.path.join(root_dir, 'api')])
 
 with_upstream_libcoap = connectivity_env.get('WITH_UPSTREAM_LIBCOAP')
 if with_upstream_libcoap == '1':
-    connectivity_env.AppendUnique(CPPPATH = [os.path.join('#extlibs', 'libcoap', 'libcoap', 'include')])
+    connectivity_env.AppendUnique(
+        CPPPATH=[os.path.join('#extlibs', 'libcoap', 'libcoap', 'include')])
 else:
-    connectivity_env.AppendUnique(CPPPATH = [ os.path.join('#resource', 'csdk', 'connectivity', 'lib', 'libcoap-4.1.1', 'include')])
+    connectivity_env.AppendUnique(CPPPATH=[
+        os.path.join('#resource', 'csdk', 'connectivity', 'lib', 'libcoap-4.1.1', 'include')
+    ])
 
-connectivity_env.AppendUnique(CPPPATH = [
-        os.path.join(root_dir, 'inc'),
-        os.path.join(src_dir, 'resource', 'csdk', 'logger', 'include'),
-        os.path.join(root_dir, 'common', 'inc'),
-        os.path.join(root_dir, 'util', 'inc'),
-        ])
+connectivity_env.AppendUnique(CPPPATH=[
+    os.path.join(root_dir, 'inc'),
+    os.path.join(src_dir, 'resource', 'csdk', 'logger', 'include'),
+    os.path.join(root_dir, 'common', 'inc'),
+    os.path.join(root_dir, 'util', 'inc'),
+])
 
 if ca_os not in ['darwin', 'ios', 'windows']:
-    connectivity_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
+    connectivity_env.AppendUnique(LINKFLAGS=['-Wl,--no-undefined'])
 
 # Getting common source files
-connectivity_env.SConscript(root_dir + '/common/SConscript', exports='connectivity_env')
+connectivity_env.SConscript(root_dir + '/common/SConscript',
+                            exports='connectivity_env')
 
 # Getting util source files
-connectivity_env.SConscript(root_dir + '/util/SConscript', exports='connectivity_env')
+connectivity_env.SConscript(root_dir + '/util/SConscript',
+                            exports='connectivity_env')
 
 build_dir = connectivity_env.get('BUILD_DIR')
 
-connectivity_env.AppendUnique(CA_SRC = [os.path.join(ca_path,'adapter_util/caadapterutils.c')])
+connectivity_env.AppendUnique(
+    CA_SRC=[os.path.join(ca_path, 'adapter_util/caadapterutils.c')])
 
 if (('BLE' in ca_transport) or ('ALL' in ca_transport)):
-    connectivity_env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/cafragmentation.c')])
+    connectivity_env.AppendUnique(
+        CA_SRC=[os.path.join(ca_path, 'adapter_util/cafragmentation.c')])
 
 # Build mbedtls as ocstack uses hash functions from mbedcrypto.lib.
-tls_path = 'extlibs/mbedtls';
-tls_headers_path = 'mbedtls/include';
+tls_path = 'extlibs/mbedtls'
+tls_headers_path = 'mbedtls/include'
 if ca_os == 'tizen' and os.path.exists(root_dir + '/' + tls_path):
-    connectivity_env.SConscript(os.path.join(root_dir, tls_path + '/SConscript'))
-    connectivity_env.AppendUnique(CPPPATH = [os.path.join(root_dir, tls_path + '/' + tls_headers_path)])
+    connectivity_env.SConscript(
+        os.path.join(root_dir, tls_path + '/SConscript'))
+    connectivity_env.AppendUnique(
+        CPPPATH=[os.path.join(root_dir, tls_path + '/' + tls_headers_path)])
 else:
     if ca_os != 'android':
         connectivity_env.SConscript('#' + tls_path + '/SConscript')
-    connectivity_env.AppendUnique(CPPPATH = ['#' + tls_path + '/' + tls_headers_path])
+    connectivity_env.AppendUnique(
+        CPPPATH=['#' + tls_path + '/' + tls_headers_path])
 
 if connectivity_env.get('SECURED') == '1':
-    connectivity_env.AppendUnique(CPPPATH = ['#/resource/c_common/octimer/include'])
-    connectivity_env.AppendUnique(CPPPATH = [src_dir + '/resource/csdk/security/include'])
-    connectivity_env.AppendUnique(CPPPATH = [os.path.join(root_dir, 'external/inc')])
+    connectivity_env.AppendUnique(
+        CPPPATH=['#/resource/c_common/octimer/include'])
+    connectivity_env.AppendUnique(
+        CPPPATH=[src_dir + '/resource/csdk/security/include'])
+    connectivity_env.AppendUnique(
+        CPPPATH=[os.path.join(root_dir, 'external/inc')])
     if ca_os != 'tizen' or os.path.exists(root_dir + '/' + tls_path) == False:
-        connectivity_env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'adapter_util/ca_adapter_net_ssl.c')])
+        connectivity_env.AppendUnique(CA_SRC=[
+            os.path.join(ca_path, 'adapter_util/ca_adapter_net_ssl.c')
+        ])
 
 ca_common_src = None
 
 if with_ra_ibb:
-    connectivity_env.SConscript('#extlibs/wksxmppxep/SConscript')
+    connectivity_env.SConscript('#/extlibs/wksxmppxep/SConscript')
 
 if ca_os == 'arduino':
     print "setting WITH_ARDUINO"
@@ -85,7 +100,7 @@ if ca_os == 'arduino':
         'canetworkconfigurator.c',
         'caprotocolmessage.c',
         'caretransmission.c',
-        ]
+    ]
 else:
     ca_common_src = [
         'caconnectivitymanager.c',
@@ -95,14 +110,14 @@ else:
         'caprotocolmessage.c',
         'caqueueingthread.c',
         'caretransmission.c',
-        ]
+    ]
     if (('IP' in ca_transport) or ('ALL' in ca_transport)):
-        connectivity_env.AppendUnique(CA_SRC = [os.path.join(ca_path, 'cablockwisetransfer.c') ])
+        connectivity_env.AppendUnique(
+            CA_SRC=[os.path.join(ca_path, 'cablockwisetransfer.c')])
 
-ca_common_src = [
-        os.path.join(ca_path, d) for d in ca_common_src ]
+ca_common_src = [os.path.join(ca_path, d) for d in ca_common_src]
 
-connectivity_env.AppendUnique(CA_SRC = ca_common_src)
+connectivity_env.AppendUnique(CA_SRC=ca_common_src)
 
 transports = set()
 if 'ALL' in ca_transport:
@@ -121,15 +136,16 @@ if 'ALL' in ca_transport:
         transports.add('bt_edr_adapter')
         transports.add('bt_le_adapter')
         transports.add('nfc_adapter')
-    elif ca_os in['darwin','ios', 'msys_nt', 'windows']:
+    elif ca_os in ['darwin', 'ios', 'msys_nt', 'windows']:
         transports.add('ip_adapter')
     else:
         transports.add('ip_adapter')
         transports.add('bt_edr_adapter')
         transports.add('bt_le_adapter')
 
-    connectivity_env.SConscript(dirs = [
-        os.path.join(ca_path, d) for d in transports ], exports = 'connectivity_env')
+    connectivity_env.SConscript(
+        dirs=[os.path.join(ca_path, d) for d in transports],
+        exports='connectivity_env')
 
 if 'IP' in ca_transport:
     transports.add('ip_adapter')
@@ -148,30 +164,35 @@ if 'NFC' in ca_transport:
 if ca_os in ['linux', 'tizen', 'android', 'ios', 'windows'] and with_tcp:
     transports.add('tcp_adapter')
 
-SConscript(dirs = list(transports), exports='connectivity_env')
+SConscript(dirs=list(transports), exports='connectivity_env')
 
 if ca_os == 'android':
-    connectivity_env.AppendUnique(LINKFLAGS = ['-Wl,-soname,libca-interface.so'])
-    connectivity_env.AppendUnique(LINKFLAGS = ['-Wl,-soname,libconnectivity_abstraction.so'])
+    connectivity_env.AppendUnique(LINKFLAGS=['-Wl,-soname,libca-interface.so'])
+    connectivity_env.AppendUnique(
+        LINKFLAGS=['-Wl,-soname,libconnectivity_abstraction.so'])
 
 if connectivity_env.get('SECURED') == '1':
-    connectivity_env.AppendUnique(LIBS = ['mbedtls','mbedx509'])
+    connectivity_env.AppendUnique(LIBS=['mbedtls', 'mbedx509'])
 
 # c_common calls into mbedcrypto.
-connectivity_env.AppendUnique(LIBS = ['mbedcrypto'])
+connectivity_env.AppendUnique(LIBS=['mbedcrypto'])
 
-calib_internal = connectivity_env.StaticLibrary('connectivity_abstraction_internal', connectivity_env.get('CA_SRC'))
+calib_internal = connectivity_env.StaticLibrary(
+    'connectivity_abstraction_internal', connectivity_env.get('CA_SRC'))
 calib = Flatten(calib_internal)
 
 if ca_os in ['android', 'tizen', 'linux', 'yocto']:
-    connectivity_env.AppendUnique(LIBS = ['coap'])
+    connectivity_env.AppendUnique(LIBS=['coap'])
     if ca_os != 'android':
-        connectivity_env.AppendUnique(LIBS = ['rt'])
-    static_calib = connectivity_env.StaticLibrary('connectivity_abstraction', connectivity_env.get('CA_SRC'))
-    shared_calib = connectivity_env.SharedLibrary('connectivity_abstraction', connectivity_env.get('CA_SRC'))
+        connectivity_env.AppendUnique(LIBS=['rt'])
+    static_calib = connectivity_env.StaticLibrary(
+        'connectivity_abstraction', connectivity_env.get('CA_SRC'))
+    shared_calib = connectivity_env.SharedLibrary(
+        'connectivity_abstraction', connectivity_env.get('CA_SRC'))
     calib += Flatten([static_calib, shared_calib])
 elif ca_os not in ['msys_nt', 'windows']:
-    static_calib = connectivity_env.StaticLibrary('connectivity_abstraction', connectivity_env.get('CA_SRC'))
+    static_calib = connectivity_env.StaticLibrary(
+        'connectivity_abstraction', connectivity_env.get('CA_SRC'))
     calib += Flatten(static_calib)
 
 connectivity_env.InstallTarget(calib, 'connectivity_abstraction')
index 29474f7..cac9105 100644 (file)
@@ -1,5 +1,5 @@
 #######################################################
-#      Build BT EDR adapter
+# Build BT EDR adapter
 #######################################################
 
 Import('connectivity_env')
@@ -12,7 +12,8 @@ src_dir = os.path.abspath(os.curdir)
 
 # Source files to build common for all platforms
 if target_os != 'arduino':
-    connectivity_env.AppendUnique(CA_SRC = [os.path.join(src_dir, 'caedradapter.c')])
+    connectivity_env.AppendUnique(
+        CA_SRC=[os.path.join(src_dir, 'caedradapter.c')])
 
 # Check for the existence of the platform-specific SConscript file
 # relative to the top-level source directory, not the build (variant)
index 8293f4c..e6fb0f9 100644 (file)
@@ -7,11 +7,13 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.PrependUnique(CPPPATH = [ src_dir ])
+connectivity_env.PrependUnique(CPPPATH=[src_dir])
 
-src_files = [ os.path.join(src_dir, 'caedrclient.c'),
-              os.path.join(src_dir, 'caedrutils.c'),
-              os.path.join(src_dir, 'caedrnwmonitor.c'),
-              os.path.join(src_dir, 'caedrserver.c'), ]
+src_files = [
+    os.path.join(src_dir, 'caedrclient.c'),
+    os.path.join(src_dir, 'caedrutils.c'),
+    os.path.join(src_dir, 'caedrnwmonitor.c'),
+    os.path.join(src_dir, 'caedrserver.c'),
+]
 
-connectivity_env.AppendUnique(CA_SRC = src_files)
+connectivity_env.AppendUnique(CA_SRC=src_files)
index 1621326..af5ca46 100644 (file)
@@ -7,15 +7,18 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.PrependUnique(CPPPATH = [ src_dir ])
+connectivity_env.PrependUnique(CPPPATH=[src_dir])
 
-connectivity_env.ParseConfig("pkg-config --cflags --libs capi-network-bluetooth")
+connectivity_env.ParseConfig(
+    "pkg-config --cflags --libs capi-network-bluetooth")
 
-src_files = [ os.path.join(src_dir, 'caedrclient.c'),
-              os.path.join(src_dir, 'caedrdevicelist.c'),
-              os.path.join(src_dir, 'caedrendpoint.c'),
-              os.path.join(src_dir, 'caedrnwmonitor.c'),
-              os.path.join(src_dir, 'caedrserver.c'),
-              os.path.join(src_dir, 'caedrutils.c') ]
+src_files = [
+    os.path.join(src_dir, 'caedrclient.c'),
+    os.path.join(src_dir, 'caedrdevicelist.c'),
+    os.path.join(src_dir, 'caedrendpoint.c'),
+    os.path.join(src_dir, 'caedrnwmonitor.c'),
+    os.path.join(src_dir, 'caedrserver.c'),
+    os.path.join(src_dir, 'caedrutils.c')
+]
 
-connectivity_env.AppendUnique(CA_SRC = src_files)
+connectivity_env.AppendUnique(CA_SRC=src_files)
index d73d6c2..0f5ff90 100644 (file)
@@ -12,12 +12,13 @@ target_os = connectivity_env.get('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') ])
+connectivity_env.AppendUnique(CA_SRC=[os.path.join(src_dir, 'caleadapter.c')])
 
 # Check for the existence of the platform-specific SConscript file
 # relative to the top-level source directory, not the build (variant)
 # directory, before calling that SConscript file to prevent a missing
 # file warning platforms that don't provide one.
-target_sconscript = File(os.path.join(target_os, 'SConscript')).srcnode().abspath
+target_sconscript = File(
+    os.path.join(target_os, 'SConscript')).srcnode().abspath
 if os.path.exists(target_sconscript):
     SConscript(target_sconscript, exports='connectivity_env')
index 7d71ac7..57eb5d9 100644 (file)
@@ -7,12 +7,14 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.PrependUnique(CPPPATH = [ src_dir ])
+connectivity_env.PrependUnique(CPPPATH=[src_dir])
 
-src_files = [ os.path.join(src_dir, 'caleclient.c'),
-              os.path.join(src_dir, 'caleserver.c'),
-              os.path.join(src_dir, 'calenwmonitor.c'),
-              os.path.join(src_dir, 'caleutils.c'),
-              os.path.join(src_dir, 'calestate.c') ]
+src_files = [
+    os.path.join(src_dir, 'caleclient.c'),
+    os.path.join(src_dir, 'caleserver.c'),
+    os.path.join(src_dir, 'calenwmonitor.c'),
+    os.path.join(src_dir, 'caleutils.c'),
+    os.path.join(src_dir, 'calestate.c')
+]
 
-connectivity_env.AppendUnique(CA_SRC = src_files)
+connectivity_env.AppendUnique(CA_SRC=src_files)
index e93464a..0889ec7 100644 (file)
@@ -7,10 +7,12 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.PrependUnique(CPPPATH = [ src_dir ])
+connectivity_env.PrependUnique(CPPPATH=[src_dir])
 
-src_files = [ os.path.join(src_dir, 'cableserver.cpp'),
-              os.path.join(src_dir, 'cablenwmonitor.cpp'),
-              os.path.join(src_dir, 'cableclient.cpp')]
+src_files = [
+    os.path.join(src_dir, 'cableserver.cpp'),
+    os.path.join(src_dir, 'cablenwmonitor.cpp'),
+    os.path.join(src_dir, 'cableclient.cpp')
+]
 
-connectivity_env.AppendUnique(CA_SRC = src_files)
+connectivity_env.AppendUnique(CA_SRC=src_files)
index e872c79..8ca8e70 100644 (file)
@@ -45,17 +45,17 @@ service_name = '\"org.iotivity.gatt.service\"'
 dbus_policy_in = 'org.iotivity.gatt.service.conf.in'
 
 conf_dict = {}
-subst_env = connectivity_env.Clone(tools = [ 'default', 'textfile' ],
-                      SUBST_DICT = conf_dict)
+subst_env = connectivity_env.Clone(
+    tools=['default', 'textfile'], SUBST_DICT=conf_dict)
 
-conf_dict = { '@service_name@' : service_name }
+conf_dict = {'@service_name@': service_name}
 
-subst_env.Substfile(dbus_policy_in, SUBST_DICT = conf_dict)
+subst_env.Substfile(dbus_policy_in, SUBST_DICT=conf_dict)
 
 # The resulting D-Bus policy file should go in to the appropriate
 # D-Bus configuration directory, such as /etc/dbus-1/system.d/.
 
-dbus_policy    = os.path.splitext(dbus_policy_in)[0]  # Drop '.in' extension.
+dbus_policy = os.path.splitext(dbus_policy_in)[0]  # Drop '.in' extension.
 generated_dbus_policy = os.path.join(this_build_dir, dbus_policy)
 connectivity_env.Clean(dbus_policy, generated_dbus_policy)
 
@@ -66,10 +66,8 @@ connectivity_env.Clean(dbus_policy, generated_dbus_policy)
 # Also add a minimum required version of GLib 2.32, which is what the
 # older GNU/Linux distributions supported by IoTivity shipped with.
 connectivity_env.AppendUnique(
-    CPPDEFINES = [
-        ('CA_DBUS_GATT_SERVICE_NAME', "'%s'" % service_name),
-        ('GLIB_VERSION_MIN_REQUIRED', 'GLIB_VERSION_2_32')
-    ])
+    CPPDEFINES=[('CA_DBUS_GATT_SERVICE_NAME', "'%s'" % service_name),
+                ('GLIB_VERSION_MIN_REQUIRED', 'GLIB_VERSION_2_32')])
 
 # The Linux BLE adapter implementation uses GDBus to make D-Bus based
 # method calls to BlueZ.  Pull in the necessary dependencies.
@@ -81,31 +79,32 @@ freedesktop_prefix = 'org.freedesktop.DBus.'
 bluez_prefix = 'org.bluez.'
 
 dbus_introspection_xml = {
-    'object_manager' : freedesktop_prefix,
-    'bluez'          : bluez_prefix,
+    'object_manager': freedesktop_prefix,
+    'bluez': bluez_prefix,
 }
 
 # The source files to be compiled as part of the connectivity
 # abstraction library.
-src_files = [ 'characteristic.c',
-              'descriptor.c',
-              'service.c',
-              'advertisement.c',
-              'utils.c',
-              'central.c',
-              'peripheral.c',
-              'client.c',
-              'server.c',
-              'recv.c',
-              'caleinterface.c'
-          ]
-src_files = [ os.path.join(this_src_dir, src_file) for src_file in src_files ]
+src_files = [
+    'characteristic.c',
+    'descriptor.c',
+    'service.c',
+    'advertisement.c',
+    'utils.c',
+    'central.c',
+    'peripheral.c',
+    'client.c',
+    'server.c',
+    'recv.c',
+    'caleinterface.c'
+]
+src_files = [os.path.join(this_src_dir, src_file) for src_file in src_files]
 
 glue_files = []
 
 for file, prefix in dbus_introspection_xml.items():
-    source_xml  = file + '.xml'
-    glue        = file + '-glue'
+    source_xml = file + '.xml'
+    glue = file + '-glue'
     glue_source = glue + '.c'
     glue_header = glue + '.h'
 
@@ -114,23 +113,20 @@ for file, prefix in dbus_introspection_xml.items():
     # A link to the generated GDBus glue header is also created in the
     # source directory to avoid having to explicitly add the variant
     # directory to the preprocessor include path.
-    glue_source_gen  = os.path.join(this_build_dir, glue_source)
-    glue_header_gen  = os.path.join(this_build_dir, glue_header)
+    glue_source_gen = os.path.join(this_build_dir, glue_source)
+    glue_header_gen = os.path.join(this_build_dir, glue_header)
     glue_header_copy = os.path.join(this_src_dir, glue_header)
-    targets     = [ glue_source_gen, glue_header_gen ]
+    targets = [glue_source_gen, glue_header_gen]
 
     glue_files.append(glue_source_gen)
 
-    gen = connectivity_env.Command(targets,
-                      source_xml,
-                      'cd %s '
-                      '&& gdbus-codegen --generate-c-code %s '
-                      '   --interface-prefix %s ${SOURCE.abspath} '
-                      '&& ln -sf %s %s '
-                      '&& cd -'
-                      % (this_build_dir,
-                         glue, prefix,
-                         glue_header_gen, glue_header_copy))
+    gen = connectivity_env.Command(
+        targets, source_xml, 'cd %s '
+        '&& gdbus-codegen --generate-c-code %s '
+        '   --interface-prefix %s ${SOURCE.abspath} '
+        '&& ln -sf %s %s '
+        '&& cd -' % (this_build_dir, glue, prefix, glue_header_gen,
+                     glue_header_copy))
 
     connectivity_env.Clean(gen, glue_header_copy)
 
@@ -140,7 +136,7 @@ for file, prefix in dbus_introspection_xml.items():
 
 src_files += glue_files
 
-connectivity_env.AppendUnique(CA_SRC = src_files)
+connectivity_env.AppendUnique(CA_SRC=src_files)
 
 # Local Variables:
 # mode:python
index 0e004cb..fca7cbd 100644 (file)
@@ -7,13 +7,16 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.PrependUnique(CPPPATH = [ src_dir ])
+connectivity_env.PrependUnique(CPPPATH=[src_dir])
 
-connectivity_env.ParseConfig("pkg-config --cflags --libs capi-network-bluetooth")
+connectivity_env.ParseConfig(
+    "pkg-config --cflags --libs capi-network-bluetooth")
 
-src_files = [ os.path.join(src_dir, 'caleclient.c'),
-              os.path.join(src_dir, 'caleserver.c'),
-              os.path.join(src_dir, 'caleutil.c'),
-              os.path.join(src_dir, 'calenwmonitor.c')]
+src_files = [
+    os.path.join(src_dir, 'caleclient.c'),
+    os.path.join(src_dir, 'caleserver.c'),
+    os.path.join(src_dir, 'caleutil.c'),
+    os.path.join(src_dir, 'calenwmonitor.c')
+]
 
-connectivity_env.AppendUnique(CA_SRC = src_files)
+connectivity_env.AppendUnique(CA_SRC=src_files)
index a6efa05..2828374 100644 (file)
@@ -1,5 +1,5 @@
 #######################################################
-#      Build IP adapter
+#       Build IP adapter
 #######################################################
 import os
 
@@ -11,16 +11,16 @@ target_os = connectivity_env.get('TARGET_OS')
 src_dir = os.path.abspath(os.curdir)
 
 # Source files to build common for all platforms
-common_files = [ os.path.join(src_dir, 'caipadapter.c') ]
+common_files = [os.path.join(src_dir, 'caipadapter.c')]
 if target_os != 'arduino':
     common_files.append(os.path.join(src_dir, 'caipserver.c'))
     # Source files to build for Linux-like platforms
-    if target_os in ['linux','darwin','ios']:
+    if target_os in ['linux', 'darwin', 'ios']:
         common_files.append(os.path.join(src_dir, 'linux/caipnwmonitor.c'))
     elif target_os in ['msys_nt', 'windows']:
         common_files.append(os.path.join(src_dir, 'windows/caipnwmonitor.c'))
 
-connectivity_env.AppendUnique(CA_SRC = common_files)
+connectivity_env.AppendUnique(CA_SRC=common_files)
 
 # Check for the existence of the platform-specific SConscript file
 # relative to the top-level source directory, not the build (variant)
index 1ae8f6f..7d8d9bf 100644 (file)
@@ -7,9 +7,11 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.PrependUnique(CPPPATH = [ src_dir ])
+connectivity_env.PrependUnique(CPPPATH=[src_dir])
 
-src_files = [ os.path.join(src_dir, 'caipnwmonitor.c'),
-              os.path.join(src_dir, 'caifaddrs.c') ]
+src_files = [
+    os.path.join(src_dir, 'caipnwmonitor.c'),
+    os.path.join(src_dir, 'caifaddrs.c')
+]
 
-connectivity_env.AppendUnique(CA_SRC = src_files)
+connectivity_env.AppendUnique(CA_SRC=src_files)
index dbda654..e9ed061 100644 (file)
@@ -7,17 +7,21 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.PrependUnique(CPPPATH = [ src_dir ])
+connectivity_env.PrependUnique(CPPPATH=[src_dir])
 
 src_files = None
 if connectivity_env.get('SHIELD') == 'WIFI':
-    src_files = [ os.path.join(src_dir, 'caipclient_wifi.cpp'),
-                  os.path.join(src_dir, 'caipserver_wifi.cpp'),
-                  os.path.join(src_dir, 'caipnwmonitor_wifi.cpp') ]
+    src_files = [
+        os.path.join(src_dir, 'caipclient_wifi.cpp'),
+        os.path.join(src_dir, 'caipserver_wifi.cpp'),
+        os.path.join(src_dir, 'caipnwmonitor_wifi.cpp')
+    ]
 else:
-    src_files = [ os.path.join(src_dir, 'caipadapterutils_eth.cpp'),
-                  os.path.join(src_dir, 'caipclient_eth.cpp'),
-                  os.path.join(src_dir, 'caipserver_eth.cpp'),
-                  os.path.join(src_dir, 'caipnwmonitor_eth.cpp') ]
+    src_files = [
+        os.path.join(src_dir, 'caipadapterutils_eth.cpp'),
+        os.path.join(src_dir, 'caipclient_eth.cpp'),
+        os.path.join(src_dir, 'caipserver_eth.cpp'),
+        os.path.join(src_dir, 'caipnwmonitor_eth.cpp')
+    ]
 
-connectivity_env.AppendUnique(CA_SRC = src_files)
+connectivity_env.AppendUnique(CA_SRC=src_files)
index 28ebd30..7feb55a 100644 (file)
@@ -7,6 +7,8 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.ParseConfig("pkg-config --cflags --libs capi-network-connection")
+connectivity_env.ParseConfig(
+    "pkg-config --cflags --libs capi-network-connection")
 
-connectivity_env.AppendUnique(CA_SRC = [ os.path.join(src_dir, 'caipnwmonitor.c') ])
+connectivity_env.AppendUnique(
+    CA_SRC=[os.path.join(src_dir, 'caipnwmonitor.c')])
index 2804822..b8f1601 100644 (file)
@@ -11,7 +11,7 @@ target_os = connectivity_env.get('TARGET_OS')
 src_dir = os.path.abspath(os.curdir)
 
 # Source files to build common for all platforms
-connectivity_env.AppendUnique(CA_SRC = [ os.path.join(src_dir, 'canfcadapter.c') ])
+connectivity_env.AppendUnique(CA_SRC=[os.path.join(src_dir, 'canfcadapter.c')])
 
 # Check for the existence of the platform-specific SConscript file
 # relative to the top-level source directory, not the build (variant)
@@ -19,4 +19,4 @@ connectivity_env.AppendUnique(CA_SRC = [ os.path.join(src_dir, 'canfcadapter.c')
 # file warning platforms that don't provide one.
 target_sconscript = target_os + '/SConscript'
 if os.path.exists(target_sconscript):
-    target_files = SConscript(target_sconscript, exports = 'connectivity_env')
+    target_files = SConscript(target_sconscript, exports='connectivity_env')
index f6ae6bd..d0fa88d 100644 (file)
@@ -7,4 +7,4 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.AppendUnique(CA_SRC = [ os.path.join(src_dir, 'canfcserver.c')])
+connectivity_env.AppendUnique(CA_SRC=[os.path.join(src_dir, 'canfcserver.c')])
index 6785c82..7800976 100644 (file)
@@ -26,4 +26,4 @@ print "Reading RA adapter script"
 src_dir = os.path.abspath(os.curdir)
 
 #Source files to build in Linux platform
-connectivity_env.AppendUnique(CA_SRC = [os.path.join(src_dir, 'caraadapter.c')])
+connectivity_env.AppendUnique(CA_SRC=[os.path.join(src_dir, 'caraadapter.c')])
index 6150a46..8e59eef 100644 (file)
@@ -1,5 +1,5 @@
 #######################################################
-#      Build TCP adapter
+#       Build TCP adapter
 #######################################################
 import os
 
@@ -15,7 +15,7 @@ common_files = [os.path.join(src_dir, 'catcpadapter.c')]
 if target_os in ['linux', 'tizen', 'android', 'ios', 'windows']:
     common_files.append(os.path.join(src_dir, 'catcpserver.c'))
 
-connectivity_env.AppendUnique(CA_SRC = common_files)
+connectivity_env.AppendUnique(CA_SRC=common_files)
 
 # Get list of target-specific source file base names, i.e. no parent
 # directories prepended to the path.
index 09b3453..2f485dc 100644 (file)
@@ -7,14 +7,16 @@ Import('connectivity_env')
 
 src_dir = os.path.abspath(os.curdir)
 
-connectivity_env.PrependUnique(CPPPATH = [ src_dir ])
+connectivity_env.PrependUnique(CPPPATH=[src_dir])
 
 src_files = None
 if connectivity_env.get('SHIELD') == 'ETH':
-    src_files = [ os.path.join(src_dir, 'catcpserver_eth.cpp') ,
-                  os.path.join(src_dir, 'catcpadapterutils_eth.cpp')]
+    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)
 
-connectivity_env.AppendUnique(CA_SRC = src_files)
+connectivity_env.AppendUnique(CA_SRC=src_files)
index 38e9b35..fec952a 100644 (file)
@@ -20,7 +20,7 @@
 
 import os
 import os.path
-from tools.scons.RunTest import *
+from tools.scons.RunTest import run_test
 
 Import('test_env')
 
@@ -34,57 +34,64 @@ rd_mode = catest_env.get('RD_MODE')
 # Build flags
 ######################################################################
 if catest_env.get('WITH_UPSTREAM_LIBCOAP') == '1':
-    catest_env.AppendUnique(CPPPATH = [os.path.join('#', 'extlibs', 'libcoap', 'libcoap', 'include')])
+    catest_env.AppendUnique(CPPPATH=[
+        os.path.join('#', 'extlibs', 'libcoap', 'libcoap', 'include')
+    ])
 else:
-    catest_env.AppendUnique(CPPPATH = [ os.path.join('#', 'resource', 'csdk', 'connectivity', 'lib', 'libcoap-4.1.1', 'include')])
-
-catest_env.PrependUnique(CPPPATH = [
-                '#/resource/c_common/octimer/include',
-                '#/extlibs/mbedtls/mbedtls/include',
-                '#/resource/csdk/connectivity/api',
-                '#/resource/csdk/connectivity/inc',
-                '#/resource/csdk/connectivity/common/inc',
-                '#/resource/csdk/logger/include',
-                '#/resource/csdk/include',
-                '#/resource/csdk/stack/include',
-                '#/resource/oc_logger/include',
-               ])
-
-catest_env.PrependUnique(LIBS = ['coap'])
+    catest_env.AppendUnique(CPPPATH=[
+        os.path.join('#', 'resource', 'csdk', 'connectivity', 'lib',
+                     'libcoap-4.1.1', 'include')
+    ])
+
+catest_env.PrependUnique(CPPPATH=[
+    '#/resource/c_common/octimer/include',
+    '#/extlibs/mbedtls/mbedtls/include',
+    '#/resource/csdk/connectivity/api',
+    '#/resource/csdk/connectivity/inc',
+    '#/resource/csdk/connectivity/common/inc',
+    '#/resource/csdk/logger/include',
+    '#/resource/csdk/include',
+    '#/resource/csdk/stack/include',
+    '#/resource/oc_logger/include',
+])
+
+catest_env.PrependUnique(LIBS=['coap'])
 
 if target_os not in ['msys_nt', 'windows']:
     # ssladapter_test.cpp #includes ca_adapter_net_ssl.c! That results in
     # "multiple definition" linker errors, when trying to link with
     # connectivity_abstraction_internal here.
-    catest_env.PrependUnique(LIBS = ['connectivity_abstraction'])
+    catest_env.PrependUnique(LIBS=['connectivity_abstraction'])
 else:
-    catest_env.PrependUnique(LIBS = ['connectivity_abstraction_internal'])
+    catest_env.PrependUnique(LIBS=['connectivity_abstraction_internal'])
 
-catest_env.PrependUnique(LIBS = [
-                'octbstack_internal',
-                'ocsrm',
-                'routingmanager',
-                ])
+catest_env.PrependUnique(LIBS=[
+    'octbstack_internal',
+    'ocsrm',
+    'routingmanager',
+])
 
 if target_os not in ['arduino', 'darwin', 'ios', 'msys_nt', 'windows']:
     catest_env.AppendUnique(LIBS=['rt'])
 
 if catest_env.get('SECURED') == '1':
-    catest_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509'])
+    catest_env.AppendUnique(LIBS=['mbedtls', 'mbedx509'])
 
 # c_common calls into mbedcrypto.
-catest_env.AppendUnique(LIBS = ['mbedcrypto'])
+catest_env.AppendUnique(LIBS=['mbedcrypto'])
 
-if 'CLIENT' in rd_mode and target_os not in ['arduino', 'darwin', 'ios', 'windows', 'winrt']:
-    catest_env.PrependUnique(LIBS = ['oc', 'oc_logger'])
+if 'CLIENT' in rd_mode and target_os not in [
+        'arduino', 'darwin', 'ios', 'windows', 'winrt'
+]:
+    catest_env.PrependUnique(LIBS=['oc', 'oc_logger'])
 if 'SERVER' in rd_mode:
     if target_os in ['linux', 'tizen']:
         catest_env.ParseConfig('pkg-config --cflags --libs sqlite3')
     elif target_os in ['msys_nt', 'windows']:
-        catest_env.PrependUnique(LIBS = ['sqlite3'])
+        catest_env.PrependUnique(LIBS=['sqlite3'])
 
 if target_os not in ['msys_nt', 'windows']:
-    catest_env.AppendUnique(LIBS = ['m'])
+    catest_env.AppendUnique(LIBS=['m'])
 else:
     catest_env.AppendUnique(CCFLAGS=['/W4'])
 
@@ -115,8 +122,8 @@ Alias("test", [catests])
 
 catest_env.AppendTarget('test')
 if catest_env.get('TEST') == '1':
-        if target_os in ['linux', 'windows']:
-                catest_env.AppendENVPath('PATH', catest_env.get('BUILD_DIR'))
-                run_test(catest_env,
-                         'resource_csdk_connectivity_test.memcheck',
-                         'resource/csdk/connectivity/test/catests')
+    if target_os in ['linux', 'windows']:
+        catest_env.AppendENVPath('PATH', catest_env.get('BUILD_DIR'))
+        run_test(catest_env,
+                 'resource_csdk_connectivity_test.memcheck',
+                 'resource/csdk/connectivity/test/catests')
index 3fcd349..8bddb5d 100644 (file)
@@ -18,24 +18,29 @@ with_tcp = connectivity_env.get('WITH_TCP')
 # Source files to build common for platforms
 ######################################################################
 
-connectivity_env.AppendUnique(CA_SRC = [os.path.join(src_dir, 'cautilinterface.c')])
+connectivity_env.AppendUnique(
+    CA_SRC=[os.path.join(src_dir, 'cautilinterface.c')])
 
 if target_os == 'android':
     if (('BLE' in ca_transport) or ('ALL' in ca_transport)):
-        bt_le_manager_src_dir = os.path.join(camanager_src_dir, 'bt_le_manager', 'android')
-        connectivity_env.AppendUnique(CA_SRC = [
+        bt_le_manager_src_dir = os.path.join(
+            camanager_src_dir, 'bt_le_manager', 'android')
+        connectivity_env.AppendUnique(CA_SRC=[
             os.path.join(bt_le_manager_src_dir, 'caleconnectionmanager.c'),
             os.path.join(bt_le_manager_src_dir, 'caleautoconnector.c'),
             os.path.join(bt_le_manager_src_dir, 'camanagerleutil.c'),
-            os.path.join(bt_le_manager_src_dir, 'camanagerdevice.c')])
+            os.path.join(bt_le_manager_src_dir, 'camanagerdevice.c')
+        ])
 
     if (('BT' in ca_transport) or ('ALL' in ca_transport)):
-        connectivity_env.AppendUnique(CA_SRC = [os.path.join(src_dir, 'btpairing', 'android', 'cabtpairing.c')])
+        connectivity_env.AppendUnique(CA_SRC=[
+            os.path.join(src_dir, 'btpairing', 'android', 'cabtpairing.c')
+        ])
 
 if with_cloud and with_tcp:
-    connectivity_env.AppendUnique(CA_SRC = [
+    connectivity_env.AppendUnique(CA_SRC=[
         os.path.join(camanager_src_dir, 'caconnectionmanager.c'),
         os.path.join(camanager_src_dir, 'camanagerutil.c'),
         os.path.join(camanager_src_dir, 'camessagearbiter.c'),
-        os.path.join(camanager_src_dir, 'capolicymanager.c')])
-
+        os.path.join(camanager_src_dir, 'capolicymanager.c')
+    ])