日本は沸いていた

なかなかよい無理ゲー臭漂うTOPPERS移植プロジェクト。まずはporting.txt(未対応の環境へのポーティングガイド。日本語で4000行。)を読み進めながら、既存のアーキテクチャ用のコードのコピー&修正、およびtouchコマンドでの空ファイル生成(爆笑)などを駆使してとりあえず関数の中身などは空っぽでよいとして、必要なファイルを揃えてmakeが通るようにがんばることにする。
1300行目くらいまでのことはやった。コピーしたまま・空っぽのままのファイル多数。ただ、ドキュメントに書かれているように、メインの作業は抽象化されたTOPPERSの仕様で定義されたタスク管理システムをハードウェア固有の方法で実現することで、近々そっちの仕様書(PDFで300ページ)も確認しないといけなさそう。まあ今書いてる数値は嘘ではないけど大げさではあり、本当に必要な部分はそれよりは少ないけど。
もし穴あき関数を埋めるだけってとこまで行けて、そこでやることを説明できるようになったらそこでヘルプかなあ。しかしRMTP*1ってハードウェアでマルチスレッディングサポートしてたりしててTOPPERSの定義するモデルにマッチするのか非常に怪しいよなあ…(って先生も言ってたのを強行してるからな!)。
同じくもっと小さい古いTRON(これもマルチスレッドに適合するか非常に怪しい)の方は、紹介します、ソフト班同期のrikuくんです。7人のうち2人です。…それ以上なに紹介すればいいかわかんないや。によると、とりあえずシングルスレッドでブーとして、APIの動作検証が7割ほど終わったそうです。


本題
とりあえずこのmakeを通すぞ→「rmt-elf-gccが見つかりません」→ああこのPCクロスコンパイラ入ってねーや→適当なサーバにログイン→make→「boostナントカカントカ.so.5が見つかりません」→苦笑
すでにコンフィギュレータっていう準備ツールっぽいのが必要で、それのビルドにBoostが必要と書かれているのを見て苦笑はしていた。なお、ローカルPCにはOSのインストール時に開発者向けセットを選んだらインストール画面でboostのインストール中って出て苦笑していた。
boostが最新(?)のローカルで行けるところまでやらせ、次にクロスコンパイラのあるサーバでmakeしたら次に進んだ(爆笑)。
今考えると実行時にダイナミックリンクに失敗してるんだからまったく入ってないってことではなさそうね。気が向いたらミーティングでちょっと言ってみるか。


本当の本題
このコンフィギュレータ、これだけのために仕様書があり、さらに別に内蔵マクロプロセッサ仕様書なんてのまである。テンプレートファイルとか書いてあるし、構文解析臭がする。Boost+構文解析…。この2つが意味するものは1つ…!

#include <boost/spirit/include/classic_core.hpp>
#include <boost/spirit/include/classic_actor.hpp>
#include <boost/spirit/include/classic_utility.hpp>
#include <boost/spirit/include/classic_dynamic.hpp>

アッー!


初心者向け解説

unyounyo yappy さんの発言 (22:46)
そういやコンフィギュレータっていうビルド前に設定を準備するツールがC++/Boostで書かれてて苦笑したな…
猫 さんの発言 (22:47)
もうC++がネタにしかならなくなっている
unyounyo yappy さんの発言 (22:49)
rmt-ナントカ-gccがありません」→ああこのマシンRMT(研究室で作ってるプロセッサ)用のクロスコンパイラ入ってねーや→適当なサーバにログイン→boostナントカ.so(boostのライブラリファイル)がありません(苦笑)
猫 さんの発言 (22:50)
うーん、開発環境おんなじにするためにサーバー1つでまとめたりは…してにいのか。
unyounyo yappy さんの発言 (22:51)
各々のローカルマシンは自己責任で何でもしていいことになってるからな
unyounyo yappy さんの発言 (22:52)
みんなが使うであろうクロスコンパイラ(そのマシン以外で動くコードを吐くコンパイラ)やCAD(本来くそ高いライセンスつきと思われる)とかはサーバ上に用意してあるな
unyounyo yappy さんの発言 (22:56)
しかしこのコンフィギュレータってやつ、仕様書にテンプレートファイルとかマクロプロセッサとか書いてある…
boostでこういう処理となると…まさかboostの中でも最も沸いていると言われるアレを…!?
猫 さんの発言 (22:59)
boostがなんだかわからんがまた信者が沸くような内容なのか…ふるえてきやがった
…ソフトウェアのライセンスってサーバマシンに入れる場合はどうなるんだろ…
unyounyo yappy さんの発言 (23:00)
boostはC++の標準で不便だと思った人が作ったライブラリを集めた準標準ライブラリっぽいものだお
C++0xの新標準の策定でもboostから標準ライブラリに取り入れられたものは多い
unyounyo yappy さんの発言 (23:01)
もちろん使えるものも多いが、C++ゆえに、沸いたものも多々ある
unyounyo yappy さんの発言 (23:04)
まあオープンソースかつソースからビルドする形式なんだからソース読めばいいだけなんだけどな
猫 さんの発言 (23:06)
有志で集めた情報をまとめると予想の斜め上になることはよくあるソースは陰陽鉄wiki
猫 さんの発言 (23:07)
大丈夫かそれ、同予想しても沸きまくってるんじゃないか
unyounyo yappy さんの発言 (23:07)
アッー
1つパーサーっぽいの見て大丈夫かと思ったがそんなことなかったー!
unyounyo yappy さんの発言 (23:08)
#include
#include
#include
#include
spirit出ましたー!


日本産のOSがboost::spiritだったなんて*2。やはり日本は沸いていた。日本の計算機分野は死んでいると思っていたが、まだまだ捨てたもんじゃねーな(爆笑)。

*1:研究室で作ってるプロセッサ。

*2:ひどい書き方だ