feat: multi-platform .hmap bundle + platform auto-selection

- PluginManifest: add platforms field declaring supported OS
- validatePackage: accept bundle .hmap with platform-aware binary check
- extractPackage: extract only current OS binary, skip others (macOS renames .dylib → .so)
- installFromPath/installFromURL: path install keeps source, URL install auto-cleanup
- cabi/loader.go + dynamic.go: add linux/darwin build constraints for Windows cross-compile
- dynamic_loader_unix/windows: split SO loading with proper build tags
- package/build.sh: enable windows/amd64 for homed, add CXX export for arm64
- tryLoadSO: fallback to plugin.dylib on macOS
- docs: update PLUGIN_DEV.md for bundle format and install methods
This commit is contained in:
2026-07-19 12:01:35 +08:00
parent c7209b9861
commit 4da2ad5376
9 changed files with 332 additions and 168 deletions

View File

@ -1,3 +1,5 @@
//go:build linux || darwin
package cabi
/*