transactd 1.2.0-x86-mswin32-100 → 2.0.0-x86-mswin32-100

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e1c19c4cfb8fb4184230e0da0626b44b0fce74b0
4
- data.tar.gz: eb2c12e7fd617d322e21c6f3bb122bfd1224f143
3
+ metadata.gz: e7982396e445356477013f33567861a7453458a3
4
+ data.tar.gz: 3b9a0388b7bfe758e3be91e7831c7274342ec923
5
5
  SHA512:
6
- metadata.gz: 08e1277d7d49c3aaa0d1704ed075076401eb55bef634c5b6f24c6c7faa7cc50e73e635b40b71b68e43f212a226320bd339bb3fe199101afa0fa45b50a7e8c88c
7
- data.tar.gz: 28daaeda8fffb3e94c901dfc1852c2d539487d67d5c48a1dc6b24963f94202e8bc7e6c3861cc695ea9ddc377c63946feed75347c74a048ff3d9d6c20041410b2
6
+ metadata.gz: 9a45e70ade6c2bfba58ab2c384a760ced253206d763c6753dbbeb7644a9bff77d495e7fa1dc62a14715f79d3d07208fbf8fade6cd570f3e1007c4454e301df0c
7
+ data.tar.gz: b4e996c68ae8268f1cb9861ecf0ac1a765e40ca8f92d1b3a531a93d195e1e5324ca0aa36f2468e3d6efd5ce9cae1938d481b0b2854f37a7cadce312f3fc00dc3
data/BUILD_UNIX-JA CHANGED
@@ -1,4 +1,4 @@
1
- Transactd ビルドガイド for Unix
1
+ Transactd ビルドガイド for Unix
2
2
  ============================================================
3
3
 
4
4
  1. ビルド環境の準備
