お久しぶりですが別に何もありません。いつも通りのダメ人間です。
適当にやってもできなかったけど適当に調べたらできたので記録というか記憶をメモ。
記憶なので細かいところ違うかと。
【テスト】Mountain LionでGCCを--enable-languages=adaでビルドしてみた記憶【コピペ】
お久しぶりですが別に何もありません。いつも通りのダメ人間です。
適当にやってもできなかったけど適当に調べたらできたので記録というか記憶をメモ。
記憶なので細かいところ違うかと。
用意するもの
- 動くGNAT。今回はgnuadaの4.6.0を使用。
- gccのソース。今回は4.7.1。
- gccのビルドに必要らしいGMPとかMPFRとかMPCとか。細かくは忘れたのでドキュメント参照してください。
- MacportsだのFinkだのHomebrewだのをお勧めします。
手順
こことここを参考にやりましたので、そちらを見ることをお勧めします。
まとめると、要点はconfigureに以下をくっつけること。
CC='gcc -D_FORTIFY_SOURCE=0'
というわけでconfigureだけ気をつければいいので、gnuadaのGNATにパス通して
$ ./configure CC='gcc -D_FORTIFY_SOURCE=0' \ --enable-languages=c,c++,ada \ --prefix=$SOMEWHERE \ --build=x86_64-apple-darwin12 (略) $ make (略) $ make install (略)
こんな感じで動いてそうなGNATができました。
ちなみにCC=...を忘れるとldが「x86_64でこのシンボル知らねーよ!」とだかよく分からない暴言を吐いてconfigureに失敗します。
そのうち直ることを期待しときましょう。
*1:先程はてダに書いたもののコピペです。
1からやり直し:hello, world編
基本
with Ada.Text_Io; procedure Hello is begin Ada.Text_Io.Put_Line("hello, world"); end Hello;
応用:use
with Ada.Text_Io; use Ada.Text_Io; procedure Hello is begin Put_Line("hello, world"); end Hello;
応用:renames
with Ada.Text_Io; procedure Hello is package TIO renames Ada.Text_Io; begin TIO.Put_Line("hello, world"); end Hello;
宣言時にrenamesを使うと別名として宣言できます。
パッケージに短く適当な別名をつけることで、書く際の負担を減らしつつ可読性を上げることができます。