Imported Upstream version 1.2.0
[platform/upstream/iotivity.git] / resource / provisioning / examples / SConscript
index 6d02424..ec21321 100644 (file)
 ##
 # Examples build script
 ##
-Import('env')
+thread_env = SConscript('#build_common/thread.scons')
+lib_env = thread_env.Clone()
+target_os = lib_env.get('TARGET_OS')
+
 # Add third party libraries
-lib_env = env.Clone()
-SConscript(env.get('SRC_DIR') + '/resource/third_party_libs.scons', 'lib_env')
+SConscript('#resource/third_party_libs.scons', 'lib_env')
 
-with_ra = env.get('WITH_RA')
-with_ra_ibb = env.get('WITH_RA_IBB')
+with_ra = lib_env.get('WITH_RA')
+with_ra_ibb = lib_env.get('WITH_RA_IBB')
 
 examples_env = lib_env.Clone()
 
@@ -37,27 +39,23 @@ examples_env = lib_env.Clone()
 examples_env.AppendUnique(CPPPATH = [
         '../../include/',
         '../../csdk/stack/include',
+        '../../../extlibs/cjson',
         '../../csdk/logger/include',
         '../../oc_logger/include',
         '../../csdk/connectivity/api',
+        '../../csdk/connectivity/inc/pkix',
+        '../../csdk/connectivity/common/inc',
+        '../../csdk/connectivity/lib/libcoap-4.1.1/include',
         '../../csdk/security/include',
         '../../csdk/security/include/internal',
+       '../../csdk/security/provisioning/include/cloud',
         '../../csdk/security/provisioning/include',
         '../../csdk/security/provisioning/include/oxm',
         '../../csdk/security/provisioning/include/internal'
                ])
 
-target_os = env.get('TARGET_OS')
-if target_os not in ['windows', 'winrt']:
-       examples_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread'])
-
-       # Note: 'pthread' is in libc for android. On other platform, if use
-       # new gcc(>4.9?) it isn't required, otherwise, it's required
-       if target_os != 'android':
-               examples_env.AppendUnique(LIBS = ['-lpthread', '-ldl'])
-
-examples_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-examples_env.AppendUnique(RPATH = [env.get('BUILD_DIR')])
+examples_env.AppendUnique(LIBPATH = [examples_env.get('BUILD_DIR')])
+examples_env.AppendUnique(RPATH = [examples_env.get('BUILD_DIR')])
 examples_env.PrependUnique(LIBS = ['ocprovision', 'oc', 'ocpmapi', 'octbstack',
                                     'oc_logger', 'connectivity_abstraction', 'coap'])
 if with_ra_ibb:
@@ -70,35 +68,49 @@ else :
        if with_ra:
                examples_env.AppendUnique(LIBS = ['ra_xmpp'])
 
-if env.get('SECURED') == '1':
-    examples_env.AppendUnique(LIBS = ['tinydtls'])
-    examples_env.AppendUnique(LIBS = ['timer'])
-if env.get('DTLS_WITH_X509') == '1':
-       examples_env.AppendUnique(LIBS = ['CKManager'])
-       examples_env.AppendUnique(LIBS = ['asn1'])
+if examples_env.get('SECURED') == '1':
+    examples_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto'])
+
+if 'g++' in examples_env.get('CXX'):
+   examples_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall'])
 
-if target_os == 'android':
+if target_os in ['android']:
        examples_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
        examples_env.AppendUnique(LIBS = ['gnustl_shared'])
 
-       if not env.get('RELEASE'):
+       if not examples_env.get('RELEASE'):
                examples_env.AppendUnique(LIBS = ['log'])
 
 if target_os in ['darwin', 'ios']:
        examples_env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
 
+if target_os == 'tizen':
+    examples_env.AppendUnique(CPPDEFINES = ['__TIZEN__'])
+
+
 ######################################################################
 # Source files and Targets
 ######################################################################
 provisioningclient = examples_env.Program('provisioningclient', 'provisioningclient.cpp')
 
+if examples_env.get('WITH_TCP') == True:
+       cloudClient = examples_env.Program('cloudClient',['cloudClient.cpp', 'cloudAuth.cpp', 'cloudWrapper.cpp'])
+
 src_dir = examples_env.get('SRC_DIR')
 svr_db_src_dir = src_dir + '/resource/provisioning/examples/'
-svr_db_build_dir = env.get('BUILD_DIR') +'/resource/provisioning/examples/'
+svr_db_build_dir = examples_env.get('BUILD_DIR') +'/resource/provisioning/examples/'
 
 clientjson = examples_env.Install(svr_db_build_dir, svr_db_src_dir + 'oic_svr_db_client.json')
 clientdat = examples_env.Install(svr_db_build_dir, svr_db_src_dir + 'oic_svr_db_client.dat')
 
+if examples_env.get('WITH_TCP') == True:
+       clouddat = examples_env.Install(svr_db_build_dir,
+               svr_db_src_dir + 'cloud.dat')
+       rootcert = examples_env.Install(svr_db_build_dir,
+               svr_db_src_dir + 'rootca.crt')
+       Alias("cloud", [clouddat, rootcert, cloudClient])
+       examples_env.AppendTarget("cloud")
+
 Alias("examples", [provisioningclient, clientjson,clientdat])
-env.AppendTarget('examples')
+examples_env.AppendTarget('examples')