transactd 2.4.5-x86-mswin32-100 → 3.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.
data/transactd.gemspec CHANGED
@@ -59,7 +59,7 @@ spec_build = Gem::Specification.new do |s|
59
59
  s.files += Dir.glob('build/common/copyifgreater.*')
60
60
  s.files += Dir.glob('build/common/system.*')
61
61
  s.files += Dir.glob('source/bzs/test/tdclrb/*')
62
- s.files += Dir.glob('./*')
62
+ s.files += Dir.glob('./*').reject { |f| f.match(/RELEASE_NOTE/) || f.match(/BUILD_/) }
63
63
  else
64
64
  #
65
65
  # source code package
@@ -72,7 +72,7 @@ spec_build = Gem::Specification.new do |s|
72
72
  s.files += Dir.glob('build/swig/*') + Dir.glob('build/swig/ruby/*')
73
73
  s.files += Dir.glob('build/swig/ruby/**/*') + Dir.glob('build/tdclrb/**/*')
74
74
  s.files += Dir.glob('build/tdclc/**/*') + Dir.glob('build/tdclcpp/**/*')
75
- s.files += Dir.glob('./*')
75
+ s.files += Dir.glob('./*').reject { |f| f.match(/RELEASE_NOTE/) || f.match(/BUILD_/) }
76
76
  if RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/
77
77
  # add prebuilt binary
78
78
  tdclc_file = File.join('bin', 'common', 'tdclc_*.*')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: transactd
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.5
4
+ version: 3.0.0
5
5
  platform: x86-mswin32-100
6
6
  authors:
7
7
  - BizStation Corp.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-29 00:00:00.000000000 Z
11
+ date: 2015-12-25 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Transactd client for ruby gem
14
14
  email: transactd@bizstation.jp
@@ -22,8 +22,8 @@ files:
22
22
  - bin/2.1/transactd.so
23
23
  - bin/2.2/transactd.so
24
24
  - build/tdclrb/bldgem/extconf.rb
25
- - bin/common/tdclcpp_vc100_32mr_2_4.dll
26
- - bin/common/tdclc_32_2_4.dll
25
+ - bin/common/tdclcpp_vc100_32mr_3_0.dll
26
+ - bin/common/tdclc_32_3_0.dll
27
27
  - build/tdclrb/gem/detect.rb
28
28
  - build/tdclrb/gem/helper.rb
29
29
  - build/tdclrb/gem/INSTALLLOG.win32
@@ -40,17 +40,12 @@ files:
40
40
  - source/bzs/test/tdclrb/transactd_kanjischema_spec.rb
41
41
  - source/bzs/test/tdclrb/transactd_pool_spec.rb
42
42
  - source/bzs/test/tdclrb/transactd_spec.rb
43
- - ./BUILD_UNIX-JA.md
44
- - ./BUILD_WIN-JA.md
43
+ - source/bzs/test/tdclrb/transactd_v3_spec.rb
45
44
  - ./CMakeLists.txt
46
45
  - ./COPYING
47
46
  - ./index_ja.html
48
47
  - ./README-JA.md
49
48
  - ./README.md
50
- - ./README_ORMSRCGEN-JA.md
51
- - ./README_ORMSRCGEN.md
52
- - ./RELEASE_NOTE-JA.md
53
- - ./RELEASE_NOTE.md
54
49
  - ./transactd.gemspec
55
50
  homepage: http://www.bizstation.jp/ja/transactd
56
51
  licenses:
