This is a scons scripts cleanup left after fixing /W4 warnings for Windows.
Preparing SConscript files for removal of arbitrary global "env"
modifications in script files outside build_common/ directory.
Bug: https://jira.iotivity.org/browse/IOT-1583
Change-Id: I39296e61753562a037d7a33f8e1dd3c9803d9843
Signed-off-by: Pawel Winogrodzki <pawelwi@microsoft.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/21291
Tested-by: jenkins-iotivity <jenkins@iotivity.org>
Reviewed-by: George Nash <george.nash@intel.com>
Reviewed-by: Dan Mihai <Daniel.Mihai@microsoft.com>
Reviewed-by: Phil Coval <philippe.coval@osg.samsung.com>
env.AppendUnique(TS=[name])
+def __add_pthread_if_needed(ienv):
+ if 'gcc' == ienv.get('CC') and target_os not in ['android']:
+ ienv.AppendUnique(LINKFLAGS="-pthread")
+
def __print_targets(env):
Help('''
===============================================================================
env.AddMethod(__print_targets, 'PrintTargets')
env.AddMethod(__src_to_obj, 'SrcToObj')
env.AddMethod(__append_target, 'AppendTarget')
+env.AddMethod(__add_pthread_if_needed, 'AddPthreadIfNeeded')
env.AddMethod(__install, 'InstallTarget')
env.AddMethod(__installlib, 'UserInstallTargetLib')
env.AddMethod(__installbin, 'UserInstallTargetBin')
SConscript('src/common/SConscript')
SConscript('src/serverBuilder/SConscript')
+# Add third party libraries
+lib_env = env.Clone()
+SConscript('#service/third_party_libs.scons', 'lib_env')
+
+resourceClient_env = lib_env.Clone()
+
######################################################################
#building Resource client, resourceBroker and resourceCache
######################################################################
-if env.get('RELEASE'):
- env.AppendUnique(CCFLAGS=['-Os'])
- env.AppendUnique(CPPDEFINES=['NDEBUG'])
+if resourceClient_env.get('RELEASE'):
+ resourceClient_env.AppendUnique(CCFLAGS=['-Os'])
else:
- env.AppendUnique(CCFLAGS=['-g'])
-
-if env.get('LOGGING'):
- env.AppendUnique(CPPDEFINES=['TB_LOG'])
+ resourceClient_env.AppendUnique(CCFLAGS=['-g'])
target_os = env.get('TARGET_OS')
if target_os in ['ios']:
- env.AppendUnique(CPPDEFINES=['TARGET_OS_IPHONE'])
-
-# Add third party libraries
-lib_env = env.Clone()
-SConscript('#service/third_party_libs.scons', 'lib_env')
-
-resourceClient_env = lib_env.Clone()
+ resourceClient_env.AppendUnique(CPPDEFINES=['TARGET_OS_IPHONE'])
######################################################################
# Build flags
resourceClient_env.AppendUnique(CPPPATH=[
'include',
'#/resource/include',
+ '#/resource/c_common',
+ '#/resource/c_common/oic_malloc/include',
+ '#/resource/c_common/oic_string/include',
'#/resource/csdk/include',
'#/resource/csdk/stack/include',
'#/resource/oc_logger/include',
])
resourceClient_env.PrependUnique(
- LIBS=['oc', 'rcs_common', 'octbstack', 'oc_logger'])
+ LIBS=['c_common', 'oc', 'rcs_common', 'octbstack', 'oc_logger', 'logger'])
if target_os not in ['windows']:
resourceClient_env.AppendUnique(CXXFLAGS=['-Wall', '-std=c++0x'])
resourceClient_env.AppendUnique(LIBS=['dl'])
- if target_os in ['linux']:
- resourceClient_env.AppendUnique(LIBS=['pthread'])
+ resourceClient_env.AddPthreadIfNeeded()
if target_os in ['android']:
resourceClient_env.AppendUnique(CXXFLAGS=['-frtti', '-fexceptions'])
##
Import('env')
+target_os = env.get('TARGET_OS')
+
# Add third party libraries
lib_env = env.Clone()
SConscript('#service/third_party_libs.scons', 'lib_env')
sample_env.AppendUnique(CXXFLAGS=['-Wall', '-std=c++0x'])
sample_env.AppendUnique(LIBS=[
'coap', 'connectivity_abstraction', 'oc_logger', 'octbstack', 'oc',
- 'rcs_common', 'pthread'
+ 'rcs_common'
])
sample_env.AppendUnique(CPPPATH=[
'../../include',
+ '#/resource/c_common',
+ '#/resource/c_common/oic_malloc/include',
+ '#/resource/c_common/oic_string/include',
'#/resource/csdk/include',
'#/resource/csdk/stack/include',
'#/resource/include',
if 'rt' in sample_env.get('LIBS'):
sample_env.Append(LIBS=['rt'])
+sample_env.AddPthreadIfNeeded()
+
######################################################################
# ##### Client #####
######################################################################
######################################################################
rcs_common_env.AppendUnique(CPPPATH=[
'#/extlibs',
+ '#/resource/c_common',
+ '#/resource/c_common/oic_malloc/include',
+ '#/resource/c_common/oic_string/include',
'#/resource/include',
'#/resource/csdk/include',
'#/resource/csdk/stack/include',
rcs_common_env.AppendUnique(CPPPATH=['expiryTimer/include', 'expiryTimer/src'])
-rcs_common_env.AppendUnique(LIBPATH=[rcs_common_env.get('BUILD_DIR')])
-
if target_os not in ['windows']:
rcs_common_env.AppendUnique(CXXFLAGS=['-std=c++0x', '-Wall'])
rcs_common_env.InstallTarget([rcs_common_static], 'rcs_common')
rcs_common_env.UserInstallTargetLib([rcs_common_static], 'rcs_common')
+rcs_common_env.AddPthreadIfNeeded()
+
######################################################################
# Build Test Expiry Timer and primitive Resource
######################################################################
'../common/primitiveResource/include',
'../common/utils/include',
'../../include',
+ '#/resource/c_common',
+ '#/resource/c_common/oic_malloc/include',
+ '#/resource/c_common/oic_string/include',
'#/resource/include',
'#/resource/csdk/include',
'#/resource/csdk/stack/include',
server_builder_env.AppendUnique(
CPPPATH=[server_builder_env.get('SRC_DIR') + '/extlibs', 'include'])
-server_builder_env.AppendUnique(LIBPATH=[server_builder_env.get('BUILD_DIR')])
-server_builder_env.AppendUnique(LIBS=['oc', 'rcs_common'])
-
-if server_builder_env.get('LOGGING'):
- server_builder_env.AppendUnique(LIBS=['octbstack'])
+server_builder_env.AppendUnique(LIBS=['oc', 'rcs_common', 'logger'])
if not release:
server_builder_env.AppendUnique(CXXFLAGS=['--coverage'])
server_builder_env.AppendUnique(
LIBS=['mbedtls', 'mbedx509', 'mbedcrypto'])
+if target_os in ['linux', 'tizen']:
+ server_builder_env.AppendUnique(LIBS=['rt'])
######################################################################
# Source files and Targets
######################################################################
server_builder_test_env = server_builder_env.Clone()
server_builder_test_env.AppendUnique(CPPPATH=[
- '#/extlibs/hippomocks/hippomocks',
- '../common/utils/include'
-])
+ '#/extlibs/hippomocks/hippomocks',
+ '../common/utils/include',
+ ])
if server_builder_test_env.get('SECURED') == '1':
server_builder_test_env.AppendUnique(
unitTestHelperWithFakeOCPlatform_obj
]
+ server_builder_test_env.AddPthreadIfNeeded()
+
server_builder_test = server_builder_test_env.Program(
'rcs_server_test', server_builder_test_src)
Alias("rcs_server_test", server_builder_test)