@@ -12,19 +12,16 @@ Rake::ExtensionTask.new("mysql2", gemspec) do |ext|
1212 CLEAN . include "#{ ext . lib_dir } /*.#{ RbConfig ::CONFIG [ 'DLEXT' ] } "
1313
1414 if RUBY_PLATFORM =~ /mswin|mingw/ then
15- Rake ::Task [ 'vendor:mysql' ] . invoke
1615 # Expand the path because the build dir is 3-4 levels deep in tmp/platform/version/
1716 connector_dir = File . expand_path ( "../../vendor/#{ vendor_mysql_dir } " , __FILE__ )
1817 ext . config_options = [ "--with-mysql-dir=#{ connector_dir } " ]
1918 else
20- Rake ::Task [ 'vendor:mysql' ] . invoke ( 'x86' )
21- Rake ::Task [ 'vendor:mysql' ] . invoke ( 'x64' )
2219 ext . cross_compile = true
2320 ext . cross_platform = [ 'x86-mingw32' , 'x86-mswin32-60' , 'x64-mingw32' ]
24- ext . cross_config_options = {
25- 'x86-mingw32' => [ "--with-mysql-dir=" + File . expand_path ( "../../vendor/#{ vendor_mysql_dir ( 'x86' ) } " , __FILE__ ) ] ,
26- 'x86-mswin32-60' => [ "--with-mysql-dir=" + File . expand_path ( "../../vendor/#{ vendor_mysql_dir ( 'x86' ) } " , __FILE__ ) ] ,
27- 'x64-mingw32' => [ "--with-mysql-dir=" + File . expand_path ( "../../vendor/#{ vendor_mysql_dir ( 'x64' ) } " , __FILE__ ) ] ,
21+ ext . cross_config_options << {
22+ 'x86-mingw32' => "--with-mysql-dir=" + File . expand_path ( "../../vendor/#{ vendor_mysql_dir ( 'x86' ) } " , __FILE__ ) ,
23+ 'x86-mswin32-60' => "--with-mysql-dir=" + File . expand_path ( "../../vendor/#{ vendor_mysql_dir ( 'x86' ) } " , __FILE__ ) ,
24+ 'x64-mingw32' => "--with-mysql-dir=" + File . expand_path ( "../../vendor/#{ vendor_mysql_dir ( 'x64' ) } " , __FILE__ ) ,
2825 }
2926
3027 ext . cross_compiling do |spec |
7673if RUBY_PLATFORM =~ /mingw|mswin/ then
7774 Rake ::Task [ 'compile' ] . prerequisites . unshift 'vendor:mysql'
7875 Rake ::Task [ 'compile' ] . prerequisites . unshift 'devkit'
76+ else
77+ if Rake ::Task . tasks . map { |t | t . name } . include? 'cross'
78+ Rake ::Task [ 'cross' ] . prerequisites . unshift 'vendor:mysql:cross'
79+ end
7980end
0 commit comments