backend-infra-engineer: Release v0.3.0 snapshot
This commit is contained in:
55
docs/B2-platform-compatibility.md
Normal file
55
docs/B2-platform-compatibility.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Platform Compatibility Improvements
|
||||
|
||||
Recent improvements to ensure YAZE works reliably across all supported platforms.
|
||||
|
||||
## Native File Dialog Support
|
||||
|
||||
YAZE now features native file dialogs on all platforms:
|
||||
- **macOS**: Cocoa-based file selection with proper sandboxing support
|
||||
- **Windows**: Windows Explorer integration with COM APIs
|
||||
- **Linux**: GTK3 dialogs that match system appearance
|
||||
- **Fallback**: Bespoke implementation when native dialogs unavailable
|
||||
|
||||
## Cross-Platform Build Reliability
|
||||
|
||||
Enhanced build system ensures consistent compilation:
|
||||
- **Windows**: Resolved MSVC compatibility issues and dependency conflicts
|
||||
- **Linux**: Fixed standard library compatibility for older distributions
|
||||
- **macOS**: Proper support for both Intel and Apple Silicon architectures
|
||||
- **All Platforms**: Bundled dependencies eliminate external package requirements
|
||||
|
||||
## Build Configuration Options
|
||||
|
||||
YAZE supports different build configurations for various use cases:
|
||||
|
||||
### Full Build (Development)
|
||||
Includes all features: emulator, CLI tools, UI testing framework, and optional libraries.
|
||||
|
||||
### Minimal Build
|
||||
Streamlined build excluding complex components, optimized for automated testing and CI environments.
|
||||
|
||||
## Implementation Details
|
||||
|
||||
The build system automatically detects platform capabilities and adjusts feature sets accordingly:
|
||||
|
||||
- **File Dialogs**: Uses native platform dialogs when available, with cross-platform fallbacks
|
||||
- **Dependencies**: Bundles all required libraries to eliminate external package requirements
|
||||
- **Testing**: Separates ROM-dependent tests from unit tests for CI compatibility
|
||||
- **Architecture**: Supports both Intel and Apple Silicon on macOS without conflicts
|
||||
|
||||
## Platform-Specific Adaptations
|
||||
|
||||
### Windows
|
||||
- Complete COM-based file dialog implementation
|
||||
- MSVC compatibility improvements for modern C++ features
|
||||
- Resource file handling for proper application integration
|
||||
|
||||
### macOS
|
||||
- Cocoa-based native file dialogs with sandboxing support
|
||||
- Universal binary support for Intel and Apple Silicon
|
||||
- Proper bundle configuration for macOS applications
|
||||
|
||||
### Linux
|
||||
- GTK3 integration for native file dialogs
|
||||
- Package manager integration for system dependencies
|
||||
- Support for multiple compiler toolchains (GCC, Clang)
|
||||
Reference in New Issue
Block a user