LoginSignup
16
10

More than 1 year has passed since last update.

図解 Cygwin、MinGW、MSYS、WSL系列

Last updated at Posted at 2021-07-04

image.png

メンテナで行分け。最終更新日はTAGベースなので異論は認める。
フォークの線は一応後継側のサイトに準拠した、うえで大胆に省略(Kaiに怒られるけどな!)。

一言コメント

詳細は本家かWikipediaへどうぞ、

Cygwin

古参。Redhatがメインメンテナ。いまでもメンテナンスされている。
cygwin1.dllを挟んでLinux APIコールする。準拠度高く、動作が遅い。

MinGW

Cygwinからフォーク。
GNUツールのWindowsネイティブバイナリを提供。もうメンテされてない。

MSYS

Cygwinからフォーク。
MinGWを使いやすいようにPOSIX互換レイヤーを提供1。もうメンテされてない。

Mingw-w64

停滞したMinGWからフォーク。わりと個人プロジェクトぽい始まりかた。
ReactOSとか懐かしいすね。

MSYS2

停滞したMSYSからフォーク。Pacman大正義。
RubyInstaller2がMSYS2経由でMingW-w64に依存してたりする2

git bash

githubがメンテナ。途中でMSYSベースからMSYS2ベースに切り替え。コミットログ追うのつらかった。

WSL

Microsoftがメンテナ。1はWindows API拡張をコールしてたが、2はVM方式でアプローチ全然違う。
WSL1死んでないよとかの突っ込みは犬に食わせる方向で。

用語定義

POSIX互換レイヤー

Windows上でUNIXライクシステムの動作を再現する技術。ぶっちゃけbashぽく動かせるか。
Cygwin系とWSL系では機構が全く違うので、一緒くたにするのはかなり乱暴。

GNU toolchain

GNUツールを使うための技術。特にコンパイラ周り。
互換レイヤー上で動かしたりネイティブで動かしたりVMで動かしたりいろいろ。

  1. Autotoolsが動くようにしたかった。

  2. node-gypがC++コンパイラに依存するようなもの。

16
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
10