@@ -9,6 +9,10 @@ Transactd Plugin および Transactd クライアントは、Unix上のGCC(64bit
9
9
  * Ubuntu 12.10 x86_64
10
10
  * gcc 4.7.2
11
11
 
12
+ ビルドにはgccバージョン4.4以上が必須です。
13
+ また、CentOS(GCC4.4以上 or clang LLVM 3.4)、Mac OS X 10.9(GCC4.4以上
14
+ or Xcode5.1 LLVM 3.4)でも同様にビルドできます。
15
+
12
16
 
13
17
 
14
18
  2. CMakeのインストール
@@ -18,22 +22,30 @@ Transactd Plugin および Transactd クライアントは、Unix上のGCC(64bit
18
22
  sudo aptitude install cmake
19
23
  ```
20
24
 
25
+ CentOSでは
26
+ ```
27
+ sudo yum install cmake
28
+ ```
29
+
30
+ Mac OS Xでは、バイナリ配布をアプリケーションフォルダにインストールして
31
+ `/Applications/CMake.app/Contents/bin`にパスを通します。
32
+
21
33
 
22
34
 
23
35
  3. Boost C++ Libraries のダウンロードとビルド
24
36
  ------------------------------------------------------------
25
- [Boostのダウンロードページ](http://www.boost.org/users/download )からソースコー
26
- ドをダウンロードし、解凍します。
37
+ [Boostのダウンロードページ](http://www.boost.org/users/download)から
38
+ ソースコードをダウンロードし、解凍します。
27
39
  ```
28
40
  cd ~
29
41
  wget http://sourceforge.net/projects/boost/files/boost/1.54.0/boost_1_54_0.tar.gz/download -O boost_1_54_0.tar.gz
30
- tar -xzf boost_1_54_0.tar.gz
42
+ tar xzf boost_1_54_0.tar.gz
31
43
  ```
32
44
 
33
45
  以下のコマンドを実行しBoostのビルドを行います。
34
46
  ```
35
47
  cd ~/boost_1_54_0
36
- ./bootstrap.sh --with-libraries=chrono,filesystem,system,thread,timer
48
+ ./bootstrap.sh --with-libraries=chrono,filesystem,system,thread,timer,serialization,program_options
37
49
  ./b2 cxxflags=-fPIC
38
50
  ```
39
51
 
@@ -48,8 +60,8 @@ cd ~/boost_1_54_0
48
60
  からソースコードをダウンロードし、解凍します。
49
61
  ```
50
62
  cd ~
51
- wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz
52
- tar -xzf mysql-5.6.13.tar.gz
63
+ wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.20.tar.gz
64
+ tar xzf mysql-5.6.20.tar.gz
53
65
  ```
54
66
 
55
67
 
@@ -57,58 +69,42 @@ tar -xzf mysql-5.6.13.tar.gz
57
69
  [Transactd Pluginのダウンロードページ](http://www.bizstation.jp/al/transactd/download/index.asp)
58
70
  からソースコードをダウンロードします。
59
71
 
60
- ダウンロードしたソースコードは、4-1で展開したMySQLソースコードのpluginディレ
61
- クトリに展開します。
72
+ ダウンロードしたソースコードは、4-1で展開したMySQLソースコードの
73
+ pluginディレクトリに展開します。
62
74
  ```
63
75
  cd ~
64
- wget http://www.bizstation.jp/al/transactd/download/transactd-1.1.0/transactd-source-1.1.0.zip
65
- unzip -q transactd-source-1.1.0.zip
66
- mv transactd ~/mysql-5.6.13/plugin/
67
- ```
68
-
69
-
70
- ### 4-3 BOMの削除(gcc 4.3 未満の場合)
71
- gccのバージョンが4.3未満の場合、UTF-8 BOM付きのソースコードをビルドできない
72
- ため、BOMを削除します。
73
- バージョンは以下のコマンドで確認できます。
74
- ```
75
- gcc --version
76
- ```
77
-
78
- gccのバージョンが4.3未満だった場合、以下のコマンドで
79
- で`transactd/source/bzs/test/trdclengn/test_trdclengn.cpp` のBOMを削除します。
80
- ```
81
- cd ~/mysql-5.6.13/plugin/transactd/source/bzs/test/trdclengn/
82
- cp test_trdclengn.cpp test_trdclengn.cpp.backup
83
- file_length=`wc -c < test_trdclengn.cpp.backup`
84
- tail -c `expr ${file_length} - 3` test_trdclengn.cpp.backup > test_trdclengn.cpp
76
+ wget http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-source-2.0.0.zip
77
+ #Mac OS Xでは
78
+ #curl -O http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-source-2.0.0.zip
79
+ unzip -q transactd-source-2.0.0.zip -d transactd
80
+ mv transactd ~/mysql-5.6.20/plugin/
85
81
  ```
86
82
 
87
83
 
88
- ### 4-4 CMakeの実行
84
+ ### 4-3 CMakeの実行
89
85
  以下のコマンドを実行します。後述するオプションに注意してください。
90
86
  ```
91
- cd ~/mysql-5.6.13
87
+ cd ~/mysql-5.6.20
92
88
  mkdir bldgccx64
93
89
  cd bldgccx64
94
90
  cmake .. -DWITH_TRANSACTD_SERVER=ON -DWITH_TRANSACTD_CLIENTS=ON \
95
91
  -DBUILD_CONFIG=mysql_release \
96
92
  -DBOOST_ROOT=~/boost_1_54_0 \
97
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.13 \
93
+ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.20 \
98
94
  -DTRANSACTD_CLIENTS_PREFIX=/usr/lib \
99
95
  -DTRANSACTD_PREFIX=/usr/local/transactd
100
96
  ```
101
- * CMAKE_INSTALL_PREFIXに指定するのは、これからビルドするMySQLのインストール先で
102
- す。
97
+ * `CMAKE_INSTALL_PREFIX` に指定するのは、これからビルドするMySQLのインストール先
98
+ です。
103
99
  ***すでにインストール済みのMySQLがある場合に、それと同じパスを指定すると、上書
104
100
  きされてしまいます。上書きしたくないときは異なるパスを指定してください。***
105
- * TRANSACTD_CLIENTS_PREFIXに指定するのは、これからビルドするクライアントのインス
106
- トール先です。デフォルトは「/usr/lib」です。
107
- * TRANSACTD_PREFIXに指定するのは、これからビルドするテストやベンチマークのプログ
108
- ラムのインストール先です。デフォルトは「/usr/local/transactd」です。
101
+ * `TRANSACTD_CLIENTS_PREFIX` に指定するのは、これからビルドするクライアントの
102
+ インストール先です。デフォルトは`/usr/lib`です。
103
+ * `TRANSACTD_PREFIX`に指定するのは、これからビルドするテストやベンチマークの
104
+ プログラムのインストール先です。デフォルトは`/usr/local/transactd`です。
109
105
 
110
106
 
111
- ### 4-5 ビルド
107
+ ### 4-4 ビルド
112
108
  CMakeが完了するとMakefileが生成されているので、makeコマンドでビルド・インストール
113
109
  します。
114
110
  ```
@@ -125,30 +121,13 @@ make install
125
121
  からソースコードをダウンロードします。
126
122
  ```
127
123
  cd ~
128
- wget http://www.bizstation.jp/al/transactd/download/transactd-1.1.0/transactd-source-1.1.0.zip
129
- unzip -q transactd-source-1.1.0.zip
130
- ```
131
-
132
-
133
- ### 5-2 BOMの削除(gcc 4.3 未満の場合)
134
- gccのバージョンが4.3未満の場合、UTF-8 BOM付きのソースコードをビルドできない
135
- ため、BOMを削除します。
136
- バージョンは以下のコマンドで確認できます。
124
+ wget http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-source-2.0.0.zip
125
+ #Mac OS Xでは
126
+ #curl curl -O http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-source-2.0.0.zip
127
+ unzip -q transactd-source-2.0.0.zip -d transactd
137
128
  ```
138
- gcc --version
139
- ```
140
-
141
- gccのバージョンが4.3未満だった場合、以下のコマンドで
142
- `transactd/source/bzs/test/trdclengn/test_trdclengn.cpp` のBOMを削除します。
143
- ```
144
- cd ~/transactd/source/bzs/test/trdclengn/
145
- cp test_trdclengn.cpp test_trdclengn.cpp.backup
146
- file_length=`wc -c < test_trdclengn.cpp.backup`
147
- tail -c `expr ${file_length} - 3` test_trdclengn.cpp.backup > test_trdclengn.cpp
148
- ```
149
-
150
129
 
151
- ### 5-3 CMakeの実行
130
+ ### 5-2 CMakeの実行
152
131
  以下のコマンドを実行します。後述するオプションに注意してください。
153
132
  ```
154
133
  cd ~/transactd
@@ -159,13 +138,13 @@ cmake .. -DWITH_TRANSACTD_SERVER=OFF -DWITH_TRANSACTD_CLIENTS=ON \
159
138
  -DTRANSACTD_CLIENTS_PREFIX=/usr/lib \
160
139
  -DTRANSACTD_PREFIX=/usr/local/transactd
161
140
  ```
162
- * TRANSACTD_CLIENTS_PREFIXに指定するのは、これからビルドするクライアントのインス
163
- トール先です。デフォルトは「/usr/lib」です。
164
- * TRANSACTD_PREFIXに指定するのは、これからビルドするテストやベンチマークのプログ
165
- ラムのインストール先です。デフォルトは「/usr/local/transactd」です。
141
+ * `TRANSACTD_CLIENTS_PREFIX` に指定するのは、これからビルドするクライアントの
142
+ インストール先です。デフォルトは`/usr/lib`です。
143
+ * `TRANSACTD_PREFIX`に指定するのは、これからビルドするテストやベンチマークの
144
+ プログラムのインストール先です。デフォルトは`/usr/local/transactd`です。
166
145
 
167
146
 
168
- ### 5-4 ビルド
147
+ ### 5-3 ビルド
169
148
  CMakeが完了するとMakefileが生成されているので、makeコマンドでビルド・インストール
170
149
  します。
171
150
  ```
data/BUILD_WIN-JA CHANGED
@@ -1,11 +1,13 @@
1
- Transactd ビルドガイド for Windows
1
+ Transactd ビルドガイド for Windows
2
2
  ============================================================
3
3
 
4
4
  1. コンパイラの準備
5
5
  ------------------------------------------------------------
6
6
  Transactd Plugin および Transactd クライアントは、Windows上のVisual Studio
7
- (32bit/64bit)でビルドできます。ここでは、以下の環境でのビルドを想定して進めます
8
-
7
+ (32bit/64bit)でビルドできます。ここでは、以下の環境でのビルドを想定して進めます。
8
+
9
+ (クライアントはEmbarcaderoのコンパイラーC++ Builder XEシリーズでもビルドできます。
10
+ [クライアントのみをビルド]の項を参照してください。)
9
11
 
10
12
  * Windows 7 (64bit)
11
13
  * Visual Studio 2010 Express
@@ -20,6 +22,7 @@ Visual Studio 2010 Expressで64bitビルドを行うには、別途Windows SDK
20
22
  http://www.microsoft.com/en-us/download/details.aspx?id=8442)
21
23
  (GRMSDKX_EN_DVD.iso をダウンロードし、マウントしてインストーラを実行)
22
24
 
25
+
23
26
  ### Visual Studioコマンドプロンプトの起動方法
24
27
  後述する手順の中で、Visual Studioコマンドプロンプトを開くことがあります。
25
28
  [スタートメニュー]-[すべてのプログラム]-[Microsoft Visual Studio 2010 Express]-
@@ -28,8 +31,7 @@ Visual Studio 2010 Expressで64bitビルドを行うには、別途Windows SDK
28
31
  Visual Studio 2010 Express には、64bit版ビルドツール用の Visual Studioコマンド
29
32
  プロンプトが付属しません。代わりに、64bit用ビルドツールのパスを設定するための
30
33
  バッチファイルを作成し、そこから起動します。
31
- 以下の内容のファイルを作成し、`set64env.cmd`という名前でデスクトップに保存します
32
-
34
+ 以下の内容のファイルを作成し、`set64env.cmd`という名前でデスクトップに保存します。
33
35
  ```
34
36
  %comspec% /k "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
35
37
  ```
@@ -39,7 +41,7 @@ Visual Studio 2010 Express には、64bit版ビルドツール用の Visual Stud
39
41
  2. CMakeのダウンロードとインストール
40
42
  ------------------------------------------------------------
41
43
  [CMake ダウンロードページ](http://www.cmake.org/cmake/resources/software.html)か
42
- らWindows (Win32 Installer) をダウンロードし実行します。
44
+ らWindows (Win32 Installer) cmake-2.8.12.2-win32-x86.exe をダウンロードし実行します。
43
45
 
44
46
  途中、「Add CMake to the system PATH for all(or current) users」を選択し、
45
47
  cmakeの実行ファイルにパスが通るようにします。
@@ -48,42 +50,12 @@ cmakeの実行ファイルにパスが通るようにします。
48
50
 
49
51
  3. Boost C++ Libraries のダウンロードとインストール
50
52
  ------------------------------------------------------------
51
- ### 3-a ビルド済みバイナリのダウンロード
52
- [BoostProのダウンロードページ](http://www.boostpro.com/download)から、
53
- BoostPro 1.51.0 Installer (64-bit)をダウンロードし、インストールします。
54
-
55
- BoostProインストーラの「Select Default Variants」では以下の項目にチェックを入れ
56
- ます。
57
-
58
- * Visual C++ 10.0
59
- * Mlutithread, static runtime
60
- * Mlutithread debug, static runtime
61
-
62
- 次の「Choose Components」では、以下のコンポーネント以外のチェックは外してもかま
63
- いません。
64
-
65
- * chrono
66
- * filesystem
67
- * system
68
- * thread
69
- * timer
70
-
71
- インストールができたら、システム環境変数に `TI_BOOST_ROOT_32` および
72
- `TI_BOOST_ROOT_64`という変数を追加し、32bitと64bitのフォルダのパスを値として設
73
- 定します。自分のビルドするbitに合わせた変数が設定されていれば、両方を設定する必
74
- 要はありません。
75
- ```
76
- TI_BOOST_ROOT_32 = c:\boost\boost_1_51_32
77
- TI_BOOST_ROOT_64 = c:\boost\boost_1_51_64
78
- ```
79
- 環境変数の追加は、[コントロールパネル]-[システム]-[詳細設定]タブ-[環境変数]から
80
- 行います。
81
-
53
+ BoostProのダウンロードページが閉鎖されたため、ビルド済みバイナリをダウンロードするこ
54
+ とはできなくなりました。boostはソースからビルドします。
82
55
 
83
- ### 3-b ソースからのビルド
84
- 自分でboostをビルドする場合は、[Boostのダウンロードページ](
85
- http://www.boost.org/users/download )からソースコードをダウンロードし、解凍しま
86
- す。ここでは、以下のフォルダに保存したものとします。
56
+ ### ソースからのビルド
57
+ [Boostのダウンロードページ](http://www.boost.org/users/download)からソースコードを
58
+ ダウンロードし、解凍します。ここでは、以下のフォルダに保存したものとします。
87
59
  ```
88
60
  C:\Program Files\boost\boost_1_54_0
89
61
  ```
@@ -93,21 +65,38 @@ Visual Studioコマンドプロンプトを起動します。以下のコマン
93
65
  ```
94
66
  cd C:\Program Files\boost\boost_1_54_0
95
67
  bootstrap.bat
68
+
69
+ @REM 64bitの場合
96
70
  bjam.exe toolset=msvc threading=multi address-model=64 architecture=x86 ^
97
71
  --with-chrono --with-filesystem --with-system --with-thread --with-timer ^
72
+ --with-serialization --with-program_options ^
98
73
  variant=debug,release link=static runtime-link=static
99
74
  bjam.exe toolset=msvc threading=multi address-model=64 architecture=x86 ^
100
75
  --with-chrono --with-filesystem --with-system --with-thread --with-timer ^
76
+ --with-serialization --with-program_options ^
77
+ variant=debug,release link=static runtime-link=shared
78
+
79
+ @REM 32bitの場合
80
+ bjam.exe toolset=msvc threading=multi architecture=x86 ^
81
+ --with-chrono --with-filesystem --with-system --with-thread --with-timer ^
82
+ --with-serialization --with-program_options ^
83
+ variant=debug,release link=static runtime-link=static
84
+ bjam.exe toolset=msvc threading=multi architecture=x86 ^
85
+ --with-chrono --with-filesystem --with-system --with-thread --with-timer ^
86
+ --with-serialization --with-program_options ^
101
87
  variant=debug,release link=static runtime-link=shared
102
88
  ```
103
89
 
104
- インストールができたら、システム環境変数に `TI_BOOST_ROOT_32` および
90
+ ビルドができたら、システム環境変数に `TI_BOOST_ROOT_32` および
105
91
  `TI_BOOST_ROOT_64`という変数を追加し、32bitと64bitのフォルダのパスを値として設
106
92
  定します。自分のビルドするbitに合わせた変数が設定されていれば、両方を設定する必
107
93
  要はありません。
108
94
  ```
109
- TI_BOOST_ROOT_32 = c:\boost\boost_1_51_32
110
- TI_BOOST_ROOT_64 = c:\boost\boost_1_51_64
95
+ 64bitの場合
96
+ TI_BOOST_ROOT_64 = C:\Program Files\boost\boost_1_54_0
97
+
98
+ 32bitの場合
99
+ TI_BOOST_ROOT_32 = C:\Program Files\boost\boost_1_54_0
111
100
  ```
112
101
  環境変数の追加は、[コントロールパネル]-[システム]-[詳細設定]タブ-[環境変数]から
113
102
  行います。
@@ -127,19 +116,22 @@ TI_BOOST_ROOT_64 = c:\boost\boost_1_51_64
127
116
  ダウンロードした圧縮ファイルを解凍します。ここでは、以下のフォルダに保存したも
128
117
  のとします。
129
118
  ```
130
- C:\Users\Public\Documents\mysql-5.6.13
119
+ C:\Users\Public\Documents\mysql-5.6.20
131
120
  ```
132
121
 
133
122
 
134
123
  ### 4-2 Transactd Pluginソースコードのダウンロード
135
124
  [Transactd Pluginのダウンロードページ](http://www.bizstation.jp/al/transactd/download/index.asp)
136
125
  からソースコードをダウンロードします。
137
-
138
-
139
- ダウンロードしたソースコードを、4-1で展開したMySQLソースコードのpluginフォルダに
140
- 展開します。ここでは、以下のようなフォルダ構造になります。
126
+ ソースを展開するフォルダ transactd をMySQLのソースツリー内のpluginフォルダに作成
127
+ します。
141
128
  ```
142
- C:\Users\Public\Documents\mysql-5.6.13\plugin\transactd
129
+ md C:\Users\Public\Documents\mysql-5.6.20\plugin\transactd
130
+ ```
131
+ ダウンロードしたソースコードを、上記で作成したtransactdフォルダに展開します。
132
+ ここでは、以下のようなフォルダ構造になります。
133
+ ```
134
+ C:\Users\Public\Documents\mysql-5.6.20\plugin\transactd
143
135
  ```
144
136
 
145
137
 
@@ -151,15 +143,15 @@ Transactd Pluginソースコードのpatchディレクトリにmysqlのソース
151
143
  します。(パッチはmysql/mariadbのバージョンごとに異なる名前になっています。
152
144
  パッチ名のバージョンの部分は合ったものに変更してください。)
153
145
  ```
154
- cd C:\Users\Public\Documents\mysql-5.6.13
155
- copy plugin\transactd\patch\transactd-win-mysql-5.6.13.patch *
146
+ cd C:\Users\Public\Documents\mysql-5.6.20
147
+ copy plugin\transactd\patch\transactd-win-mysql-5.6.20.patch *
156
148
  ```
157
149
 
158
150
  patchコマンドを使用できる環境(Cygwin、Git Bashなど)があるならば、以下の
159
151
  コマンドでパッチを適用します。
160
152
  ```
161
- cd C:\Users\Public\Documents\mysql-5.6.13
162
- patch -p0 -i transactd-win-mysql-5.6.13.patch
153
+ cd C:\Users\Public\Documents\mysql-5.6.20
154
+ patch -p0 -i transactd-win-mysql-5.6.20.patch
163
155
  ```
164
156
 
165
157
  patchコマンドがない場合、[宮坂 賢 氏のGNU patch 2.5.4 (Win32 版)](
@@ -171,8 +163,8 @@ C:\Program Files (x86)\patc254w
171
163
  ```
172
164
  以下のコマンドでパッチを適用します。
173
165
  ```
174
- cd C:\Users\Public\Documents\mysql-5.6.13
175
- "C:\Program Files (x86)\patc254w\patch.exe" -p0 --binary -i transactd-win-mysql-5.6.13.patch
166
+ cd C:\Users\Public\Documents\mysql-5.6.20
167
+ "C:\Program Files (x86)\patc254w\patch.exe" -p0 --binary -i transactd-win-mysql-5.6.20.patch
176
168
  ```
177
169
 
178
170
  #### 4-3.2 ソースコードのエンコーディングの修正
@@ -188,7 +180,7 @@ cd C:\Users\Public\Documents\mysql-5.6.13
188
180
  ### 4-4 CMakeの実行
189
181
  Visual Studioコマンドプロンプトを起動して、以下のコマンドを実行します。
190
182
  ```
191
- cd C:\Users\Public\Documents\mysql-5.6.13
183
+ cd C:\Users\Public\Documents\mysql-5.6.20
192
184
  md bldVC100x64
193
185
  cd bldVC100x64
194
186
  cmake .. -G "Visual Studio 10 Win64" ^
@@ -200,7 +192,7 @@ cmake .. -G "Visual Studio 10 Win64" ^
200
192
  ### 4-5 ビルド
201
193
  CMakeが完了すると、以下のソリューションファイルが生成されています。
202
194
  ```
203
- C:\Users\Public\Documents\mysql-5.6.13\bldVC100x64\MySQL.sln
195
+ C:\Users\Public\Documents\mysql-5.6.20\bldVC100x64\MySQL.sln
204
196
  ```
205
197
  MySQL.slnをVisual Studioで開きます。メニューの[ビルド]-[構成マネージャー]から構
206
198
  成を「RelWithDebInfo」に変更し、[ビルド]-[ソリューションのビルド]をクリックしま
@@ -208,9 +200,9 @@ MySQL.slnをVisual Studioで開きます。メニューの[ビルド]-[構成マ
208
200
 
209
201
  バイナリは以下のフォルダに出力されます。
210
202
  ```
211
- C:\Users\Public\Documents\mysql-5.6.13\bldVC100x64\sql\lib\plugin
212
- C:\Users\Public\Documents\mysql-5.6.13\bldVC100x64\plugin\transactd\bin
213
- C:\Users\Public\Documents\mysql-5.6.13\bldVC100x64\plugin\transactd\lib
203
+ C:\Users\Public\Documents\mysql-5.6.20\bldVC100x64\sql\lib\plugin
204
+ C:\Users\Public\Documents\mysql-5.6.20\bldVC100x64\plugin\transactd\bin
205
+ C:\Users\Public\Documents\mysql-5.6.20\bldVC100x64\plugin\transactd\lib
214
206
  ```
215
207
 
216
208
 
@@ -223,12 +215,12 @@ C:\Users\Public\Documents\mysql-5.6.13\bldVC100x64\plugin\transactd\lib
223
215
 
224
216
  ここでは、以下のフォルダに展開したとします。
225
217
  ```
226
- C:\Users\Public\Documents
218
+ C:\Users\Public\Documents\transactd
227
219
  ```
220
+ (EmbarcaderoのC++BuilderXEシリーズの場合は[5-4 C++BuilderXEシリーズでのビルド]に進んでください。)
228
221
 
229
222
 
230
223
  ### 5-2 CMakeの実行
231
-
232
224
  Visual Studioコマンドプロンプトを起動して、以下のコマンドを実行します。
233
225
  ```
234
226
  cd C:\Users\Public\Documents\transactd
@@ -254,3 +246,54 @@ tdcl.slnをVisual Studioで開きます。メニューの[ビルド]-[構成マ
254
246
  C:\Users\Public\Documents\transactd\bldVC100x64\bin
255
247
  C:\Users\Public\Documents\transactd\bldVC100x64\lib
256
248
  ```
249
+
250
+
251
+ ### 5-4 C++BuilderXEシリーズでのビルド
252
+ EmbarcaderoのC++BuilderXEシリーズの場合は
253
+ ```
254
+ C:\Users\Public\Documents\Build\TransactdClient_bcb.groupproj
255
+ ```
256
+ にてXE以降のコンパイラーでコンパイルできます。
257
+
258
+ コンパイルにはコンパイラー付属のboostライブラリがインストールされている必要が
259
+ あります。また、C++ Builderの[ツール]-[オプション]-[環境オプション]-[C++ オプション]
260
+ -[パスとディレクトリ]の[システムインクルードパス]に
261
+ ```
262
+ 32Bitの場合 $(CG_BOOST_ROOT)
263
+ 64Bitの場合 $(CG_64_BOOST_ROOT)
264
+ ```
265
+ を追加します。
266
+ ビルド構成は、Unicode版/Ansi版 Release/Debug 32Bit/64Bit があります。
267
+ 出力は、bin libフォルダに生成されます。64Bitの場合は常に動的RTLとリンクが必要です。
268
+
269
+ 以下はバージョンごとの補足事項です。
270
+
271
+ 32Bit(すべてのXEバージョン)の場合、boost_program_optionsがコンパイルされていないため、
272
+ ```
273
+ build\libboost_program_options-bcb1_39\libboost_program_options-bcb-mt-1_39.cbproj
274
+ ```
275
+ にて事前にlibboost_program_options-bcb-mt-1_39.libを生成してください。
276
+ コンパイルの前に、下記のboostのソースの修正が必要です。
277
+ ```
278
+ ファイル:$(CG_BOOST_ROOT)\boost_1_39\libs\program_options\src\variables_map.cpp
279
+ 71行目 :v = variable_value(); --> variable_value vr;v = vr;
280
+ 115行目 :m[key] = variable_value(def, true); --> variable_value vr(def, true);m[key] = vr;
281
+ ```
282
+
283
+ XE2の場合、boost_serializationがコンパイルされていないため、
284
+ ```
285
+ build\libboost_serialization-bcb-1_39\libboost_boost_serialization-bcb-mt-1_39.cbproj
286
+ ```
287
+ にて事前にlibboost_serialization-bcb-mt-1_39.libを生成してください。
288
+
289
+ XE4 64Bitの場合、コンパイラバージョンがXE3と同じであるため、tdclcppを使用する
290
+ アプリケーションの自動リンクでtdclcpp_bc170_64x.libを探そうとします。しかしXE4で
291
+ 生成されるdllはtdclcpp_bc180_64x.dllのため、libが見つからずリンクエラーが発生します。
292
+ XE4 64Bitでtdclcppとtdclstmtをコンパイルした際には、libのファイル名の180部分を170に
293
+ リネームし`tdclcpp_bc180_64x_xx.lib`と`tdclstmt_bc180_64x_xx.lib`にしてください。
294
+
295
+ XE6 64Bitの場合、boost_threadのコンパイルが通らないためboostのソースを修正します。
296
+ ```
297
+ ファイル:$(CG_BOOST_ROOT)\boost_1_50\boost\asio\detail\impl\win_thread.ipp
298
+ 52行目: ::QueueUserAPC(apc_function, thread_, 0); --> ::QueueUserAPC((PAPCFUNC)apc_function, thread_, 0);
299
+ ```
data/CMakeLists.txt CHANGED
@@ -22,6 +22,8 @@
22
22
  cmake_minimum_required(VERSION 2.6)
23
23
  include(build/common/transactd_required.cmake)
24
24
  include(build/common/transactd_common.cmake)
25
+ include(build/common/transactd_cl_common.cmake)
26
+ include(build/common/options.cmake)
25
27
 
26
28
  # ==========================================================
27
29
  # options
@@ -29,7 +31,7 @@ include(build/common/transactd_common.cmake)
29
31
  option(WITH_TRANSACTD_SERVER "Build Transactd server plugin" ON)
30
32
  option(WITH_TRANSACTD_CLIENTS "Build Transactd client libraries" ON)
31
33
  option(TRANSACTD_HANDLERSOCKET "Add HandlerSocket protocol to Transactd plugin" ON)
32
- set(TRANSACTD_PREFIX "/usr/local/transactd" CACHE STRING "Prefix for transactd executables(test,benchmark)")
34
+ set(TRANSACTD_PREFIX "/usr/local/transactd" CACHE STRING "Prefix for transactd executables")
33
35
  set(TRANSACTD_CLIENTS_PREFIX "" CACHE STRING "Prefix for transactd client libraries")
34
36
  # options for Ruby client
35
37
  option(TRANSACTD_RUBY_GEM "Build Transactd ruby gem" OFF)
@@ -50,7 +52,11 @@ set(TRANSACTD_RUBY_LIBRARY_PATH "" CACHE STRING "Library path for ruby")
50
52
  set(TRANSACTD_PHP_INCLUDE_PATH "" CACHE STRING "Include path for PHP")
51
53
  option(TRANSACTD_PHP_USE_32BIT_TIME_T
52
54
  "Add _USE_32BIT_TIME_T option for building Transactd client PHP extension" ON)
53
- set(TDCL_CPP_CHARSET "" CACHE STRING "Transactd clients charset m:Multibyte u:Unicode")
55
+ set(TDCL_CPP_CHARSET "" CACHE STRING "The charset of Transactd clients [m]ultibyte [u]nicode")
56
+ option(TRANSACTD_HAVE_RB_THREAD_CALL_WITHOUT_GVL
57
+ "Add HAVE_RB_THREAD_CALL_WITHOUT_GVL option for building Transactd client Ruby gem" ON)
58
+ option(TRANSACTD_HAVE_RB_THREAD_BLOCKING_REGION
59
+ "Add HAVE_RB_THREAD_BLOCKING_REGION option for building Transactd client Ruby gem" OFF)
54
60
 
55
61
 
56
62
  # ==========================================================
@@ -66,6 +72,11 @@ if(TRANSACTD_PHP)
66
72
  set(WITH_TRANSACTD_SERVER OFF)
67
73
  set(WITH_TRANSACTD_CLIENTS OFF)
68
74
  endif()
75
+ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
76
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Type of build")
77
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
78
+ "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
79
+ endif()
69
80
 
70
81
 
71
82
  # ==========================================================
@@ -83,17 +94,17 @@ endif()
83
94
  if(WITH_TRANSACTD_CLIENTS)
84
95
  message(STATUS "BUILD Transactd Client Libraries")
85
96
  if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
97
+ # build without server plugin
86
98
  project(tdcl)
87
99
  endif()
100
+ tdcl_set_compiler_flags()
88
101
  subdirs("build/tdclc")
89
- if(WIN32 AND NOT MINGW)
90
- if((NOT ("${TDCL_CPP_CHARSET}" STREQUAL "m")) AND (NOT ("${TDCL_CPP_CHARSET}" STREQUAL "u")))
91
- set(TDCL_CPP_CHARSET u)
92
- endif()
102
+ if(MSVC AND (NOT ("${TDCL_CPP_CHARSET}" STREQUAL "m")))
103
+ set(TDCL_CPP_CHARSET u)
93
104
  else()
94
105
  set(TDCL_CPP_CHARSET m)
95
106
  endif()
96
- foreach(srcname tdclcpp test_tdcl bench_td)
107
+ foreach(srcname tdclcpp test_tdcl bench_td bench_query tdclstmt querystmts ormsrcgen)
97
108
  transactd_copy_subdir(
98
109
  "${TRANSACTD_ROOT}" "${srcname}" "${srcname}${TDCL_CPP_CHARSET}")
99
110
  subdirs("build/${srcname}${TDCL_CPP_CHARSET}")
@@ -106,11 +117,19 @@ endif()
106
117
  # ==========================================================
107
118
  if(TRANSACTD_RUBY_GEM)
108
119
  message(STATUS "BUILD Transactd Ruby Gem")
109
- if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
110
- project(tdcl)
111
- endif()
112
120
  set(TDCL_CPP_CHARSET m)
113
- transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppm)
121
+ project(tdcl)
122
+ tdcl_set_compiler_flags()
123
+ if(WIN32)
124
+ if(MSVC)
125
+ transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppmr)
126
+ subdirs("build/tdclcppmr")
127
+ endif()
128
+ else()
129
+ transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppm)
130
+ subdirs("build/tdclc")
131
+ subdirs("build/tdclcppm")
132
+ endif()
114
133
  subdirs("build/tdclrb")
115
134
  endif()
116
135
 
@@ -120,10 +139,16 @@ endif()
120
139
  # ==========================================================
121
140
  if(TRANSACTD_PHP)
122
141
  message(STATUS "BUILD Transactd client PHP extension")
123
- if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
124
- project(tdcl)
125
- endif()
126
142
  set(TDCL_CPP_CHARSET m)
127
- transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppm)
143
+ project(tdcl)
144
+ tdcl_set_compiler_flags()
145
+ subdirs("build/tdclc")
146
+ if(MSVC)
147
+ transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppmr)
148
+ subdirs("build/tdclcppmr")
149
+ else()
150
+ transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppm)
151
+ subdirs("build/tdclcppm")
152
+ endif()
128
153
  subdirs("build/tdclphp")
129
154
  endif()