data/BUILD_UNIX-JA.md DELETED
@@ -1,161 +0,0 @@
1
- Transactd ビルドガイド for Unix
2
- ============================================================
3
-
4
- 1. ビルド環境の準備
5
- ------------------------------------------------------------
6
- Transactd Plugin および Transactd クライアントは、Unix上のGCC(64bit)
7
- でビルドできます。ここでは、以下の環境でのビルドを想定して進めます。
8
-
9
- * Ubuntu 12.10 x86_64
10
- * gcc 4.4.6
11
-
12
- ビルドにはCMake 2.8.12以上、gccバージョン4.4.6以上、boost 1.58(以上)が必須です。
13
- また、CentOS(GCC4.4以上 or clang LLVM 3.4)、Mac OS X 10.9(GCC4.4以上
14
- または Xcode5.1 LLVM 3.4)でも同様にビルドできます。
15
-
16
-
17
- 2. CMakeのインストール
18
- ------------------------------------------------------------
19
- [CMake](http://www.cmake.org)をインストールします。
20
- ```
21
- sudo aptitude install cmake
22
- ```
23
-
24
- CentOSでは
25
- ```
26
- sudo yum install cmake
27
- ```
28
-
29
- Mac OS Xでは、バイナリ配布をアプリケーションフォルダにインストールして
30
- `/Applications/CMake.app/Contents/bin`にパスを通します。
31
-
32
-
33
-
34
- 3. Boost C++ Libraries のダウンロードとビルド
35
- ------------------------------------------------------------
36
- [Boostのダウンロードページ](http://www.boost.org/users/download)から
37
- ソースコードをダウンロードし、解凍します。
38
- ```
39
- cd ~
40
- wget http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.gz/download -O boost_1_58_0.tar.gz
41
- tar xzf boost_1_58_0.tar.gz
42
- ```
43
-
44
- 以下のコマンドを実行しBoostのビルドを行います。
45
- ```
46
- cd ~/boost_1_58_0
47
- ./bootstrap.sh --with-libraries=chrono,filesystem,system,thread,timer,serialization,program_options
48
- ./b2 cxxflags=-fPIC
49
- ```
50
-
51
-
52
-
53
- 4. サーバープラグインとクライアントの両方をビルド
54
- ------------------------------------------------------------
55
- クライアントのみをビルドしたい場合はこのステップを飛ばしてください。
56
-
57
- ### 4-1 MySQLソースコードのダウンロード
58
- [MySQL Community Serverのダウンロードページ](http://dev.mysql.com/downloads/mysql)
59
- からソースコードをダウンロードし、解凍します。
60
- ```
61
- cd ~
62
- wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz
63
- tar xzf mysql-5.6.25.tar.gz
64
- ```
65
-
66
-
67
- ### 4-2 Transactd Pluginソースコードのダウンロード
68
- [Transactd Pluginのダウンロードページ](http://www.bizstation.jp/al/transactd/download/index.asp)
69
- からソースコードをダウンロードします。
70
-
71
- ダウンロードしたソースコードは、4-1で展開したMySQLソースコードの
72
- pluginディレクトリに展開します。
73
- ```
74
- cd ~
75
- wget http://www.bizstation.jp/al/transactd/download/transactd-2.4.2/transactd-source-2.4.2.zip
76
- #Mac OS Xでは
77
- #curl -O http://www.bizstation.jp/al/transactd/download/transactd-2.4.2/transactd-source-2.4.2.zip
78
- unzip -q transactd-source-2.4.2.zip -d transactd
79
- mv transactd ~/mysql-5.6.25/plugin/
80
- ```
81
-
82
-
83
- ### 4-3 CMakeの実行
84
- MySQL 5.5/5.6 MariaDB 5.5/10.0の場合は以下のコマンドを実行します。オプションの意味はコマンドの後に記載しています。
85
- ```
86
- cd ~/mysql-5.6.25
87
- mkdir x64
88
- cd x64
89
- cmake .. -DBOOST_ROOT=~/boost_1_58_0 \
90
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.25 \
91
- -DTRANSACTD_CLIENTS_PREFIX=/usr/lib \
92
- -DTRANSACTD_PREFIX=/usr/local/transactd
93
- ```
94
- MySQL 5.7の場合は以下のコマンドを実行します。
95
- ```
96
- cd ~/mysql-5.7.8-rc
97
- mkdir x64
98
- cd x64
99
- cmake .. -DBOOST_ROOT=~/boost_1_58_0 \
100
- -DWITH_BOOST=~/boost_1_58_0 \
101
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.8-rc \
102
- -DTRANSACTD_CLIENTS_PREFIX=/usr/lib \
103
- -DTRANSACTD_PREFIX=/usr/local/transactd
104
- ```
105
- * `CMAKE_INSTALL_PREFIX` に指定するのは、これからビルドするMySQLのインストール先
106
- です。
107
- ***すでにインストール済みのMySQLがある場合に、それと同じパスを指定すると、上書
108
- きされてしまいます。上書きしたくないときは異なるパスを指定してください。***
109
- * `TRANSACTD_CLIENTS_PREFIX` に指定するのは、これからビルドするクライアントの
110
- インストール先です。デフォルトは`/usr/lib`です。
111
- * `TRANSACTD_PREFIX`に指定するのは、これからビルドするテストやベンチマークの
112
- プログラムのインストール先です。デフォルトは`/usr/local/transactd`です。
113
-
114
-
115
- ### 4-4 ビルド
116
- CMakeが完了するとMakefileが生成されているので、makeコマンドでビルド・インストール
117
- します。
118
- ```
119
- make
120
- make install
121
- ```
122
-
123
-
124
-
125
- 5. クライアントライブラリのみをビルド
126
- ------------------------------------------------------------
127
- ### 5-1 Transactd Pluginソースコードのダウンロード
128
- [Transactd Pluginのダウンロードページ](http://www.bizstation.jp/al/transactd/download/index.asp)
129
- からソースコードをダウンロードします。
130
- ```
131
- cd ~
132
- wget http://www.bizstation.jp/al/transactd/download/transactd-2.4.2/transactd-source-2.4.2.zip
133
- #Mac OS Xでは
134
- #curl curl -O http://www.bizstation.jp/al/transactd/download/transactd-2.4.2/transactd-source-2.4.2.zip
135
- unzip -q transactd-source-2.4.2.zip -d transactd
136
- ```
137
-
138
- ### 5-2 CMakeの実行
139
- 以下のコマンドを実行します。オプションの意味はコマンドの後に記載しています。
140
- ```
141
- cd ~/transactd
142
- mkdir x64
143
- cd x64
144
- cmake .. -DWITH_TRANSACTD_SERVER=OFF -DWITH_TRANSACTD_CLIENTS=ON \
145
- -DBOOST_ROOT=~/boost_1_58_0 \
146
- -DTRANSACTD_CLIENTS_PREFIX=/usr/lib \
147
- -DTRANSACTD_PREFIX=/usr/local/transactd
148
- ```
149
- * `TRANSACTD_CLIENTS_PREFIX` に指定するのは、これからビルドするクライアントの
150
- インストール先です。デフォルトは`/usr/lib`です。
151
- * `TRANSACTD_PREFIX`に指定するのは、これからビルドするテストやベンチマークの
152
- プログラムのインストール先です。デフォルトは`/usr/local/transactd`です。
153
-
154
-
155
- ### 5-3 ビルド
156
- CMakeが完了するとMakefileが生成されているので、makeコマンドでビルド・インストール
157
- します。
158
- ```
159
- make
160
- make install
161
- ```
data/BUILD_WIN-JA.md DELETED
@@ -1,326 +0,0 @@
1
- Transactd ビルドガイド for Windows
2
- ============================================================
3
-
4
- 1. コンパイラの準備
5
- ------------------------------------------------------------
6
- Transactd Plugin および Transactd クライアントは、Windows上のVisual Studio
7
- (32bit/64bit)でビルドできます。
8
- Transactd Pluginは、MySQLとともにビルドしますので、MySQLの要求するコンパイラに
9
- 合わせてビルドします。MySQL 5.7は、Visual Studio Express 2013、それ以外の
10
- MySQL/MariaDBのバージョンはVisual Studio Express 2010を使用してビルドします。
11
-
12
- クライアントはEmbarcaderoのコンパイラーC++ Builder XEシリーズでもビルドできます。
13
- [クライアントのみをビルド]の項を参照してください。)
14
-
15
-
16
- MySQL 5.7は以下のコンパイラをダウンロードしてインストールします。
17
- * [Visual Studio Express 2013 with Update 5 for Windows Desktop
18
- ダウンロードページ(Microsoft)]
19
- (http://go.microsoft.com/fwlink/?LinkId=532500&clcid=0x411)
20
-
21
- MySQL 5.5/5.6、MariaDB 5.5/10.0は以下のコンパイラとSDKをダウンロードし
22
- てインストールします。
23
-
24
- * [Visual Studio 2010 Express ダウンロードページ(Microsoft)](
25
- http://www.microsoft.com/visualstudio/jpn/downloads#d-2010-express)
26
- * [Windows SDK for Windows 7 ダウンロードページ(Microsoft Download Center)](
27
- http://www.microsoft.com/en-us/download/details.aspx?id=8442)
28
- (GRMSDKX_EN_DVD.iso をダウンロードし、マウントしてインストーラを実行)
29
-
30
-
31
- ### Visual Studioコマンドプロンプトの起動方法
32
- 後述する手順の中で、Visual Studioコマンドプロンプトを開くことがあります。
33
-
34
- MySQL 5.5/5.6、MariaDB 5.5/10.0は以下の手順でVisual Studioコマンドプロンプトを
35
- 開きます。
36
-
37
- [32Bit]
38
- * [スタートメニュー]-[すべてのプログラム]-[Microsoft Visual Studio 2010 Express]-
39
- [Visual Studio コマンドプロンプト (2010)]を選択し起動します。
40
-
41
- [64Bit]
42
- *Visual Studio 2010 Express には、64bit版ビルドツール用の Visual Studioコマンド
43
- プロンプトが付属しません。代わりに、64bit用ビルドツールのパスを設定するための
44
- バッチファイルを作成し、そこから起動します。
45
- 以下の内容のファイルを作成し、`set64env.cmd`という名前でデスクトップに保存します。
46
- ```
47
- %comspec% /k "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
48
- ```
49
-
50
- MySQL 5.7は以下の手順でVisual Studioコマンドプロンプトを開きます。
51
- [32Bit]
52
- * [スタートメニュー]-[すべてのプログラム]-[Microsoft Visual Studio 2013]-
53
- [Visual Studio ツール]-[VS2013 x86 Native Tools コマンド プロンプト]を選択し起動します。
54
-
55
- [64Bit]
56
- * [スタートメニュー]-[すべてのプログラム]-[Microsoft Visual Studio 2013]-
57
- [Visual Studio ツール]-[VS2013 x64 Cross Tools コマンド プロンプト]を選択し起動します。
58
-
59
-
60
-
61
- 2. CMakeのダウンロードとインストール
62
- ------------------------------------------------------------
63
- [CMake ダウンロードページ](http://www.cmake.org/cmake/resources/software.html)か
64
- らWindows (Win32 Installer) cmake-2.8.12.2-win32-x86.exe をダウンロードし実行します。
65
-
66
- 途中、「Add CMake to the system PATH for all(or current) users」を選択し、
67
- cmakeの実行ファイルにパスが通るようにします。
68
-
69
-
70
-
71
- 3. Boost C++ Libraries のダウンロードとインストール
72
- ------------------------------------------------------------
73
- boostはソースからビルドします。
74
-
75
- ### ソースからのビルド
76
- [Boostのダウンロードページ](http://www.boost.org/users/download)からソースコードを
77
- ダウンロードし、解凍します。ここでは、以下のフォルダに保存したものとします。
78
- ```
79
- C:\boost\boost_1_58_0
80
- ```
81
-
82
- Visual Studioコマンドプロンプトを起動します。以下のコマンドを実行し、Boostのビル
83
- ドを行います。
84
- ```
85
- cd C:\boost\boost_1_58_0
86
- bootstrap.bat
87
-
88
- @REM Visula studio 2010 64bitの場合
89
- bjam.exe toolset=msvc-10.0 threading=multi address-model=64 architecture=x86 ^
90
- --with-chrono --with-filesystem --with-system --with-thread --with-timer ^
91
- --with-serialization --with-program_options ^
92
- variant=debug,release link=static runtime-link=static,shared
93
-
94
- @REM Visula studio 2010 32bitの場合
95
- bjam.exe toolset=msvc-10.0 threading=multi architecture=x86 ^
96
- --with-chrono --with-filesystem --with-system --with-thread --with-timer ^
97
- --with-serialization --with-program_options ^
98
- variant=debug,release link=static runtime-link=static,shared
99
-
100
- @REM Visula studio 2013 64bitの場合
101
- bjam.exe toolset=msvc-12.0 threading=multi address-model=64 architecture=x86 ^
102
- --with-chrono --with-filesystem --with-system --with-thread --with-timer ^
103
- --with-serialization --with-program_options ^
104
- variant=debug,release link=static runtime-link=static,shared
105
-
106
- @REM Visula studio 2013 32bitの場合
107
- bjam.exe toolset=msvc-12.0 threading=multi architecture=x86 ^
108
- --with-chrono --with-filesystem --with-system --with-thread --with-timer ^
109
- --with-serialization --with-program_options ^
110
- variant=debug,release link=static runtime-link=static,shared
111
-
112
- ```
113
-
114
- 4. サーバープラグインとクライアントの両方をビルド
115
- ------------------------------------------------------------
116
- クライアントのみをビルドしたい場合はこのステップを飛ばしてください。
117
-
118
- ### 4-1 MySQLソースコードのダウンロード
119
- [MySQL Community Serverのダウンロードページ](http://dev.mysql.com/downloads/mysql)
120
- からソースコードをダウンロードします。
121
- 「Select Platform」のプルダウンから「Source Code」を選択し、Windows ZIP形式の
122
- ファイルをダウンロードします。
123
-
124
- ダウンロードした圧縮ファイルを解凍します。ここでは、以下のフォルダに保存したも
125
- のとします。
126
- ```
127
- C:\Users\Public\Documents\mysql-5.6.25
128
- ```
129
-
130
-
131
- ### 4-2 Transactd Pluginソースコードのダウンロード
132
- [Transactd Pluginのダウンロードページ](http://www.bizstation.jp/al/transactd/download/index.asp)
133
- からソースコードをダウンロードします。
134
- ソースを展開するフォルダ transactd をMySQLのソースツリー内のpluginフォルダに作成
135
- します。
136
- ```
137
- md C:\Users\Public\Documents\mysql-5.6.25\plugin\transactd
138
- ```
139
- ダウンロードしたソースコードを、上記で作成したtransactdフォルダに展開します。
140
- ここでは、以下のようなフォルダ構造になります。
141
- ```
142
- C:\Users\Public\Documents\mysql-5.6.25\plugin\transactd
143
- ```
144
-
145
-
146
- ### 4-3 MySQLソースコードの修正
147
-
148
- #### 4-3.1 パッチの適用
149
- Transactd Pluginソースコードのpatchディレクトリにmysqlのソースコードを修正する
150
- ためのパッチが含まれています。そのパッチをmysqlのソースディレクトリにコピー
151
- します。(パッチはmysql/mariadbのバージョンごとに異なる名前になっています。
152
- パッチ名のバージョンの部分は合ったものに変更してください。)
153
- ```
154
- cd C:\Users\Public\Documents\mysql-5.6.25
155
- copy plugin\transactd\patch\transactd-win-mysql-5.6.25.patch *
156
- ```
157
-
158
- patchコマンドを使用できる環境(Cygwin、Git Bashなど)があるならば、以下の
159
- コマンドでパッチを適用します。
160
- ```
161
- cd C:\Users\Public\Documents\mysql-5.6.25
162
- patch -p0 -i transactd-win-mysql-5.6.25.patch
163
- ```
164
-
165
- patchコマンドがない場合、[宮坂 賢 氏のGNU patch 2.5.4 (Win32 版)](
166
- http://cetus.sakura.ne.jp/softlab/toolbox1/index.html#difpat)をダウンロードし
167
- 使用します。
168
- ここでは、以下のフォルダに保存したものとします。
169
- ```
170
- C:\Program Files (x86)\patc254w
171
- ```
172
- 以下のコマンドでパッチを適用します。
173
- ```
174
- cd C:\Users\Public\Documents\mysql-5.6.25
175
- "C:\Program Files (x86)\patc254w\patch.exe" -p0 --binary -i transactd-win-mysql-5.6.25.patch
176
- ```
177
-
178
- #### 4-3.2 ソースコードのエンコーディングの修正
179
- 日本語Windows環境でビルドする場合、一部のソースコードのエンコーディングを変更する
180
- 必要があります。以下のファイルをVisual Studioから開き、[名前を付けて保存]-
181
- [上書き保存]の右の▼をクリック-[エンコード付きで保存]を選択し、
182
- 「Unicode (UTF-8 シグネチャ付き)-コードページ 65001」で上書き保存します。
183
-
184
- * sql\sql_locale.cc
185
- * storage\perfschema\unittest\pfs_connect_attr-t.cc
186
-
187
-
188
- ### 4-4 CMakeの実行
189
- Visual Studioコマンドプロンプトを起動して、以下のコマンドを実行します。
190
- ```
191
- @REM Visual studio 2010 64Bitの場合
192
- cd C:\Users\Public\Documents\mysql-5.6.25
193
- md x64
194
- cd x64
195
- cmake .. -G "Visual Studio 10 Win64" ^
196
- -DBOOST_ROOT="C:\boost\boost_1_58_0"
197
-
198
- @REM Visual studio 2013 64Bitの場合
199
- cd C:\Users\Public\Documents\mysql-5.7.8
200
- md x64
201
- cd x64
202
- cmake .. -G "Visual Studio 12 Win64" ^
203
- -DWITH_BOOST="C:\boost\boost_1_58_0" ^
204
- -DBOOST_ROOT="C:\boost\boost_1_58_0"
205
-
206
- ```
207
-
208
-
209
- ### 4-5 ビルド
210
- CMakeが完了すると、以下のソリューションファイルが生成されています。
211
- ```
212
- C:\Users\Public\Documents\mysql-5.6.25\x64\MySQL.sln
213
- ```
214
- MySQL.slnをVisual Studioで開きます。メニューの[ビルド]-[構成マネージャー]から構
215
- 成を「Release」に変更し、[ビルド]-[ソリューションのビルド]をクリックします。
216
-
217
- バイナリは以下のフォルダに出力されます。
218
- ```
219
- C:\Users\Public\Documents\mysql-5.6.25\x64\sql\lib\plugin
220
- C:\Users\Public\Documents\mysql-5.6.25\x64\plugin\transactd\bin
221
- C:\Users\Public\Documents\mysql-5.6.25\x64\plugin\transactd\lib
222
- ```
223
-
224
-
225
-
226
- 5. クライアントのみをビルド
227
- ------------------------------------------------------------
228
- ### 5-1 Transactd Pluginソースコードのダウンロード
229
- [Transactd Pluginのダウンロードページ](http://www.bizstation.jp/al/transactd/download/index.asp)
230
- からソースコードをダウンロードします。
231
-
232
- ここでは、以下のフォルダに展開したとします。
233
- ```
234
- C:\Users\Public\Documents\transactd
235
- ```
236
- (EmbarcaderoのC++BuilderXEシリーズの場合は[5-4 C++BuilderXEシリーズでのビルド]に進んでください。)
237
-
238
-
239
- ### 5-2 CMakeの実行
240
- Visual Studioコマンドプロンプトを起動して、以下のコマンドを実行します。
241
- ```
242
- @REM Visual studio 2010 64Bitの場合
243
- cd C:\Users\Public\Documents\transactd
244
- md x64
245
- cd x64
246
- cmake .. -G "Visual Studio 10 Win64" ^
247
- -DBOOST_ROOT="C:\boost\boost_1_58_0" ^
248
- -DWITH_TRANSACTD_SERVER=OFF -DWITH_TRANSACTD_CLIENTS=ON
249
-
250
- @REM Visual studio 2013 64Bitの場合
251
- cd C:\Users\Public\Documents\transactd
252
- md x64
253
- cd x64
254
- cmake .. -G "Visual Studio 12 Win64" ^
255
- -DBOOST_ROOT="C:\boost\boost_1_58_0" ^
256
- -DWITH_TRANSACTD_SERVER=OFF -DWITH_TRANSACTD_CLIENTS=ON
257
-
258
- ```
259
-
260
-
261
- ### 5-3 ビルド
262
- CMakeが完了すると、以下のソリューションファイル (TransactdClinet.sln)が生成されています。
263
- (Version 2.4.0以前は tdcl.sln)
264
- ```
265
- C:\Users\Public\Documents\transactd\x64\TransactdClinet.sln
266
- ```
267
- TransactdClinet.slnをVisual Studioで開きます。メニューの[ビルド]-[構成マネージャー]から構
268
- 成を「Release」に変更し、[ビルド]-[ソリューションのビルド]をクリックしま
269
- す。
270
-
271
- バイナリは以下のフォルダに出力されます。
272
- ```
273
- C:\Users\Public\Documents\transactd\x64\bin
274
- C:\Users\Public\Documents\transactd\x64\lib
275
- ```
276
-
277
-
278
- ### 5-4 C++BuilderXEシリーズでのビルド
279
- EmbarcaderoのC++BuilderXEシリーズの場合は
280
- ```
281
- C:\Users\Public\Documents\Build\TransactdClient_bcb.groupproj
282
- ```
283
- にてXE以降のコンパイラーでコンパイルできます。
284
-
285
- コンパイルにはコンパイラー付属のboostライブラリがインストールされている必要が
286
- あります。また、C++ Builderの[ツール]-[オプション]-[環境オプション]-[C++ オプション]
287
- -[パスとディレクトリ]の[システムインクルードパス]に
288
- ```
289
- 32Bitの場合 $(CG_BOOST_ROOT)
290
- 64Bitの場合 $(CG_64_BOOST_ROOT)
291
- ```
292
- を追加します。
293
- ビルド構成は、Unicode版/Ansi版 Release/Debug 32Bit/64Bit があります。
294
- 出力は、bin libフォルダに生成されます。64Bitの場合は常に動的RTLとリンクが必要です。
295
-
296
- 以下はバージョンごとの補足事項です。
297
-
298
- 32Bit(すべてのXEバージョン)の場合、boost_program_optionsがコンパイルされていないため、
299
- ```
300
- build\libboost_program_options-bcb1_39\libboost_program_options-bcb-mt-1_39.cbproj
301
- ```
302
- にて事前にlibboost_program_options-bcb-mt-1_39.libを生成してください。
303
- コンパイルの前に、下記のboostのソースの修正が必要です。
304
- ```
305
- ファイル:$(CG_BOOST_ROOT)\boost_1_39\libs\program_options\src\variables_map.cpp
306
- 71行目 :v = variable_value(); --> variable_value vr;v = vr;
307
- 115行目 :m[key] = variable_value(def, true); --> variable_value vr(def, true);m[key] = vr;
308
- ```
309
-
310
- XE2の場合、boost_serializationがコンパイルされていないため、
311
- ```
312
- build\libboost_serialization-bcb-1_39\libboost_boost_serialization-bcb-mt-1_39.cbproj
313
- ```
314
- にて事前にlibboost_serialization-bcb-mt-1_39.libを生成してください。
315
-
316
- XE4 64Bitの場合、コンパイラバージョンがXE3と同じであるため、tdclcppを使用する
317
- アプリケーションの自動リンクでtdclcpp_bc170_64x.libを探そうとします。しかしXE4で
318
- 生成されるdllはtdclcpp_bc180_64x.dllのため、libが見つからずリンクエラーが発生します。
319
- XE4 64Bitでtdclcppとtdclstmtをコンパイルした際には、libのファイル名の180部分を170に
320
- リネームし`tdclcpp_bc180_64x_xx.lib`と`tdclstmt_bc180_64x_xx.lib`にしてください。
321
-
322
- XE6 64Bitの場合、boost_threadのコンパイルが通らないためboostのソースを修正します。
323
- ```
324
- ファイル:$(CG_BOOST_ROOT)\boost_1_50\boost\asio\detail\impl\win_thread.ipp
325
- 52行目: ::QueueUserAPC(apc_function, thread_, 0); --> ::QueueUserAPC((PAPCFUNC)apc_function, thread_, 0);
326
- ```
@@ -1,115 +0,0 @@
1
- ormsrcgen C++ O/Rマッピングソースコードジェネレータ
2
- ===============================================================================
3
- ormsrcgen(32|64) はC++ O/Rマッピングのためのソースコードジェネレータです。
4
-
5
- C++では動的にクラスを定義することはできないため、ソースコードジェネレータで
6
- モデルクラスを生成しコンパイルする形式を採ります。
7
- これを使うとC++で簡単に高速なO/Rマッピングを行うことができます。
8
-
9
-
10
-
11
- はじめに
12
- -------------------------------------------------------------------------------
13
- ジェネレータの関連ファイルは source/global/ormsrcgen/templateに格納されています。
14
- それぞれのファイルの役割を説明します。
15
-
16
- * ormDataClass_template.cpp : C++ モデルクラスのテンプレート
17
- * ormDataClass_template.h : C++ モデルクラスのテンプレート
18
- * ormMapClass_template.cpp : C++ マップクラスのテンプレート
19
- * ormMapClass_template.h : C++ マップクラスのテンプレート
20
- * template.cnf : 設定ファイルのひな形
21
- * fieldNameList_sample.txt : フィールド名変換ファイルのサンプル
22
-
23
- このうち、template.cnfとfieldNameList_sample.txtを必要に応じて編集します。
24
-
25
-
26
-
27
- コマンドラインオプション
28
- -------------------------------------------------------------------------------
29
- コマンドラインオプションは以下の通りです。
30
-
31
- ```
32
- command line options:
33
- -d [ --database_uri ] database uri ex:tdap://hostname/dbname?dbfile=trnasctd_schema
34
- -t [ --table_name ] table name
35
- -c [ --class_name ] class name
36
- -f [ --conf_name ] configuration filename
37
-
38
- -d :データベースを指定します。
39
- -t :生成するモデルのテーブルを指定します。生成はテーブルごとに行います。
40
- -c :-tで指定したテーブルに対応するモデルのクラス名を指定します。
41
- -f :その他の設定項目を記述したテキストファイル(configuration file)です。
42
- ```
43
-
44
- configuration fileは、多くの場合、テーブルが異なっても共通の内容です。ひな形が
45
- `source/global/ormsrcgen/template/template.cnf`として用意されています。
46
- これをコピーして内容を編集します。
47
-
48
-
49
-
50
- configuration fileの書式
51
- -------------------------------------------------------------------------------
52
- * `lang = (language)`
53
-
54
- 生成するコードの言語を指定します。現在のバージョンでは`C++`のみサポートされます。
55
-
56
- * `files = (number of file)`
57
-
58
- 1つのモデルのために必要なテンプレートファイルの数を指定します。C++の場合は`2`です。
59
-
60
- * `file1 = (file path) file2 = (file path) ... fileN = (file path)`
61
-
62
- `files =`で指定した数のテンプレートファイルのパスを指定します。
63
- デフォルトでは`file1 = ormDataClass_template` `file2 = ormMapClass_template`
64
- となっていますが、実際に使用する際は絶対パスで指定してください。
65
-
66
- * `saveDir = (output dir)`
67
-
68
- 生成したソースコードを保存するフォルダを指定します。
69
-
70
- * `setPrefix = (setter prefix)`
71
-
72
- クラスのメンバ変数に値をセットするアクセスメソッド名のプレフィックスを指定します。
73
- 例えば、`setPrefix = set`とした場合、`name`というフィールドの値をセットする
74
- メンバ関数は以下のようになります。
75
-
76
- ```
77
- setName(const char* v)
78
- ```
79
-
80
- * `getPrefix = (getter prefix)`
81
-
82
- setPrefixと同様に値の取得メソッドにつけられるプレフィックスを指定します。
83
-
84
- * `externWord = (extern keyword)`
85
-
86
- 出力されたクラスをDLLやSOなどのライブラリに含めて共有する場合は、class 宣言の後ろに
87
- エクスポートのためのキーワードを付加できます。
88
-
89
- ```
90
- class $externWord someModel
91
- {
92
- ...
93
- };
94
- ```
95
-
96
- * `fieldRenameList = (alias list file)`
97
-
98
- 通常はテーブルに含まれるフィールド名がそのままクラスのメンバ変数名になります。
99
- 異なる名前に変更したい場合は、このfieldRenameListで変換リストの書かれたテキスト
100
- ファイルを指定できます。変換リストは以下のように、変換前=変換後の形式で指定します。
101
-
102
- ```
103
- customer_id=id
104
- customer_name=name
105
- ```
106
-
107
- * `name_space = (namespace of model class)`
108
-
109
- モデルクラスの名前空間を指定します。
110
-
111
- * `name_space_map = (namespace of map class)`
112
-
113
- C++の場合、モデルクラスとともに、テーブルとクラスの復元と保存をマッピングする
114
- mapクラスも同時に生成されます。
115
- name_space_mapはそのマップクラスの名前空間を指定します。