mirror of
https://github.com/ossrs/srs.git
synced 2025-11-24 11:54:21 +08:00
This PR makes WebRTC a core feature of SRS and enforces C++98 compatibility by: 1. Always Enable WebRTC Support - Remove `--rtc=on|off` configuration option - WebRTC is now always enabled - Eliminate all `#ifdef SRS_RTC` conditional compilation blocks - Include WebRTC-related modules (RTC, SRTP, DTLS) in all builds - Update build scripts to always link WebRTC dependencies 2. Enforce C++98 Compatibility - Remove `--cxx11=on|off` and `--cxx14=on|off` configuration options - Force `SRS_CXX11=NO` and `SRS_CXX14=NO` in build system - Move these options to deprecated section with warnings - Ensure codebase maintains C++98 standard compatibility 3. Remove Windows/Cygwin Support - Remove all Windows and Cygwin64 conditional compilation blocks (#ifdef _WIN32, #ifdef CYGWIN64) - Delete Cygwin64 build configurations from build scripts ( auto/options.sh, auto/depends.sh, configure) - Remove Cygwin64 assembly files and State Threads platform support ( md_cygwin64.S) - Eliminate Windows-specific GitHub Actions workflows and CI/CD jobs - Remove NSIS packaging files and Windows installer generation - Delete Windows documentation and update feature lists to mark support as removed in v7.0 - Simplify OS detection to only support Unix-like systems (Linux, macOS) 4. Code Cleanup - Remove conditional WebRTC code blocks throughout the codebase - Simplify build configuration by removing WebRTC-related conditionals - Update constructor delegation patterns to be C++98 compatible - Fix vector initialization to use C++98 syntax - Eliminate Windows-specific implementations for file operations, time handling, and networking - Unified platform handling with consistent POSIX API usage --------- Co-authored-by: OSSRS-AI <winlinam@gmail.com>