amalgamationの様子をみる~その5 [SQLite]
前回の続きを見て行きます。ま、細かい内容はともかく流れを見て行きたいと思います。
まずは「sqlite3.h」を読み込むところから始まる様子。
・・・「sqlite3.h」は「./tool/mksqlite3h.tcl」で自動生成されてますね。こちら、スルーしてましたねぇ・・・。
スクリプトをちょっと見てみたところ、短いのでこの内容から見て行きますか。次のソースから「sqlite3.h」を生成するとのこと。
2) の「VERSION」を見たところ、内容は「3.7.12」の一行のみ。末尾に改行(LF?)が入っています。
3) 4) は意味がわからないんですが、4) の方は見てみたら、ハッシュコードっぽいのが入ってました。
これをソースツリーのルートディレクトリで実行せよとのこと。ちなみに、これはtclのスクリプトです。このスクリプトは「src/sqlite.h.in」に基づいて実行されるらしいですが、このファイルとスクリプトの関係はいまのところよくわかりません・・・。その処理は下記を含む様です。
このスクリプトの出力は標準出力に出力されるとのこと。
次回、一応処理を見て行きましょう。
まずは「sqlite3.h」を読み込むところから始まる様子。
・・・「sqlite3.h」は「./tool/mksqlite3h.tcl」で自動生成されてますね。こちら、スルーしてましたねぇ・・・。
スクリプトをちょっと見てみたところ、短いのでこの内容から見て行きますか。次のソースから「sqlite3.h」を生成するとのこと。
- 「src/sqlite.h」 ←テンプレートになるとのこと
- 「VERSION」 ←SQLiteのバージョンナンバーが入っているとのこと
- 昔のSCMの「manifest」ファイル ←日付を利用(?)
- 昔のSCMの「manifest.uuid」ファイル ←「SHA1」ハッシュを得るとのこと
2) の「VERSION」を見たところ、内容は「3.7.12」の一行のみ。末尾に改行(LF?)が入っています。
3) 4) は意味がわからないんですが、4) の方は見てみたら、ハッシュコードっぽいのが入ってました。
これをソースツリーのルートディレクトリで実行せよとのこと。ちなみに、これはtclのスクリプトです。このスクリプトは「src/sqlite.h.in」に基づいて実行されるらしいですが、このファイルとスクリプトの関係はいまのところよくわかりません・・・。その処理は下記を含む様です。
- グローバル変数の定義の前に「SQLITE_EXTERN」を付加する
- API関数の定義の前に「SQLITE_API」を付加する
- 「--VERS--」と言う文字列を現在のライブラリのバージョン(例えば「3.6.17」と言う書式の文字列)に置き換える
- 「--VERSION-NUMBER--」と言う文字列を現在のライブラリのバージョン(例えば「3006017」と言う書式の文字列)
- 「--SOURCE-ID--」と言う文字列を日付、時刻とハッシュ文字列(SHA1)に置き換える
このスクリプトの出力は標準出力に出力されるとのこと。
次回、一応処理を見て行きましょう。
2012-07-10 01:00
nice!(0)
コメント(0)
トラックバック(0)
コメント 0