Introduce dm-framework.mk providing reusable build macros for packages
that integrate with the DM Framework:
- Build/Compile/DM: Generates C code and shared libraries from JSON data
models using json2code.js, compiles them, and creates package-specific
.so files
- Build/Install/DM: Installs generated libraries, JS handlers,
and data model files to the dm-framework directory(dmf)
Also adds bridgemngr as the first package utilizing these helpers to
implement bridge data model with dm-framework, which can be enabled
through flag CONFIG_BRIDGEMNGR_USE_DM_FRAMEWORK.
The commit also include changes in bbfdm dm-framework adaption.
Pass CFLAGS and LDFLAGS the correct way via environment variables and
not as arguments so the upstream Makefile CFLAGS/LDFLAGS do not get
overwritten and no ugly workaround is needed. Set PREFIX correctly and
do not set CONFIG_SMALL which was implemented in a patch that was
dropped. Remove commented out code (libquickjs.lto.a is no longer
built by default). Set PKG_SOURCE_DATE correctly as the date of the
upstream git repo and not the date of the OpenWrt package. Fix
whitespace issues in patch. Do not create empty /usr/lib/quickjs
Reworked the 002-fix_std_loadFile.patch
Removed the patches:
- 000-build-options.patch: the build options are now done in the
Makefile
- 001-no-fenv-dtoa-libbf.patch: this patch is not needed anymore
in the latest version: quickJS now uses a custom, high-precision
floating-point conversion library that doesn't rely on the system's
printf/snprintf for floating-point formatting.