Windows: add support for WITH_TCP=0
authorDan Mihai <Daniel.Mihai@microsoft.com>
Thu, 19 Jan 2017 23:24:38 +0000 (15:24 -0800)
committerDave Thaler <dthaler@microsoft.com>
Tue, 24 Jan 2017 22:59:08 +0000 (22:59 +0000)
Change-Id: I77881dd255b1aa2b246eb17c5894bebda0262b33
Signed-off-by: Dan Mihai <Daniel.Mihai@microsoft.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/16615
Tested-by: jenkins-iotivity <jenkins@iotivity.org>
Reviewed-by: Mike Fenelon <mike.fenelon@microsoft.com>
Reviewed-by: Dave Thaler <dthaler@microsoft.com>
resource/csdk/SConscript
resource/csdk/octbstack_product.def
resource/csdk/octbstack_product_with_tcp.def [new file with mode: 0644]
run.bat

index 4fd7310..c4c5482 100644 (file)
@@ -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'])
 
index 825aef6..6b289e5 100644 (file)
@@ -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 (file)
index 0000000..eeacfc2
--- /dev/null
@@ -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 (file)
--- 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.