XFree86 4.2.0 for sh4-linux
download
compile from source
必要なもの
- ring serverや
iij等で
X420src-1.tgzを入手。
(ring serverはXFree86をmirrorしているとことしていないところがあるので、不幸にしてしてないところにあたったらiijから)
- libpam (xdmのコンパイルに必要)
- libfl (flexのおまけ?)
- hostのlibxkbfile.a(後述)
手順
- patchを当てる
- host.defを好みでいじる
- make World
-
gcc-3.0.3では最適化バグでコンパイルできないのが1つあるので、そこだけ-O1でコンパイル(どっかわすれた)
-
programs/xkbcomp/cross
で、exports/lib/libxkbfile.aを参照してますが、これはtarget用のライブラリであるのに対し、このcrossディレクトリではhost用にコンパイルしてるので、
「hostの/usr/X11R6/lib/libxkbfile.a」または「lib/xkbfileをhostのccでコンパイルしなおしたもの」をリンクするように修正します。
-
make install
とするとhost環境に上書きしてやばいので
xc/Makefile
install:
- $(MAKE_CMD) $@
+ $(MAKE_CMD) DESTDIR=$(DESTDIR) $@
とでもして
make DESTDIR=どっか install
注:
こんなわけわからんパッチ使えるか!とゆーひとは、host,defに
#define MakeDllModules YES
とかくと、.soモジュールをdlopenを使って開くようになります。
for sh3
programs/Xserver/hw/xfree86/loader/xf86sym.c
でlibgccの関数/変数をいくつか定義してますが、sh3環境だと微妙に違うと思います。
とりあえずコンパイル/インストール/起動すると、定義が足りなければモジュールロード時に/var/log/XFree86.0.logにエラーログが残るので、適宜追加してください。