Skip to content

Remove Windows support, Linux/macOS only (v3.0.0)#49

Merged
AntonioCS merged 1 commit intomainfrom
chore/remove-windows-support
Jan 27, 2026
Merged

Remove Windows support, Linux/macOS only (v3.0.0)#49
AntonioCS merged 1 commit intomainfrom
chore/remove-windows-support

Conversation

@AntonioCS
Copy link
Owner

Summary

  • BREAKING: Remove native Windows support - MakeBind now supports Linux and macOS only
  • Windows users directed to use WSL (Windows Subsystem for Linux)
  • mb_os_call and mb_os_assign signatures changed (removed Windows parameter)
  • WSL-compatible: checks uname before erroring on OS=Windows_NT

Changes

Removed:

  • mb_powershell, mb_powershell_cmdlets, mb_powershell_expression functions
  • mb_ask_user_windows function
  • Windows-specific branches in printf/os functions
  • Windows self-update code (PowerShell) from templates

Changed:

  • mb_os_is_windows now only detects Windows to show helpful WSL error
  • mb_downloader uses curl for both Linux/macOS (more universal)

Added:

  • os_detection_test.mk - 8 tests for OS detection
  • printf_test.mk - 10 tests for printf functions
  • Additional util tests for timestamp, random, unzip, downloader

Test plan

  • All 134 tests pass locally (288 assertions)
  • CI workflow runs tests on PR
  • Verify WSL detection logic works correctly

🤖 Generated with Claude Code

BREAKING CHANGES:
- mb_os_call signature: (linux_cmd, mac_cmd, use_shell) - removed windows param
- mb_os_assign signature: (linux_cmd, mac_cmd) - removed windows param

Removed:
- mb_powershell, mb_powershell_cmdlets, mb_powershell_expression functions
- mb_ask_user_windows function
- Windows-specific branches in mb_printf_statement, mb_os_call, mb_os_assign
- Windows format specifiers from mb_printf_*_format_specifier variables
- Windows self-update code (PowerShell) from Makefile.tpl.mk

Changed:
- mb_os_is_windows now only detects Windows to show helpful WSL error
- WSL detection checks uname first (WSL has OS=Windows_NT but uname=Linux)
- mb_downloader uses curl for both Linux/macOS (more universal)

Added:
- os_detection_test.mk with 8 tests for OS detection
- printf_test.mk with 10 tests for printf functions
- Additional util tests for timestamp, random, unzip, downloader

Tests: 134 tests, 288 assertions - all passing
@AntonioCS AntonioCS merged commit 82d1bcf into main Jan 27, 2026
1 check passed
@AntonioCS AntonioCS deleted the chore/remove-windows-support branch January 27, 2026 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant