[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: