久々にコンピュータと戯れる――クロスコンパイル環境、再び

最近誕生日を迎えて、その反動でちょっと買い物をしてしまいました。自分に都合のいい言い訳というのは恐ろしい・・・(^^;;
気ままに買いっぱなしというのもアレなので、戒めも兼ねて使いこなしを図ってみようと試みて、その一環で再びザウルス上のプログラミングを再開してみました。


・・・が、今までconfigure一つまともに使えなかった自分。
Linuxとはどうも相性が悪いようです・・・という言い訳の上塗り以前に、根本的な知識が足りないことを今更ながらに痛感中です。
話を戻すと。Zaurusの世界では有名な阿川氏によってカスタマイズされている、mplayerにちょっと手を入れてみようとしています。
もちろん、iWMMXtとか、w100とか、bvddとか、そんな大層なミリセカンド、ナノセカンドを競うようなチューニングがしたいわけでなく、とあるデバイスに対応させようかな、と。


そして、ソースを覗いてみたのですが・・・見ただけで萎える凄い巨大なプロジェクトです○| ̄|_
更に言うと、マルチプラットホーム第一で記述されているため、お世辞にも実装形態が美しいとは言えず・・・


Linux等の世界では常識的なようですが、クロスプラットホームにおけるコンパイルでは、「configure」なる便利っぽいコマンドが準備されており、これを事前に実行することで環境を自動判別&Makefileを自動生成してくれるという画期的に見えるシステムです。


が。画期的に見えるのは良いのですが、当方のようにCygwin+ザウルス向けクロスコンパイル環境といった少数派の世界では、まずもってまともに動くことはありえません。以前のPCSXでの痛い思い出が蘇ります。今回も例に漏れず、付属のconfigureを走らせたら、今度はちゃんとCygwinのdll上で動いてくれるmplayerを生成してくれました(^^;;;
違う・・・欲しいのはこんなのじゃないんだ!と思いつつも、修正部分の余りの多さに呆然とします。追加するコード自体は、ほんのちょっとのはずなのですが。我ながら万年初心者の自分に呆れます。


この種のプロジェクトのビルドは、基本的に依存関係を正確に設定してやりさえすれば、大抵は問題なく通る事が多いようです。きっと。そう信じてごそごそやっていると、阿川氏が作成したと思われるmyconfファイルを発見!これもまたクロスに対応しているものではないので、正確なファイルを生成してくれるわけではないようです。が、大半のビルドオプションをこれで正しく認識してくれました。峠は越えた・・・・のかな(不安)


# アーキテクチャを問わずに動かせるクロスプラットホームは、自分のプログラミングにとっても一つの目標だったりします。
# 願わくば、人が意識する必要のあるコンパイルと言う呪縛から、
# いつかは逃れたいものですね・・・(怠け者)