X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fsecurity%2Fprovisioning%2Fsample%2FSConscript;h=bfdfba772f39a3455687af49bd5a0b4c3222947d;hb=7f00f942c39b7bc27c7eeecf213a239c3fe4173c;hp=46e270ef3f221f06c4854a7cf96a9ae3d5458291;hpb=8d040bb2f3ce3a510be9afef08dd74c3bf024b65;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/security/provisioning/sample/SConscript b/resource/csdk/security/provisioning/sample/SConscript index 46e270e..bfdfba7 100644 --- a/resource/csdk/security/provisioning/sample/SConscript +++ b/resource/csdk/security/provisioning/sample/SConscript @@ -20,64 +20,164 @@ # Import('env') +import os.path provisioning_env = env.Clone() +target_os = provisioning_env.get('TARGET_OS') ###################################################################### # Build flags ###################################################################### +with_upstream_libcoap = provisioning_env.get('WITH_UPSTREAM_LIBCOAP') +if with_upstream_libcoap == '1': + # For bring up purposes only, we manually copy the forked version to where the unforked version is downloaded. + provisioning_env.AppendUnique(CPPPATH = ['#extlibs/libcoap/libcoap/include']) +else: + # For bring up purposes only, the forked version will live here. + provisioning_env.AppendUnique(CPPPATH = ['../../../connectivity/lib/libcoap-4.1.1/include']) + provisioning_env.AppendUnique(CPPPATH = [ '../../../stack/include', '../../../ocrandom/include', '../../../logger/include', '../../../stack/include', '../../../security/include', + '../../../security/include/internal', '../../../security/provisioning/include/internal', '../../../../oc_logger/include', '../include', '../include/oxm', + '../include/cloud', '../../include', - '../../../../../extlibs/tinydtls', '../../../../../extlibs/cjson', '../../../../../extlibs/base64', + '../../../../../extlibs/mbedtls/mbedtls/include', '../../../connectivity/inc', + '../../../connectivity/inc/pkix', '../../../connectivity/common/inc', - '../../../connectivity/lib/libcoap-4.1.1', - '../../../connectivity/api' + '../../../connectivity/api', + 'cloud', + 'hw_emul' ]) -provisioning_env.AppendUnique(CFLAGS = ['-D__WITH_DTLS__','-std=c99']) -provisioning_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread', '-fpermissive']) +target_os = env.get('TARGET_OS') provisioning_env.AppendUnique(RPATH = [env.get('BUILD_DIR')]) -provisioning_env.AppendUnique(LIBS = ['-lpthread']) -provisioning_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')]) -provisioning_env.PrependUnique(LIBS = ['ocpmapi','oc', 'oc_logger', 'ocsrm','m', 'octbstack', 'connectivity_abstraction', 'coap']) +provisioning_env.AppendUnique(CPPDEFINES = ['__WITH_DTLS__']) + +if target_os not in ['windows']: + provisioning_env.AppendUnique(CFLAGS = ['-std=c99']) + provisioning_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread', '-fpermissive']) + provisioning_env.AppendUnique(LIBS = ['pthread']) + +if target_os not in ['msys_nt', 'windows']: + provisioning_env.AppendUnique(LIBS = ['dl', 'm']) + provisioning_env.ParseConfig('pkg-config --libs glib-2.0'); + provisioning_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')]) +else: + provisioning_env.AppendUnique(LIBPATH = [os.path.join(env.get('BUILD_DIR'), 'resource', 'csdk')]) + provisioning_env.AppendUnique(LIBS = ['ws2_32', 'iphlpapi', 'advapi32']) + +provisioning_env.PrependUnique(LIBS = ['oc', 'oc_logger', 'octbstack', 'connectivity_abstraction', 'coap']) + +if target_os not in ['msys_nt', 'windows']: + # octbstack.dll is exporting ocpmapi and ocsrm APIs on Windows. + provisioning_env.PrependUnique(LIBS = ['ocpmapi', 'ocsrm']) if env.get('SECURED') == '1': - provisioning_env.AppendUnique(LIBS = ['tinydtls']) -provisioning_env.ParseConfig('pkg-config --libs glib-2.0'); + provisioning_env.AppendUnique(LIBS = ['mbedtls','mbedx509','mbedcrypto']) + + +if env.get('MULTIPLE_OWNER') == '1': + provisioning_env.AppendUnique(CPPDEFINES = ['MULTIPLE_OWNER']) provisioning_env.AppendUnique(CPPDEFINES = ['TB_LOG']) +if target_os == 'tizen': + provisioning_env.AppendUnique(CPPDEFINES = ['__TIZEN__']) +if target_os in ['linux', 'tizen']: + provisioning_env.ParseConfig('pkg-config --cflags --libs sqlite3') + ###################################################################### # Source files and Targets ###################################################################### -provisioningclient = provisioning_env.Program('provisioningclient', 'provisioningclient.c') +hwemul_src = [ + 'hw_emul/hw_interface.c', + 'hw_emul/ss_emul.c'] +provisioningclient = provisioning_env.Program('provisioningclient', hwemul_src + ['provisioningclient.c']) sampleserver_justworks = provisioning_env.Program('sampleserver_justworks', 'sampleserver_justworks.cpp') +sampleserver_justworks_protectedDB = provisioning_env.Program('sampleserver_justworks_protectedDB', 'sampleserver_justworks_protectedDB.cpp') sampleserver_randompin = provisioning_env.Program('sampleserver_randompin', 'sampleserver_randompin.cpp') +sampleserver_mfg = provisioning_env.Program('sampleserver_mfg', hwemul_src + ['sampleserver_mfg.cpp']) +sampleserver_mvjustworks = provisioning_env.Program('sampleserver_mvjustworks', 'sampleserver_mvjustworks.cpp') -Alias("samples", [provisioningclient, sampleserver_justworks, sampleserver_randompin]) +if provisioning_env.get('MULTIPLE_OWNER') == '1': + subownerclient = provisioning_env.Program('subownerclient', 'subownerclient.c') + sampleserver_preconfpin = provisioning_env.Program('sampleserver_preconfpin', 'sampleserver_preconfpin.cpp') -provisioning_env.AppendTarget('samples') +if provisioning_env.get('WITH_TCP') == True: + cloud_src = [ + 'cloud/cloudAuth.c', + 'cloud/cloudCommon.c', + 'cloud/cloudWrapper.c', + 'cloud/cloudDiscovery.c'] + cloudClient = provisioning_env.Program('cloudClient', hwemul_src + cloud_src + ['cloudClient.c']) + cloudServer = provisioning_env.Program('cloudServer', hwemul_src + cloud_src + ['cloudServer.c', 'cloud/cloudResource.c']) src_dir = provisioning_env.get('SRC_DIR') sec_provisioning_src_dir = src_dir + '/resource/csdk/security/provisioning/sample/' sec_provisioning_build_dir = env.get('BUILD_DIR') +'/resource/csdk/security/provisioning/sample/' -provisioning_env.Alias("install", provisioning_env.Install( sec_provisioning_build_dir, - sec_provisioning_src_dir + 'oic_svr_db_client.json')) -provisioning_env.Alias("install", provisioning_env.Install( sec_provisioning_build_dir, - sec_provisioning_src_dir + 'oic_svr_db_server_justworks.json')) -provisioning_env.Alias("install", provisioning_env.Install( sec_provisioning_build_dir, - sec_provisioning_src_dir + 'oic_svr_db_server_randompin.json')) + +clientdat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir + 'oic_svr_db_client.dat') +justworksdat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir + 'oic_svr_db_server_justworks.dat') +justworksDefaultdat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir + 'oic_svr_db_server_justworks_default.dat') +justworksProtectedDBdat_plain = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir + 'oic_svr_db_server_justworks_protectedDB_plain.dat') + +randompindat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir+ 'oic_svr_db_server_randompin.dat') +mfgdat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir+ 'oic_svr_db_server_mfg.dat') +randompin_with_emptyuuid_dat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir+ 'oic_svr_db_randompin_with_empty_deviceid.dat') +mvjustworksdat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir + 'oic_svr_db_server_mvjustworks.dat') + +if provisioning_env.get('MULTIPLE_OWNER') == '1': + subownerclientdat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir + 'oic_svr_db_subowner_client.dat') + preconfserverdat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir + 'oic_svr_db_server_preconfpin.dat') + +if provisioning_env.get('WITH_TCP') == True: + clouddat = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir + 'cloud.dat') + rootcert = provisioning_env.Install(sec_provisioning_build_dir, + sec_provisioning_src_dir + 'rootca.crt') + Alias("cloud", [clouddat, rootcert, cloudClient, cloudServer]) + provisioning_env.AppendTarget("cloud") + +if provisioning_env.get('MULTIPLE_OWNER') == '1': + Alias("samples", [ + provisioningclient, subownerclient, + sampleserver_justworks, sampleserver_randompin, sampleserver_mfg, + sampleserver_preconfpin,sampleserver_justworks_protectedDB, + clientdat, subownerclientdat, preconfserverdat, + justworksdat, randompindat, mfgdat, randompin_with_emptyuuid_dat, + mvjustworksdat, justworksDefaultdat, justworksProtectedDBdat_plain + ]) +else: + Alias("samples", [ + provisioningclient, + sampleserver_justworks, sampleserver_randompin, sampleserver_mfg, + clientdat,sampleserver_justworks_protectedDB, + justworksdat, randompindat, mfgdat, randompin_with_emptyuuid_dat, + mvjustworksdat, justworksDefaultdat, justworksProtectedDBdat_plain + ]) + +provisioning_env.AppendTarget('samples') +