昨日はsvn coでものすごく時間がかかってしまったので、27時ごろにようやっと風呂に入れました。
それでも、今日はまぁ、なんとかなりました。
今日は連れはアケタオカリーナ祭りの最終日に参加していました。
今日こそは物理関連のことを整理しようと思っていたのですが、結局時間がなくなってしまったなぁ。
さすがに今日も夜なべすると危険だし。
MinGW64と、LLVMの安定版を使って、会社のマシンではなんとかmakeできました。でも、fortranとかのフロントエンドに使えるdragoneggの方は、色々とincludeファイルが足りなくてコンパイルできませんでした。
家の方では、svn updateしてソースを最新版にして、configureから実行しなおしました。
途中でconfigureが止まってしまったのですが、PATHにPythonが入ってなかったのが原因。
/etc/profile (実体は、c:\MinGW_64l\etc\profile)でPATHを設定しているので、そこを書き換えました。
とりあえずconfigureは完了。
で、make.
途中で落ちました。
MinGW64と、svnのtrunkで祖語があるんだろうな。
実際のところ、sourceが昨日から変更されていたみたいだし。
また明日updateしてからやってみるか。
dragoneggのincludeの件ですけど、足りないファイルはどうやらgccのソースから取ってこないといけないらしいですね。でも、そのものの名前のものはないから、少なくとも途中まではgccをビルドしないといけなさそうだなぁ。。。
あと、昨日は寝る前に他のC compilerも調べてみました。
lccからforkした、lcc-winというやつと、Pelles Cというやつ。
lcc-winは商用には使用できないそうですが、Pelles Cは商用でも問題なさそうだし、開発環境としてかなりしっかりしたものがついてきています。
一応、lcc-winの方にもついてきているんですけどね。
ただ、こいつらを使って、configureとかを実行するのは無理そう。
なんか工夫すればいいのかもしれませんが。。
でも、こんなにいっぱいcompilerを集めてどうするんでしょうかね ^^;;;
それでも、今回収穫だったのは、Windows版のFreeのC compilerがmingw/cygwinやVisual Expressとかだけじゃなくて、他にもあることがわかったことですね。
ただ、さすがにFortran compilerでfreeなのはGCCのgfortranかg95のどちらかしかないみたいですね。どちらもmingw/cygwin系列です。
商用のを見ると2008に対応したものもあるようですけど、大抵は一部分しか対応してないみたいです。
GCCはマルチプラットフォームに対応するために、色々と共通化がはかられているらしく、gfortranはFortranとしての速度の早さとかのメリットが薄れているらしいんです。
Clangを色々と試しているのは、Clangがプラットフォームごとに結構最適化をしてるらしく、GCCよりも高速になっているらしいからです。
dragoneggはフロントエンドとしてGCCのものを使うけど、コンパイルエンジンとしてはllvmを使っているらしいから、生のgfortranよりは早いはず。
でも、GCCってすごいですね。マイコンチップのsh2とかにも対応してるみたいなんですけど? クロスコンパイル用みたいですけどね。