試行錯誤中の部分もありますが、メモを残しておきます。
MinGW-w64 は、本家の MinGW.org から分岐した開発環境で、64bit/32bit 向けの開発が可能とのことです。
動作確認は Windows 8.1 (64bit) で行いました。
hamayama(2016/01/10 10:55:44 UTC)(2016/01/12 13:34:48 UTC)(2016/01/13 04:55:08 UTC)
(2016/01/14 05:40:18 UTC)(2016/05/29 11:22:41 UTC)(2016/10/11 12:02:58 UTC)
(2017/05/06 12:41:46 UTC)
https://gist.github.com/Hamayama/eb4b4824ada3ac71beee0c9bb5fa546d
https://gist.github.com/Hamayama/6666e5d2c8d5167d22f7
拡張ライブラリの作成等で、開発環境の検出が必要な場合には、以下の方法が使用できます。
環境変数 MSYSTEM の値で判別する MINGW64 ==> MSYS2/MinGW-w64 (64bit) MINGW32 ==> MSYS2/MinGW-w64 (32bit) なし ==> MinGW.org (32bitのみ)
シンボルが定義されているかどうかで判別する __MINGW32__ ==> MSYS2/MinGW-w64 (64bit/32bit), MinGW.org (32bitのみ) __MINGW64_VERSION_MAJOR ==> MSYS2/MinGW-w64 (64bit/32bit) __MINGW64__ ==> MSYS2/MinGW-w64 (64bit)
$target の値で判別する x86_64-w64-mingw32 ==> MSYS2/MinGW-w64 (64bit) i686-w64-mingw32 ==> MSYS2/MinGW-w64 (32bit) i686-pc-mingw32 ==> MinGW.org (32bitのみ)(参考URL : https://github.com/shirok/Gauche/pull/283 )
Gauche のソースの winnt/wix フォルダには、Windows版のインストーラ作成のためのファイルが格納されています。
インストーラの作成には、Wix というツールを使用します。
(参考URL : https://github.com/shirok/Gauche/tree/master/winnt/wix
http://wixtoolset.org/ )