LoginSignup
0
0

More than 1 year has passed since last update.

Eiffelのコンパイラや開発環境 - プラットフォーム別

Last updated at Posted at 2023-03-04

はじめに

恒例のお断りですが、この文章の内容は、筆者が所属している会社・団体とは一切関わりがありません。いわゆる「自主的な研究の成果の発表」というものです。

Eiffelのコンパイラや開発環境にあるように現役のEiffelコンパイラ/開発環境は3つですから、(著名な)プラットフォーム別に利用可能なEiffelコンパイラ/開発環境をまとめておくとちょっと便利かな、と。

で、早速まとめです。

プラットフォーム EiffelStudio Gobo Eiffel Compiler Liberty Eiffel
Windows x86、x86_64 x86_64 CYGWIN
UNIX x86_64、Arm64、Armv7 x86_64 いろいろ
Mac x86_64、M1、M2 x86_64

以上、なのですが、これだけだと分かる人にしか分からないと思いますので、プラットフォーム別に少々解説を。

あと、そもそもEiffelは、Eiffelで書かれたプログラムをいったんCに変換して各プラットフォームのCコンパイラを利用して最終的なバイナリを生成していますので、システムにすでにCコンパイラがインストールされていることが前提となっています。(EiffelStudioで.Net向けにコンパイルする場合は別でしょうけど。)ですので、コンパイラを(ある程度)Cで書いておけば、ブートストラップができますね。

Windows向け

さすがにArm版はここでは対象としていません。

EiffelStudio

22.12(現時点での最新版)を除いて、32ビット(x86)、64ビット(x86_64)の両方に対応しているようです。(22.12は64ビット版のみ。)

Gobo Eiffel Compiler

表は64ビットで動作確認をしている、という意味であって、64ビットのWindowsでしか動作しない、という意味ではありません。Cコンパイラがインストールされていれば、32ビットでも(さらにはARM版でも?)コンパイラが作れるのではないかと思います。

Liberty Eiffel

基本的にはUNIXにのみ対応してますので、Windowsで動かしたければ、ひと工夫必要です。インストール用のスクリプトを見ると、CYGWINとありますので、CYGWIN上でコンパイラを作れそうです。

UNIX向け

以下ではLinuxとFreeBSDを取り上げていますけど、上に書いたように「システムにすでにCコンパイラがインストールされていることが前提となっています。ですので、コンパイラを(ある程度)Cで書いておけば、ブートストラップができます」なので、UNIX系のOSだったら結構広い範囲で行けるのではないかと思います。

Linux

EiffelStudio

ダウンロードできるファイルにx86_64、Arm64、Armv7の3種類ありますので、それぞれのアーキテクチャ上で動作するのだと思います。ただ、x86_64は分かるのですが、Arm64とArmv7の違いはよく分かりません。LinuxでEiffelStudioを使っている方、ぜひご教示ください。

Gobo Eiffel Compiler

x86_64で動作確認をしているというのは表のとおりですが、Debian・UbuntuとCentOSで確認しています。なので、「Linuxであればコンパイラが作れる」と期待して良いのではないでしょうか。

Liberty Eiffel

インストール用のスクリプトには「Linux」とありますので、対応しています。Debian系とかRedHat系とか細かいことは気にしないのではないでしょうか。私も、Rocky Linuxでコンパイラが作れることを確認したような、、、

FreeBSD

EiffelStudio

最新版でも対応しているようです。

バージョンが古くても構わなければパッケージに入っていますので、そちらを使うのが一番手軽なのではないでしょうか。

$pkg search eiffel
eiffelstudio-5.7_8             Complete Integrated Development Environment for Eiffel

(EiffelStudioに一時期オープンソース版がありまして、それをパッケージにしたのだと思います。現在、EiffelStudioにオープンソース版なるものはないようですので、パッケージのバージョンが今後更新されることはないでしょう。)

Gobo Eiffel Compiler

UNIXの1つとして対応しているのではないでしょうか。

Liberty Eiffel

「コンパイラに同梱されているすべてのコマンドがコンパイルされるわけではない」という制限事項がつきますが、コンパイラ(およびコンパイルに必要なコマンドは一通り)は作成されます。
なぜ知っているかと言えば、私が対応改善をコミットしたからです。

それ以外

EiffelStudio

ないようです。

Gobo Eiffel Compiler

UNIXでコンパイルできるはずなので、どんと来い、だと思います。

Liberty Eiffel

インストール用のスクリプトにはLinux、FreeBSD以外にNetBSD、Solarisとあります。ただ、それ以外の場合でも、汎用的な設定でコンパイラの作成を試みますので、基本的にはコンパイラは作成されるのではないかと思います。(ただし、「汎用的な設定」ですので、例えばガベージコレクションが機能しないとか制限がつく可能性はあります。)

Mac向け

EiffelStudio

CPUがインテル製のもの向け、Apple独自のもの(M1、M2)向け、それぞれあります。M1、M2向けにはファイル名にArm6vとあるものをダウンロードすることになりそうですが、これでいいのでしょうか。
M1、M2で動作することは間違いないのですが(リリースノートとかにそういう記載がありましたので)、M1、M2ってArm6vなんでしょうか、、、誰か教えて、偉い人。

Gobo Eiffel Compiler

「UNIXの1つ」として対応しているのではないでしょうか。

Liberty Eiffel

インストール用のスクリプトにDarwinとありますから、対応しているのだと思います。ただし、古いCコンパイラを呼び出そうとしている可能性はありますので、その辺の微調整は必要かもです。

0
0
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
0
0