ibm_db 2.5.27-x86-mingw32 → 2.6.0-x86-mingw32

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +5 -0
  3. data/MANIFEST +14 -14
  4. data/README +225 -225
  5. data/ext/Makefile.nt32 +181 -181
  6. data/ext/Makefile.nt32.191 +212 -212
  7. data/ext/extconf.rb +264 -264
  8. data/ext/extconf_MacOS.rb +269 -0
  9. data/ext/ibm_db.c +1 -1
  10. data/ext/ruby_ibm_db.h +241 -241
  11. data/init.rb +41 -41
  12. data/lib/IBM_DB.rb +27 -3
  13. data/lib/active_record/connection_adapters/ibm_db_adapter.rb +3290 -3290
  14. data/lib/active_record/connection_adapters/ibmdb_adapter.rb +1 -1
  15. data/lib/active_record/vendor/db2-i5-zOS.yaml +328 -328
  16. data/lib/mswin32/ibm_db.rb +104 -20
  17. data/lib/mswin32/rb19x/ibm_db.so +0 -0
  18. data/lib/mswin32/rb21x/i386/ibm_db.so +0 -0
  19. data/lib/mswin32/rb22x/i386/ibm_db.so +0 -0
  20. data/lib/mswin32/rb2x/i386/ibm_db.so +0 -0
  21. data/test/cases/adapter_test.rb +207 -207
  22. data/test/cases/associations/belongs_to_associations_test.rb +711 -711
  23. data/test/cases/associations/cascaded_eager_loading_test.rb +181 -181
  24. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +851 -851
  25. data/test/cases/associations/join_model_test.rb +743 -743
  26. data/test/cases/attribute_methods_test.rb +822 -822
  27. data/test/cases/base_test.rb +2133 -2133
  28. data/test/cases/calculations_test.rb +482 -482
  29. data/test/cases/migration_test.rb +2408 -2408
  30. data/test/cases/persistence_test.rb +642 -642
  31. data/test/cases/query_cache_test.rb +257 -257
  32. data/test/cases/relations_test.rb +1182 -1182
  33. data/test/cases/schema_dumper_test.rb +256 -256
  34. data/test/cases/transaction_callbacks_test.rb +300 -300
  35. data/test/cases/validations/uniqueness_validation_test.rb +299 -299
  36. data/test/cases/xml_serialization_test.rb +408 -408
  37. data/test/config.yml +154 -154
  38. data/test/connections/native_ibm_db/connection.rb +43 -43
  39. data/test/ibm_db_test.rb +24 -24
  40. data/test/models/warehouse_thing.rb +4 -4
  41. data/test/schema/schema.rb +751 -751
  42. metadata +31 -16
data/ext/extconf.rb CHANGED
@@ -1,264 +1,264 @@
1
- #!/usr/bin/env ruby
2
- require 'net/http'
3
- require 'open-uri'
4
- require 'rubygems/package'
5
- require 'zlib'
6
- require 'fileutils'
7
-
8
-
9
- # +----------------------------------------------------------------------+
10
- # | Licensed Materials - Property of IBM |
11
- # | |
12
- # | (C) Copyright IBM Corporation 2006 - 2015 |
13
- # +----------------------------------------------------------------------+
14
-
15
- TAR_LONGLINK = '././@LongLink'
16
-
17
- WIN = RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/
18
-
19
- # use ENV['IBM_DB_HOME'] or latest db2 you can find
20
- IBM_DB_HOME = ENV['IBM_DB_HOME']
21
-
22
- machine_bits = ['ibm'].pack('p').size * 8
23
-
24
- is64Bit = true
25
-
26
- if machine_bits == 64
27
- is64Bit = true
28
- puts "Detected 64-bit Ruby\n "
29
- else
30
- is64Bit = false
31
- puts "Detected 32-bit Ruby\n "
32
- end
33
-
34
- module Kernel
35
- def suppress_warnings
36
- origVerbosity = $VERBOSE
37
- $VERBOSE = nil
38
- result = yield
39
- $VERBOSE = origVerbosity
40
- return result
41
- end
42
- end
43
-
44
- DOWNLOADLINK = ''
45
-
46
- if(RUBY_PLATFORM =~ /aix/i)
47
- #AIX
48
- if(is64Bit)
49
- puts "Detected platform - aix 64"
50
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/aix64_odbc_cli.tar.gz"
51
- else
52
- puts "Detected platform - aix 32"
53
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/aix32_odbc_cli.tar.gz"
54
- end
55
- elsif (RUBY_PLATFORM =~ /powerpc/ || RUBY_PLATFORM =~ /ppc/)
56
- #PPC
57
- if(is64Bit)
58
- puts "Detected platform - ppc linux 64"
59
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ppc64_odbc_cli.tar.gz"
60
- else
61
- puts "Detected platform - ppc linux 64"
62
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ppc32_odbc_cli.tar.gz"
63
- end
64
- elsif (RUBY_PLATFORM =~ /linux/)
65
- #x86
66
- if(is64Bit)
67
- puts "Detected platform - linux x86 64"
68
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz"
69
- else
70
- puts "Detected platform - linux 32"
71
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxia32_odbc_cli.tar.gz"
72
- end
73
- elsif (RUBY_PLATFORM =~ /sparc/i)
74
- #Solaris
75
- if(is64Bit)
76
- puts "Detected platform - sun sparc64"
77
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/sun64_odbc_cli.tar.gz"
78
- else
79
- puts "Detected platform - sun sparc32"
80
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/sun32_odbc_cli.tar.gz"
81
- end
82
- elsif (RUBY_PLATFORM =~ /solaris/i)
83
- if(is64Bit)
84
- puts "Detected platform - sun amd64"
85
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/sunamd64_odbc_cli.tar.gz"
86
- else
87
- puts "Detected platform - sun amd32"
88
- DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/sunamd32_odbc_cli.tar.gz"
89
- end
90
- end
91
-
92
- def downloadCLIPackage(destination, link = nil)
93
- if(link.nil?)
94
- downloadLink = DOWNLOADLINK
95
- else
96
- downloadLink = link
97
- end
98
-
99
- uri = URI.parse(downloadLink)
100
- filename = "#{destination}/clidriver.tar.gz"
101
-
102
- headers = {
103
- 'Accept-Encoding' => 'identity',
104
- }
105
-
106
- request = Net::HTTP::Get.new(uri.request_uri, headers)
107
- http = Net::HTTP.new(uri.host, uri.port)
108
- response = http.request(request)
109
-
110
- f = open(filename, 'wb')
111
- f.write(response.body)
112
- f.close()
113
-
114
- filename
115
- end
116
-
117
- def untarCLIPackage(archive,destination)
118
- Gem::Package::TarReader.new( Zlib::GzipReader.open(archive) ) do |tar|
119
- tar.each do |entry|
120
- file = nil
121
- if entry.full_name == $TAR_LONGLINK
122
- file = File.join destination, entry.read.strip
123
- next
124
- end
125
- file ||= File.join destination, entry.full_name
126
- if entry.directory?
127
- File.delete file if File.file? file
128
- FileUtils.mkdir_p file, :mode => entry.header.mode, :verbose => false
129
- elsif entry.file?
130
- FileUtils.rm_rf file if File.directory? file
131
- File.open file, "wb" do |f|
132
- f.print entry.read
133
- end
134
- FileUtils.chmod entry.header.mode, file, :verbose => false
135
- elsif entry.header.typeflag == '2' #Symlink!
136
- File.symlink entry.header.linkname, file
137
- end
138
- end
139
- end
140
- end
141
-
142
- if(IBM_DB_HOME == nil || IBM_DB_HOME == '')
143
- IBM_DB_INCLUDE = ENV['IBM_DB_INCLUDE']
144
- IBM_DB_LIB = ENV['IBM_DB_LIB']
145
-
146
- if( ( (IBM_DB_INCLUDE.nil?) || (IBM_DB_LIB.nil?) ) ||
147
- ( IBM_DB_INCLUDE == '' || IBM_DB_LIB == '' )
148
- )
149
- if(!DOWNLOADLINK.nil? && !DOWNLOADLINK.empty?)
150
- puts "Environment variable IBM_DB_HOME is not set. Downloading and setting up the DB2 client driver\n"
151
- destination = "#{File.expand_path(File.dirname(File.dirname(__FILE__)))}/../lib"
152
-
153
- archive = downloadCLIPackage(destination)
154
- untarCLIPackage(archive,destination)
155
-
156
- IBM_DB_HOME="#{destination}/clidriver"
157
-
158
- IBM_DB_INCLUDE = "#{IBM_DB_HOME}/include"
159
- IBM_DB_LIB="#{IBM_DB_HOME}/lib"
160
- else
161
- puts "Environment variable IBM_DB_HOME is not set. Set it to your DB2/IBM_Data_Server_Driver installation directory and retry gem install.\n "
162
- exit 1
163
- end
164
- end
165
- else
166
- IBM_DB_INCLUDE = "#{IBM_DB_HOME}/include"
167
-
168
- if(is64Bit)
169
- IBM_DB_LIB="#{IBM_DB_HOME}/lib64"
170
- else
171
- IBM_DB_LIB="#{IBM_DB_HOME}/lib32"
172
- end
173
- end
174
-
175
- if( !(File.directory?(IBM_DB_LIB)) )
176
- suppress_warnings{IBM_DB_LIB = "#{IBM_DB_HOME}/lib"}
177
- if( !(File.directory?(IBM_DB_LIB)) )
178
- puts "Cannot find #{IBM_DB_LIB} directory. Check if you have set the IBM_DB_HOME environment variable's value correctly\n "
179
- exit 1
180
- end
181
- notifyString = "Detected usage of IBM Data Server Driver package. Ensure you have downloaded "
182
-
183
- if(is64Bit)
184
- notifyString = notifyString + "64-bit package "
185
- else
186
- notifyString = notifyString + "32-bit package "
187
- end
188
- notifyString = notifyString + "of IBM_Data_Server_Driver and retry the 'gem install ibm_db' command\n "
189
-
190
- puts notifyString
191
- end
192
-
193
- if( !(File.directory?(IBM_DB_INCLUDE)) )
194
- puts " #{IBM_DB_HOME}/include folder not found. Check if you have set the IBM_DB_HOME environment variable's value correctly\n "
195
- exit 1
196
- end
197
-
198
- require 'mkmf'
199
-
200
- dir_config('IBM_DB',IBM_DB_INCLUDE,IBM_DB_LIB)
201
-
202
- def crash(str)
203
- printf(" extconf failure: %s\n", str)
204
- exit 1
205
- end
206
-
207
- if( RUBY_VERSION =~ /1.9/ || RUBY_VERSION =~ /2./)
208
- create_header('gil_release_version')
209
- create_header('unicode_support_version')
210
- end
211
-
212
- unless (have_library(WIN ? 'db2cli' : 'db2','SQLConnect') or find_library(WIN ? 'db2cli' : 'db2','SQLConnect', IBM_DB_LIB))
213
- crash(<<EOL)
214
- Unable to locate libdb2.so/a under #{IBM_DB_LIB}
215
-
216
- Follow the steps below and retry
217
-
218
- Step 1: - Install IBM DB2 Universal Database Server/Client
219
-
220
- step 2: - Set the environment variable IBM_DB_HOME as below
221
-
222
- (assuming bash shell)
223
-
224
- export IBM_DB_HOME=<DB2/IBM_Data_Server_Driver installation directory> #(Eg: export IBM_DB_HOME=/opt/ibm/db2/v10)
225
-
226
- step 3: - Retry gem install
227
-
228
- EOL
229
- end
230
-
231
- if(RUBY_VERSION =~ /2./)
232
- require 'rbconfig'
233
- end
234
-
235
- alias :libpathflag0 :libpathflag
236
- def libpathflag(libpath)
237
- if(RUBY_VERSION =~ /2./)
238
- ldflags = case RbConfig::CONFIG["arch"]
239
- when /solaris2/
240
- libpath[0..-2].map {|path| " -R#{path}"}.join
241
- when /linux/
242
- libpath[0..-2].map {|path| " -R#{path} "}.join
243
- else
244
- ""
245
- end
246
- else
247
- ldflags = case Config::CONFIG["arch"]
248
- when /solaris2/
249
- libpath[0..-2].map {|path| " -R#{path}"}.join
250
- when /linux/
251
- libpath[0..-2].map {|path| " -R#{path} "}.join
252
- else
253
- ""
254
- end
255
- end
256
-
257
- #libpathflag0 + " '-Wl,-R$$ORIGIN/clidriver/lib #{ldflags}' "
258
- libpathflag0 + " '-Wl,-R$$ORIGIN/clidriver/lib' "
259
- end
260
-
261
- have_header('gil_release_version')
262
- have_header('unicode_support_version')
263
-
264
- create_makefile('ibm_db')
1
+ #!/usr/bin/env ruby
2
+ require 'net/http'
3
+ require 'open-uri'
4
+ require 'rubygems/package'
5
+ require 'zlib'
6
+ require 'fileutils'
7
+
8
+
9
+ # +----------------------------------------------------------------------+
10
+ # | Licensed Materials - Property of IBM |
11
+ # | |
12
+ # | (C) Copyright IBM Corporation 2006 - 2015 |
13
+ # +----------------------------------------------------------------------+
14
+
15
+ TAR_LONGLINK = '././@LongLink'
16
+
17
+ WIN = RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/
18
+
19
+ # use ENV['IBM_DB_HOME'] or latest db2 you can find
20
+ IBM_DB_HOME = ENV['IBM_DB_HOME']
21
+
22
+ machine_bits = ['ibm'].pack('p').size * 8
23
+
24
+ is64Bit = true
25
+
26
+ if machine_bits == 64
27
+ is64Bit = true
28
+ puts "Detected 64-bit Ruby\n "
29
+ else
30
+ is64Bit = false
31
+ puts "Detected 32-bit Ruby\n "
32
+ end
33
+
34
+ module Kernel
35
+ def suppress_warnings
36
+ origVerbosity = $VERBOSE
37
+ $VERBOSE = nil
38
+ result = yield
39
+ $VERBOSE = origVerbosity
40
+ return result
41
+ end
42
+ end
43
+
44
+ DOWNLOADLINK = ''
45
+
46
+ if(RUBY_PLATFORM =~ /aix/i)
47
+ #AIX
48
+ if(is64Bit)
49
+ puts "Detected platform - aix 64"
50
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/aix64_odbc_cli.tar.gz"
51
+ else
52
+ puts "Detected platform - aix 32"
53
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/aix32_odbc_cli.tar.gz"
54
+ end
55
+ elsif (RUBY_PLATFORM =~ /powerpc/ || RUBY_PLATFORM =~ /ppc/)
56
+ #PPC
57
+ if(is64Bit)
58
+ puts "Detected platform - ppc linux 64"
59
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ppc64_odbc_cli.tar.gz"
60
+ else
61
+ puts "Detected platform - ppc linux 64"
62
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ppc32_odbc_cli.tar.gz"
63
+ end
64
+ elsif (RUBY_PLATFORM =~ /linux/)
65
+ #x86
66
+ if(is64Bit)
67
+ puts "Detected platform - linux x86 64"
68
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz"
69
+ else
70
+ puts "Detected platform - linux 32"
71
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxia32_odbc_cli.tar.gz"
72
+ end
73
+ elsif (RUBY_PLATFORM =~ /sparc/i)
74
+ #Solaris
75
+ if(is64Bit)
76
+ puts "Detected platform - sun sparc64"
77
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/sun64_odbc_cli.tar.gz"
78
+ else
79
+ puts "Detected platform - sun sparc32"
80
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/sun32_odbc_cli.tar.gz"
81
+ end
82
+ elsif (RUBY_PLATFORM =~ /solaris/i)
83
+ if(is64Bit)
84
+ puts "Detected platform - sun amd64"
85
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/sunamd64_odbc_cli.tar.gz"
86
+ else
87
+ puts "Detected platform - sun amd32"
88
+ DOWNLOADLINK = "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/sunamd32_odbc_cli.tar.gz"
89
+ end
90
+ end
91
+
92
+ def downloadCLIPackage(destination, link = nil)
93
+ if(link.nil?)
94
+ downloadLink = DOWNLOADLINK
95
+ else
96
+ downloadLink = link
97
+ end
98
+
99
+ uri = URI.parse(downloadLink)
100
+ filename = "#{destination}/clidriver.tar.gz"
101
+
102
+ headers = {
103
+ 'Accept-Encoding' => 'identity',
104
+ }
105
+
106
+ request = Net::HTTP::Get.new(uri.request_uri, headers)
107
+ http = Net::HTTP.new(uri.host, uri.port)
108
+ response = http.request(request)
109
+
110
+ f = open(filename, 'wb')
111
+ f.write(response.body)
112
+ f.close()
113
+
114
+ filename
115
+ end
116
+
117
+ def untarCLIPackage(archive,destination)
118
+ Gem::Package::TarReader.new( Zlib::GzipReader.open(archive) ) do |tar|
119
+ tar.each do |entry|
120
+ file = nil
121
+ if entry.full_name == $TAR_LONGLINK
122
+ file = File.join destination, entry.read.strip
123
+ next
124
+ end
125
+ file ||= File.join destination, entry.full_name
126
+ if entry.directory?
127
+ File.delete file if File.file? file
128
+ FileUtils.mkdir_p file, :mode => entry.header.mode, :verbose => false
129
+ elsif entry.file?
130
+ FileUtils.rm_rf file if File.directory? file
131
+ File.open file, "wb" do |f|
132
+ f.print entry.read
133
+ end
134
+ FileUtils.chmod entry.header.mode, file, :verbose => false
135
+ elsif entry.header.typeflag == '2' #Symlink!
136
+ File.symlink entry.header.linkname, file
137
+ end
138
+ end
139
+ end
140
+ end
141
+
142
+ if(IBM_DB_HOME == nil || IBM_DB_HOME == '')
143
+ IBM_DB_INCLUDE = ENV['IBM_DB_INCLUDE']
144
+ IBM_DB_LIB = ENV['IBM_DB_LIB']
145
+
146
+ if( ( (IBM_DB_INCLUDE.nil?) || (IBM_DB_LIB.nil?) ) ||
147
+ ( IBM_DB_INCLUDE == '' || IBM_DB_LIB == '' )
148
+ )
149
+ if(!DOWNLOADLINK.nil? && !DOWNLOADLINK.empty?)
150
+ puts "Environment variable IBM_DB_HOME is not set. Downloading and setting up the DB2 client driver\n"
151
+ destination = "#{File.expand_path(File.dirname(File.dirname(__FILE__)))}/../lib"
152
+
153
+ archive = downloadCLIPackage(destination)
154
+ untarCLIPackage(archive,destination)
155
+
156
+ IBM_DB_HOME="#{destination}/clidriver"
157
+
158
+ IBM_DB_INCLUDE = "#{IBM_DB_HOME}/include"
159
+ IBM_DB_LIB="#{IBM_DB_HOME}/lib"
160
+ else
161
+ puts "Environment variable IBM_DB_HOME is not set. Set it to your DB2/IBM_Data_Server_Driver installation directory and retry gem install.\n "
162
+ exit 1
163
+ end
164
+ end
165
+ else
166
+ IBM_DB_INCLUDE = "#{IBM_DB_HOME}/include"
167
+
168
+ if(is64Bit)
169
+ IBM_DB_LIB="#{IBM_DB_HOME}/lib64"
170
+ else
171
+ IBM_DB_LIB="#{IBM_DB_HOME}/lib32"
172
+ end
173
+ end
174
+
175
+ if( !(File.directory?(IBM_DB_LIB)) )
176
+ suppress_warnings{IBM_DB_LIB = "#{IBM_DB_HOME}/lib"}
177
+ if( !(File.directory?(IBM_DB_LIB)) )
178
+ puts "Cannot find #{IBM_DB_LIB} directory. Check if you have set the IBM_DB_HOME environment variable's value correctly\n "
179
+ exit 1
180
+ end
181
+ notifyString = "Detected usage of IBM Data Server Driver package. Ensure you have downloaded "
182
+
183
+ if(is64Bit)
184
+ notifyString = notifyString + "64-bit package "
185
+ else
186
+ notifyString = notifyString + "32-bit package "
187
+ end
188
+ notifyString = notifyString + "of IBM_Data_Server_Driver and retry the 'gem install ibm_db' command\n "
189
+
190
+ puts notifyString
191
+ end
192
+
193
+ if( !(File.directory?(IBM_DB_INCLUDE)) )
194
+ puts " #{IBM_DB_HOME}/include folder not found. Check if you have set the IBM_DB_HOME environment variable's value correctly\n "
195
+ exit 1
196
+ end
197
+
198
+ require 'mkmf'
199
+
200
+ dir_config('IBM_DB',IBM_DB_INCLUDE,IBM_DB_LIB)
201
+
202
+ def crash(str)
203
+ printf(" extconf failure: %s\n", str)
204
+ exit 1
205
+ end
206
+
207
+ if( RUBY_VERSION =~ /1.9/ || RUBY_VERSION =~ /2./)
208
+ create_header('gil_release_version')
209
+ create_header('unicode_support_version')
210
+ end
211
+
212
+ unless (have_library(WIN ? 'db2cli' : 'db2','SQLConnect') or find_library(WIN ? 'db2cli' : 'db2','SQLConnect', IBM_DB_LIB))
213
+ crash(<<EOL)
214
+ Unable to locate libdb2.so/a under #{IBM_DB_LIB}
215
+
216
+ Follow the steps below and retry
217
+
218
+ Step 1: - Install IBM DB2 Universal Database Server/Client
219
+
220
+ step 2: - Set the environment variable IBM_DB_HOME as below
221
+
222
+ (assuming bash shell)
223
+
224
+ export IBM_DB_HOME=<DB2/IBM_Data_Server_Driver installation directory> #(Eg: export IBM_DB_HOME=/opt/ibm/db2/v10)
225
+
226
+ step 3: - Retry gem install
227
+
228
+ EOL
229
+ end
230
+
231
+ if(RUBY_VERSION =~ /2./)
232
+ require 'rbconfig'
233
+ end
234
+
235
+ alias :libpathflag0 :libpathflag
236
+ def libpathflag(libpath)
237
+ if(RUBY_VERSION =~ /2./)
238
+ ldflags = case RbConfig::CONFIG["arch"]
239
+ when /solaris2/
240
+ libpath[0..-2].map {|path| " -R#{path}"}.join
241
+ when /linux/
242
+ libpath[0..-2].map {|path| " -R#{path} "}.join
243
+ else
244
+ ""
245
+ end
246
+ else
247
+ ldflags = case Config::CONFIG["arch"]
248
+ when /solaris2/
249
+ libpath[0..-2].map {|path| " -R#{path}"}.join
250
+ when /linux/
251
+ libpath[0..-2].map {|path| " -R#{path} "}.join
252
+ else
253
+ ""
254
+ end
255
+ end
256
+
257
+ #libpathflag0 + " '-Wl,-R$$ORIGIN/clidriver/lib #{ldflags}' "
258
+ libpathflag0 + " '-Wl,-R$$ORIGIN/clidriver/lib' "
259
+ end
260
+
261
+ have_header('gil_release_version')
262
+ have_header('unicode_support_version')
263
+
264
+ create_makefile('ibm_db')