Repository navigation
Release v1.4.0: Complete emphf integration with full cross-platform support
π Major Release: Complete emphf Integration with Cross-Platform Support
β¨ Key Features
- Complete emphf integration: All sources now local in
src/emphf - Zero external dependencies: No more cmake, git, or external repo requirements
- Cross-platform compatibility: Native builds for Linux x86_64/ARM64, macOS x86_64/ARM64
- Cross-compilation support: x86_64 builds on ARM64 macOS runners in CI
- macOS compatibility: POSIX-compatible filesystem operations for macOS < 10.15
- Simplified build system: Single Makefile handles all platforms and architectures
π§ Technical Improvements
- Cross-compilation: Added
TARGET_ARCHsupport for building x86_64 on ARM64 machines - Architecture detection: Fixed Python platform detection in CI for proper wheel naming
- POSIX compatibility: Replaced
std::filesystemwith POSIX code for broader macOS support - Build order fixes: Corrected dependency order in ARM64 and standard builds
- Wheel repair: Simplified macOS wheel repair to avoid
delocateconflicts - Variable initialization: Proper defaults for all architecture-specific variables
ποΈ Build System
- Local sources only: All dependencies bundled in repository
- Native compilation: No cross-compilation complexity for most use cases
- Cross-compilation when needed: Automatic x86_64 builds on ARM64 CI runners
- Automatic architecture detection: Builds optimal version for target platform
- Faster CI/CD: Reduced build times and improved reliability
π¦ Distribution
- Python wheels for all major platforms and architectures:
- Linux: x86_64, aarch64
- macOS: x86_64, arm64 (both native and cross-compiled)
- Source distribution with complete build environment
- Compatible with Python 3.8-3.12
π οΈ Build Targets
make all: Standard build for current platformmake arm64: ARM64-optimized build (Apple Silicon)TARGET_ARCH=x86_64 make all: Cross-compile x86_64 on ARM64
This release represents a complete rewrite of the build system for maximum compatibility and cross-platform support.