Annotation of OpenXM/doc/HOWTO/asir2000-on-Windows-x64.sjis, Revision 1.5
1.5 ! ohara 1: $OpenXM: OpenXM/doc/HOWTO/asir2000-on-Windows-x64.sjis,v 1.4 2014/12/31 19:55:01 ohara Exp $
1.1 ohara 2:
1.2 ohara 3: Risa/Asir for Windows のビルド方法 (x64 対応)
1.1 ohara 4:
5: 0. 必要な物
6:
1.4 ohara 7: ・Windows 7 x64
8: ・Visual Studio 2010 または Visual Studio 2013
1.2 ohara 9: ・Cygwin (bash, gzip, tar, patch, coreutils, perl が必要です。)
10: ソースの展開および、texi2html に用いる。
11:
12: また、インストーラ(Windows installer 形式ファイル)を作成するには、
13: ・WiX toolset ver.3.7 (http://wixtoolset.org)
14: をインストールし、${WIX}/bin/ に PATH を通すこと。
1.1 ohara 15:
16: 1. ソースの取得
17:
1.2 ohara 18: CVS クライアント(例えば、TortoiseCVS, http://www.tortoisecvs.org/)を用いて、
19: OpenXM および OpenXM_contrib2 を checkout する.
20: また、OpenXM_dist/ に gc-7.2b.tar.gz, pari-2.0.17.beta.tgz を置く。
1.1 ohara 21:
1.2 ohara 22: 2. ビルド (64bit 版)
1.1 ohara 23:
1.2 ohara 24: 「Visual Studio x64 Win64 コマンド プロンプト (2010)」から
25: 次のように入力する.
26:
27: C> cd OpenXM_contrib2\windows
28: C> makepkg.bat
29: C> nmake msi
30:
31: makepkg で、asir 以下に全バイナリ・ヘルプが生成される。
32: これを zip でアーカイブしたものが、asir_win64_XXXX.zip である。
33: XXXX には日付が入る。例えば、2013年11月23日ならば、2013.11.23 となる。
1.1 ohara 34:
1.2 ohara 35: また、nmake msi と打つことによって、Windows installer 形式
36: asir_win64_XXXX.msi を生成する。
1.1 ohara 37:
1.2 ohara 38: 最後に、次のように入力すると、中間生成ファイル(ヘルプを除く)をすべて消去する。
1.1 ohara 39:
1.2 ohara 40: C> nmake distclean
1.1 ohara 41:
1.2 ohara 42: 余計なファイルを消去したので、そのまま、32bit 版の作成に入ることができる。
43:
44: 3. ビルド (32bit 版)
45:
46: 「Visual Studio コマンド プロンプト (2010)」から
1.1 ohara 47: 次のように入力する.
48:
49: C> cd OpenXM_contrib2\windows
1.2 ohara 50: C> makepkg.bat
51: C> nmake msi
52:
53: asir_win32_XXXX.zip および、asir_win32_XXXX.msi が作成される。
1.3 ohara 54:
55: 付録 A. インストーラのアップデート方法
56:
57: *** 事前に WiX tutorial などを読んでおくこと! ***
58:
59: OpenXM_contrib2/windows/ 以下にある *.wxs がインストーラのソースである。インストーラを
60: ビルドするには、Makefile に記載されている情報が必要である。Makefile に書かれている、
61: UPGRADEID=B7A582F5-0484-4030-9D38-BFAE00707F0D
62: の行は、「決して変更してはいけない」。変更するとアップグレードできなくなる。
63:
64: Risa/Asir に改良が加えられたとき、インストーラもアップグレードしなければならない。
65: まず、Makefile に
66: PRODUCTVER=1.0.12
67: のような行があるので、このバージョンをあげる(例えば 1.0.13 にする)。次に、Makefile に
68: PRODUCTID=...
69: という行(2か所ある)がある。これは各バージョンに対応しているので、この右辺を必ず変更する
70: こと。右辺は GUIDまたはUUID と呼ばれる 16 バイトの整数値であり、
71: guidgen.exe (Microsoft で配布) や FreeBSD では、uuidgen コマンドなどで生成できる。
72:
73: インストールするファイルが増えたり減ったりしたときには、*.wxs も変更しなければならない。
74: asir/ および asir/bin/ 以下のファイルは asir.wxs で、それ以外のディレクトリの下にある
75: ファイルは _*.wxs で管理されている。Makefile のコメント中に _*.wxs の自動生成に用いる
76: ルールが記載されているが、これを用いて生成したファイルで _*.wxs を上書きしないこと。
77: インストールされる各ファイルに対して、それぞれ GUID が与えられているが、一度決められた
78: この GUID を変更すべきではないからである。(自動生成すると変わってしまう)
79: 基本的に各 Component 要素が、一つのファイルに対応しているので、WiXedit などで追加して
80: いけばよい。
1.4 ohara 81:
82: 付録 B. Visual Studio 2013 対応
83:
84: Visual Studio 2013 からは、古い機能がいくつか既定ではサポートされなくなった。Risa/Asir の
85: ビルドに必要な機能の導入方法を説明する。
86:
87: (1) MBCS用 MFC の導入。
88: http://go.microsoft.com/?linkid=9832071 から必要なライブラリをダウンロードすること。
89: MSDNブログの参考記事
90: http://blogs.msdn.com/b/vcblog/archive/2013/07/08/mfc-support-for-mbcs-deprecated-in-visual-studio-2013.aspx
91: 根本的には、asirgui を Unicode 対応に改造するか、MFC を捨てるべきであろう。
92:
93: (2) ntwin32.mak および win32.mak
94: これらは gc のビルドに必要であるが、VS2013 からサポートされなくなった。
95: http://www.microsoft.com/en-us/download/details.aspx?id=8279 から
96: Microsoft Windows SDK for Windows 7 and .NET Framework 4 をインストールすること。
97: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
98: にインストールされることを期待している。
1.5 ! ohara 99:
! 100: 付録 C. PARI に対する注意
! 101:
! 102: Risa/Asir は、ライセンスの都合上で古いバージョンの PARI をリンクしている。
! 103: 古いバージョンの PARI では、Windows のような LLP64 モデルの 64bit システムは
! 104: 考慮されていない。具体的には、ポインタ(64bit)と long 型(32bit)の変換が行われ
! 105: ている。最近の Windows には、ASLR(Address Space Layout Randomization)機構が
! 106: 導入されており、32bit を超えるアドレス範囲にメモリが確保される可能性がある。
! 107: これを回避するには、VS2013 では、link.exe のオプションに -dynamicbase:no を
! 108: 追加してバイナリを作成する必要がある。
! 109:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>