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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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()