XFree86 4.2.0 for sh4-linux

download

compile from source

必要なもの

手順

  1. patchを当てる
  2. host.defを好みでいじる
  3. make World
  4. gcc-3.0.3では最適化バグでコンパイルできないのが1つあるので、そこだけ-O1でコンパイル(どっかわすれた)
  5. programs/xkbcomp/cross
    で、exports/lib/libxkbfile.aを参照してますが、これはtarget用のライブラリであるのに対し、このcrossディレクトリではhost用にコンパイルしてるので、 「hostの/usr/X11R6/lib/libxkbfile.a」または「lib/xkbfileをhostのccでコンパイルしなおしたもの」をリンクするように修正します。
  6. 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にエラーログが残るので、適宜追加してください。