You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 20, 2023. It is now read-only.
-- Build and package the Weave Device Manager C++ object as part of the main Weave static
library (libWeave.a), rather than as a separate shared library. This eliminates load-time
dependencies on a weave-specific shared library (libWeaveDeviceManager.so) for components
which incorporate the Weave Device Manager. (Note that the code is only built on platforms
that support a generalized heap--i.e. malloc, strdup, etc.).
-- Changed the meaning of the --enable-device-manager/--disable-device-manager configure
options. These options now control whether or not the various Device Manager wrapper
modules (i.e. the Java, Python and Cocoa wrappers) are built. Previously these also
controlled whether the core Device Manager C++ code was built. However this code is now
built and included in the main Weave static library in all cases.
-- Restructured the build of the Java Device Manager wrapper such that it creates a
dedicated shared library specifically for use by the Java code. This library is built as a
shared “module” (i.e. a shared library which is only capable of being loaded dynamically at
runtime). To avoid any changes to the Java code, the library retains its original name of
libWeaveDeviceManager.so.
-- Restructured the build of the Python Device Manager wrapper such the associated shared
library (_WeaveDeviceMgr.so) includes all of Weave, rather than having a load-time
dependency on libWeaveDeviceManager.so. Like the Java wrapper, the Python wrapper shared
library is built as a shared module.
-- Restructured the Device Manager Python code into a Python package named “openweave”. The
APIs to the existing Python modules (WeaveDeviceMgr, WeaveBluezMgr, etc.) remain the same,
however the modules must now be imported using a package relative syntax; e.g:
from openweave import WeaveDeviceMgr
As part of this change, the installed location of the Python wrapper shared library
(_WeaveDeviceMgr.so) was moved into the root directory of the “openweave” package.
-- Rewrote the logic that the WeaveDeviceMgr Python class uses to locate the Python wrapper
shared library. By default the library is expected to be found in the root directory of the
package in which executing WeaveDeviceMgr python class was found. If not found there, the
code will search up the directory hierarchy for an OpenWeave build directory containing the
library in the expected build location. This behavior makes it possible to import and use
the WeaveDeviceMgr module directly from a built copy of the OpenWeave source tree.
-- Modified the Weave Device Manager Shell (weave-device-mgr.py) to search for the
“openweave” python package in directories relative to the location of the script itself.
This makes it possible to run the device manager shell from a non-standard install location,
as well as directly from its location the OpenWeave source tree. Relative locations are
given priority over standard install locations so as to ensure the correct version of the
package is used.
-- Eliminated the use of the weave-run helper script for executing the Weave Device Manager
Shell. The helper script was no longer necessary after the elimination of the generic Weave
Device Manager shared library.
-- Added logic to configure.ac to disable building of the Device Manager wrapper modules
when the target network type is LwIP only. Although building this configuration is
technically feasible, the resultant code is not usable. Note that this does not disable
building the core Device Manager C++ class.
-- Eliminated the use of asprintf in the WeaveDeviceManager C++ code.
-- Removed libWeaveDeviceManager.a from Makefile-iOS
0 commit comments