From f40a487d98e0c4ea1265f35a3929125f3085c620 Mon Sep 17 00:00:00 2001 From: Dan Mihai Date: Thu, 19 Jan 2017 15:24:38 -0800 Subject: [PATCH] Windows: add support for WITH_TCP=0 Change-Id: I77881dd255b1aa2b246eb17c5894bebda0262b33 Signed-off-by: Dan Mihai Reviewed-on: https://gerrit.iotivity.org/gerrit/16615 Tested-by: jenkins-iotivity Reviewed-by: Mike Fenelon Reviewed-by: Dave Thaler --- resource/csdk/SConscript | 13 +++++++--- resource/csdk/octbstack_product.def | 38 ---------------------------- resource/csdk/octbstack_product_with_tcp.def | 38 ++++++++++++++++++++++++++++ run.bat | 28 +++++++++++++++----- 4 files changed, 70 insertions(+), 47 deletions(-) create mode 100644 resource/csdk/octbstack_product_with_tcp.def diff --git a/resource/csdk/SConscript b/resource/csdk/SConscript index 4fd7310..c4c5482 100644 --- a/resource/csdk/SConscript +++ b/resource/csdk/SConscript @@ -109,15 +109,22 @@ if target_os in ['android', 'linux', 'tizen', 'msys_nt', 'windows']: if target_os in ['windows', 'msys_nt']: # octbstack.def specifies the list of functions exported by octbstack.dll. liboctbstack_env.Replace(WINDOWS_INSERT_DEF = ['1']) + + if with_tcp == True: + liboctbstack_env.Textfile(target = 'octbstack_temp.def', source = [File('octbstack_product.def'), File('octbstack_product_with_tcp.def')]) + else: + liboctbstack_env.Textfile(target = 'octbstack_temp.def', source = [File('octbstack_product.def')]) + if env.get('SECURED') == '1': # octbstack.dll is exporting ocpmapi APIs on Windows - there is no ocpmapi.dll. liboctbstack_env.PrependUnique(LIBS = ['ocpmapi']) + if env.get('MULTIPLE_OWNER') == '1': - liboctbstack_env.Textfile(target = 'octbstack.def', source = [File('octbstack_product.def'), File('octbstack_product_secured.def'), File('octbstack_product_secured_mot.def')]) + liboctbstack_env.Textfile(target = 'octbstack.def', source = [File('octbstack_temp.def'), File('octbstack_product_secured.def'), File('octbstack_product_secured_mot.def')]) else: - liboctbstack_env.Textfile(target = 'octbstack.def', source = [File('octbstack_product.def'), File('octbstack_product_secured.def')]) + liboctbstack_env.Textfile(target = 'octbstack.def', source = [File('octbstack_temp.def'), File('octbstack_product_secured.def')]) else: - liboctbstack_env.Textfile(target = 'octbstack.def', source = [File('octbstack_product.def')]) + liboctbstack_env.Textfile(target = 'octbstack.def', source = [File('octbstack_temp.def')]) else: liboctbstack_env.AppendUnique(LIBS = ['m']) diff --git a/resource/csdk/octbstack_product.def b/resource/csdk/octbstack_product.def index 825aef6..6b289e5 100644 --- a/resource/csdk/octbstack_product.def +++ b/resource/csdk/octbstack_product.def @@ -129,41 +129,3 @@ OCStop OCStopPresence OCStopMulticastServer OCUnBindResource - -; Cloud APIs used with WITH_TCP is set -clearStringArray -DEFAULT_PREFIX -DEFAULT_QUERY -DeleteCrl -FreeRsrc -getDeviceId -OCCloudAclCancelInvitation -OCCloudAclCreateGroup -OCCloudAclDeleteDeviceFromGroup -OCCloudAclDeleteGroup -OCCloudAclDeleteInvitation -OCCloudAclFindMyGroup -OCCloudGetAclIdByDevice -OCCloudAclGetInvitation -OCCloudAclGroupGetInfo -OCCloudAclIdCreate -OCCloudAclIdDelete -OCCloudAclIndividualDelete -OCCloudAclIndividualDeleteAce -OCCloudAclIndividualGetInfo -OCCloudAclIndividualUpdate -OCCloudAclIndividualUpdateAce -OCCloudAclInviteUser -OCCloudAclJoinToInvitedGroup -OCCloudAclObserveGroup -OCCloudAclPolicyCheck -OCCloudAclShareDeviceIntoGroup -OCCloudCertificateIssueRequest -OCCloudGetCRL -OCCloudPostCRL -OCSaveTrustCertChain -OIC_RSRC_DOXM_URI -OIC_RSRC_PSTAT_URI -printACL -printCrl -setCoapPrefix diff --git a/resource/csdk/octbstack_product_with_tcp.def b/resource/csdk/octbstack_product_with_tcp.def new file mode 100644 index 0000000..eeacfc2 --- /dev/null +++ b/resource/csdk/octbstack_product_with_tcp.def @@ -0,0 +1,38 @@ +; Cloud APIs used when WITH_TCP is enabled. + +clearStringArray +DEFAULT_PREFIX +DEFAULT_QUERY +DeleteCrl +FreeRsrc +getDeviceId +OCCloudAclCancelInvitation +OCCloudAclCreateGroup +OCCloudAclDeleteDeviceFromGroup +OCCloudAclDeleteGroup +OCCloudAclDeleteInvitation +OCCloudAclFindMyGroup +OCCloudGetAclIdByDevice +OCCloudAclGetInvitation +OCCloudAclGroupGetInfo +OCCloudAclIdCreate +OCCloudAclIdDelete +OCCloudAclIndividualDelete +OCCloudAclIndividualDeleteAce +OCCloudAclIndividualGetInfo +OCCloudAclIndividualUpdate +OCCloudAclIndividualUpdateAce +OCCloudAclInviteUser +OCCloudAclJoinToInvitedGroup +OCCloudAclObserveGroup +OCCloudAclPolicyCheck +OCCloudAclShareDeviceIntoGroup +OCCloudCertificateIssueRequest +OCCloudGetCRL +OCCloudPostCRL +OCSaveTrustCertChain +OIC_RSRC_DOXM_URI +OIC_RSRC_PSTAT_URI +printACL +printCrl +setCoapPrefix diff --git a/run.bat b/run.bat index 12631e8..2b45c00 100644 --- a/run.bat +++ b/run.bat @@ -19,7 +19,7 @@ set TARGET_OS=windows if "%TARGET_ARCH%" == "" ( set TARGET_ARCH=amd64 -) +) if "%TEST%" == "" ( set TEST=1 @@ -33,10 +33,13 @@ if "%RELEASE%" == "" ( set RELEASE=0 ) +if "%WITH_TCP%" == "" ( + set WITH_TCP=1 +) + set THREAD_COUNT=%NUMBER_OF_PROCESSORS% set SECURED=1 set ROUTING=EP -set WITH_TCP=1 set WITH_UPSTREAM_LIBCOAP=1 set BINDIR=debug set MULTIPLE_OWNER=1 @@ -61,13 +64,16 @@ IF NOT "%1"=="" ( ) IF "%1"=="-logging" ( SET LOGGING=1 - ) + ) IF "%1"=="-debugger" ( - set DEBUG="%ProgramFiles(x86)%\Windows Kits\10\Debuggers\x64\cdb.exe" -2 -c "g" + set DEBUG="%ProgramFiles(x86)%\Windows Kits\10\Debuggers\x64\cdb.exe" -2 -c "g" ) IF "%1"=="-release" ( SET RELEASE=1 ) + IF "%1"=="-noTCP" ( + SET WITH_TCP=0 + ) SHIFT GOTO :processArgs @@ -188,8 +194,12 @@ echo. echo. Default build settings are: debug binaries run unittests and no logging echo. echo. Default build parameters can be overridden using the following arguments -echo. -echo -arch [x86 ^| amd64] - Build either amd64 or x86 architecture binaries +echo. +REM At a quick look, the "Build either amd64 or x86 architecture binaries" message +REM below seems out of alignment with the other messages underneath it. But, "^|" +REM gets echoed as a single character, so the messages are actually aligned correctly +REM in the output of "run.bat". +echo -arch [x86 ^| amd64] - Build either amd64 or x86 architecture binaries echo. echo -noTest - Don't run the unittests after building the binaries echo. @@ -201,7 +211,10 @@ echo -release - Build release binaries echo. echo -threads [NUMBER_OF_THREADS] - Build in parallel using [NUMBER_OF_THREADS] threads. Default: %NUMBER_OF_PROCESSORS%. echo. +echo -noTCP - Build with the TCP adapter disabled +echo. echo. Usage examples: +echo. echo Launch SimpleClient with debugger: echo %0 client -debugger echo. @@ -226,6 +239,9 @@ echo. echo Build using only one thread: echo %0 build -threads 1 echo. +echo Build with TCP adapter disabled and run unit tests: +echo %0 build -noTCP +echo. echo Run all tests: echo %0 test echo. -- 2.7.4