Files
hakorune/docs/development/roadmap/native-plan/llvm/Windows-Strategy-Summary.md

2.6 KiB
Raw Permalink Blame History

🪟 Windows同時作戦の現状まとめ

更新日: 2025年8月20日

📊 現在の状況

完了したこと

  1. AI大会議実施

    • Gemini先生: 4つの革命的戦略提案
    • Codex先生: 技術的実装方法の詳細化
  2. 戦略文書作成

    • Revolutionary-Windows-Strategy.md: 統合戦略
    • APE-Magic-Explained.md: 単一バイナリ技術解説
    • Practical-Distribution-Strategy.md: 現実的配布方法
  3. 技術的方針決定

    • 核心: LLVM IRの中立性を活用した同時生成
    • 方法: Bitcodeキャッシュ + 並列ターゲット生成

🚀 実装計画

即効性のある解決策Week 1-3

# Linux + Windows同時生成
nyashc --targets linux,windows-gnu program.hako

# 出力
dist/linux/nyash        # Linux版musl静的
dist/windows/nyash.exe  # Windows版mingw

実装手順:

  1. Week 1: Linux版LLVM実装進行中
  2. Week 2: Bitcodeキャッシュ機構追加
  3. Week 3: Windows-gnu同時生成

中期計画1-3ヶ月

  • 全プラットフォーム同時対応
  • PAL (Platform Abstraction Layer) 完成
  • 最適化とテスト

🛠️ 技術的アプローチ

1. ワンパス・マルチターゲット

// 1回のIR生成
let bitcode = module.write_bitcode_to_memory();

// 並列で各OS向け生成
["linux", "windows-gnu", "macos"].par_iter()
    .map(|target| generate_for_target(bitcode.clone(), target))
    .collect()

2. Windows特化戦略

  • 短期: mingw-gnuクロスコンパイル簡単
  • 長期: msvc対応xwin使用
  • 配布: 916KBの小さな実行ファイル

3. 段階的実装

Phase 期間 成果
現在 LLVM PoC Linux単体
Week 3 同時生成 Linux + Windows
Month 1 全OS +macOS
Month 3 最適化 PAL完成

💡 重要ポイント

すぐに実現可能なこと

  • Linux/Windows同時ビルドmingw使用
  • 1つのコマンドで両OS対応
  • Bitcodeレベルでの共有

将来の野望

  • 🎯 全OS同時生成
  • 🎯 APE単一バイナリ小ツール用
  • 🎯 完全なクロスプラットフォーム

🎉 結論

Windows同時作戦は技術的に実現可能

  1. LLVM IRの中立性を最大活用
  2. Bitcodeキャッシュで効率化
  3. mingwで即座にWindows対応

Copilotが基本LLVM実装を進めている間に、我々は革命的な同時生成戦略を準備完了

Everything is Box、Every Platform is Target🎯