[IOT-2014] linker changes for connectivity_abstraction
authorDan Mihai <Daniel.Mihai@microsoft.com>
Tue, 18 Apr 2017 13:26:19 +0000 (06:26 -0700)
committerDan Mihai <Daniel.Mihai@microsoft.com>
Tue, 2 May 2017 16:27:53 +0000 (16:27 +0000)
commit385deffade480ba9f9179b540c766231b864a30c
tree21a545ab54250da7df33e021fe9e12c05dc7e609
parent62c2d6031548c64dea2830a06676c4cb58e62c74
[IOT-2014] linker changes for connectivity_abstraction

Windows currently has several different copies of
connectivity_abstraction code and data in a single process.
Other platforms are using a single copy of shared library
connectivity_abstraction, in each process/app.

It's better to avoid differences across platforms, because
otherwise changes tested on one platform might not work on
the other platforms.

Linker behavior unchanged by this patch:
----------------------------------------

1. On non-Windows platforms: IoTivity sample apps, and apps outside
   IoTivity, continue to link with connectivity_abstraction.

2. On Windows: IoTivity sample apps, and apps outside IoTivity,
   continue to link with octbstack.lib.

Linker behavior changed by this patch:
----------------------------------------

1. On all platforms: IoTivity-internal tests link with the static LIB
   connectivity_abstraction_internal.

2. On Windows: IoTivity sample apps, and apps outside IoTivity,
   no longer link directly with connectivity_abstraction.lib.
   They obtain access to connectivity_abstraction APIs by linking
   with octbstack.lib.

3. On Windows: Octbstack.dll links with the static LIB
   connectivity_abstraction_internal, and exports public
   connectivity_abstraction APIs.

Change-Id: I48667d08d5be48e828800da2807c030753beab16
Signed-off-by: Dan Mihai <Daniel.Mihai@microsoft.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/18981
Tested-by: jenkins-iotivity <jenkins@iotivity.org>
17 files changed:
resource/IPCA/samples/ElevatorServer/SConscript
resource/IPCA/src/SConscript
resource/c_common/ocrandom/test/SConscript
resource/csdk/connectivity/src/SConscript
resource/csdk/connectivity/test/SConscript
resource/csdk/security/provisioning/sample/SConscript
resource/csdk/security/provisioning/unittest/SConscript
resource/csdk/security/tool/SConscript
resource/csdk/security/unittest/SConscript
resource/csdk/stack/SConscript
resource/csdk/stack/samples/linux/OCSample/SConscript
resource/csdk/stack/samples/linux/SimpleClientServer/SConscript
resource/csdk/stack/samples/linux/secure/SConscript
resource/csdk/stack/test/SConscript
resource/examples/SConscript
resource/provisioning/unittests/SConscript
resource/unittests/SConscript