FrontPage
New
Index
SignIn
Edit
djgpp/building_on_msys2
no archive mode
[[djgpp]]/building_on_msys2 djgppのランタイム(開発環境)をWindowsのmsys2上でビルドしてみるための(自分用)メモ !!! 必要なもの :msys2(上のmingw-w64開発環境) ::mingw-w64-(i686|x86_64)-toolchainですね…((br))他にdjgppビルドに必要なツールがいくつかあったはずだが精査していない。bisonとtexinfoはすくなくとも必要だったはず。 :djgppのソース :: 公式配布のzipファイル(djlsr205.zip, djtzs205.zip, djcrx205.zip)、[公式cvsサーバ|http://www.delorie.com/djgpp/cvs.html]から取ってくる、など。[非公式ミラー|https://github.com/jwt27/djgpp-cvs]をgit cloneするのがいちばん簡単かもしれず。 :Windows用のdjgpp gccクロスコンパイラ ::[ここ|https://github.com/andrewwutw/build-djgpp/releases]からmingw版のバイナリ取ってくる。msys2に突っ込んであるmingw-w64のgccとの相性(?)的なことを考えると、standalone版が無難な気がする。gccのバージョンはたぶんどれでもいい(新しすぎると想定外の警告やエラーが出がち) !!! だいたいの手順 要点を先に書いておくと * msys2のmakeじゃなくてmingw-w64側のmingw32-makeを使う * make時に ``CROSS_BUILD=1`` を明示する必要がある * 一部のビルドツールはソースの修正が必要 + djgppクロスコンパイラのインストール((br))適当に取ってきたdjgpp-mingw-*-standalone.zipをmsys2のルートディレクトリに展開。自分は D:\MSYS64 にmsys2をつっこんでいたのでそこでdjgpp-mingw-gcc830-standalone.zipをunzipした。バージョン8.30を選んだ理由は…なんとなく…。((br))msys2のターミナル上から ```/djgpp/bin/i586-pc-msdosdjgpp-gcc -v``` とか打ち込んでクロスコンパイラが起動するか確認しておく。 + djgppソース展開((br))msys2上ならgit cloneがいちばん楽なのでは。 + ソース修正((br))パッチ:[build_djgpp-cvs_on_msys2.diff|https://gist.github.com/lpproj/85f333d4602dc3bde0a677700e17efe0]((br))(改行のCRLF→LFはどこまで必要なのか正確に確認していない) + (srcディレクトリ中で)ビルド((br)) ```$ mingw32-make -C src CROSS_BUILD=1 CROSS_PREFIX=/djgpp/bin/i586-pc-msdosdjgpp-``` ((br))CROSS_PREFIXでコンパイラへのフルパス指定すれば/djgpp/binにパスを通す必要はない。 なおtimezoneの下はビルドに失敗する(標準のmakefile中でもエラー無視するようになっている)。 mingwホスト向けのソース修正はけっこうめんどくさいと思う(cygwinならいけるのでは…)。
Attachment
New: