Cygwinを使ったFuzixのビルド
2019年11月7日
Cygwinでも、Fuzix ver 0.1のビルドができる事を確認した。ただし、Cygwinには予め次のツールをインストールしておく事。
SDCCのビルド
SDCC ver 3.6.0 のソースコードをここからダウンロードして、展開し、configureする。
このままmakeすると「info-recursive」が見つからないというエラーで停止するので、「support/sdbinutils/bfd/Makefile」を次のように修正する。
ビルドし、インストールする。
z80packのインストール
先の記事と同じように行える。ただし、「Makefile.linux」ではなく「Makefile.cygwin」を使う。
Fuzixのビルドと実行
後は、先の記事と同じように行える。ただし、Cygwinでは、「sudo」は必要ない。
当面、Fuzix用のアプリケーションの開発はこの環境で行なおうと思っている。
(追記)
この条件でz80pack上でFuzixを実行すると表示が乱れる。ただ、この不具合はCygwin用のz80packの方にあるようだ。CygwinでビルドしたFuzixをLinux上のz80packで実行すると、正常動作する。
なお、Cygwin上でsdcc-3.6.0でビルドした場合と、Ubuntu上ででsdcc-3.6.0でビルドした場合とで、両方とも動作するものの、作製されるオブジェクトが異なる。同じバージョンのコンパイラーを使っていても、何かが微妙に違うらしい。その事が影響するのか、Cygwin上でパッチを当てたsdcc-3.5.0を使ってTom's SBC用のカーネルをビルドしても、動作しなかった。
gcc-core gcc-g++ make patch bison flex libboost-devel gitgitやSDCCもcygwin上でインストールしないとうまく行かない。gitに付いてはcygwin用のバイナリーが使えるが、SDCCに付いてはビルドが必要である。
SDCCのビルド
SDCC ver 3.6.0 のソースコードをここからダウンロードして、展開し、configureする。
tar xjvf sdcc-src-3.6.0.tar.bz2 cd sdcc-3.6.0 ./configure --prefix=/usr --disable-pic14-port --disable-pic16-port --disable-mcs51-port --disable-r2k-port --disable-r3ka-port --disable-tlcs90-port--disable-ds390-port --disable-ds400-port --disable-hc08-port --disable-s08-port --disable-stm8-port --disable-ucsim
このままmakeすると「info-recursive」が見つからないというエラーで停止するので、「support/sdbinutils/bfd/Makefile」を次のように修正する。
151行目「info-recursive 」を削除 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive 1832行目「info-recursive 」を削除 info:
ビルドし、インストールする。
make make install
z80packのインストール
先の記事と同じように行える。ただし、「Makefile.linux」ではなく「Makefile.cygwin」を使う。
tar xzvf z80pack-1.24.tgz cd z80pack-1.24/cpmsim/srcsim make -f Makefile.cygwin cd ../srctools make
Fuzixのビルドと実行
後は、先の記事と同じように行える。ただし、Cygwinでは、「sudo」は必要ない。
当面、Fuzix用のアプリケーションの開発はこの環境で行なおうと思っている。
(追記)
この条件でz80pack上でFuzixを実行すると表示が乱れる。ただ、この不具合はCygwin用のz80packの方にあるようだ。CygwinでビルドしたFuzixをLinux上のz80packで実行すると、正常動作する。
なお、Cygwin上でsdcc-3.6.0でビルドした場合と、Ubuntu上ででsdcc-3.6.0でビルドした場合とで、両方とも動作するものの、作製されるオブジェクトが異なる。同じバージョンのコンパイラーを使っていても、何かが微妙に違うらしい。その事が影響するのか、Cygwin上でパッチを当てたsdcc-3.5.0を使ってTom's SBC用のカーネルをビルドしても、動作しなかった。