rhodes 2.2.5.beta.1 → 2.2.5.beta.2

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/CHANGELOG CHANGED
@@ -1,5 +1,6 @@
1
1
  ## 2.2.5
2
2
  * support iPhone and iPad 4.2
3
+ * support Android SDK r08 and NDK r5
3
4
  * support Blackberry 6
4
5
  * support Samsung Galaxy
5
6
  * GPS stops by timeout on Android
@@ -7,6 +8,7 @@
7
8
  * NativeView on Android and Windows Mobile
8
9
  * Tabbar badge for iPhone
9
10
  * sms link fix for Blackberry
11
+ * fix issue with crash in case of exception in AppApplication.initialize
10
12
 
11
13
  ## 2.2.4
12
14
  * Launch external browser
@@ -1,12 +1,16 @@
1
1
  require 'fileutils'
2
2
 
3
- USE_STLPORT = true
4
-
5
-
6
3
  def build_extension(name, arch, src_files)
7
4
  objects = []
8
5
  mkdir_p $tempdir unless File.exists? $tempdir
9
6
 
7
+ use_own_stlport = false
8
+ $std_includes = File.join ENV['ANDROID_NDK'], "sources", "cxx-stl", "stlport", "stlport"
9
+ unless File.directory? $std_includes
10
+ $stlport_includes = "#{$rootdir}/platform/shared/stlport/stlport"
11
+ use_own_stlport = true
12
+ end
13
+
10
14
  #Dir.glob("*.c").each do |f|
11
15
  src_files.each do |f|
12
16
  objname = File.join( $tempdir, File.basename( f.gsub(/\.c$/, '.o') ) )
@@ -17,12 +21,13 @@ def build_extension(name, arch, src_files)
17
21
  args << "-I#{$rootdir}/platform/shared/ruby/include"
18
22
  args << "-I#{$rootdir}/platform/shared"
19
23
 
20
- args << "-D__SGI_STL_INTERNAL_PAIR_H" if USE_STLPORT
21
- args << "-D__NEW__" if USE_STLPORT
24
+ args << "-I#{$std_includes}" unless $std_includes.nil?
25
+ args << "-D__NEW__" if use_own_stlport
26
+ args << "-I#{$stlport_includes}" if use_own_stlport
27
+
22
28
  args << "-I#{$rootdir}/platform/shared/ruby/linux"
23
29
  args << "-I#{$rootdir}/platform/shared/ruby/generated"
24
30
  args << "-I#{$rootdir}/platform/android/Rhodes/jni/include"
25
- args << "-I#{$rootdir}/platform/shared/stlport/stlport" if USE_STLPORT
26
31
 
27
32
  cc_compile f, $tempdir, args or exit 1
28
33
 
@@ -67,15 +67,31 @@ module Rho
67
67
  #end
68
68
 
69
69
  def init_app
70
- get_app(APPNAME)
70
+ puts "init_app"
71
+ begin
72
+ get_app(APPNAME)
73
+ rescue Exception => e
74
+ trace_msg = e.backtrace.join("\n")
75
+ puts 'Application initialize failed: ' + e.inspect + ";Trace: #{trace_msg}"
76
+ end
71
77
  end
72
78
 
73
79
  def activate_app
74
- get_app(APPNAME).on_activate_app
80
+ begin
81
+ get_app(APPNAME).on_activate_app
82
+ rescue Exception => e
83
+ trace_msg = e.backtrace.join("\n")
84
+ puts 'Application activate failed: ' + e.inspect + ";Trace: #{trace_msg}"
85
+ end
75
86
  end
76
87
 
77
88
  def deactivate_app
78
- get_app(APPNAME).on_deactivate_app
89
+ begin
90
+ get_app(APPNAME).on_deactivate_app
91
+ rescue Exception => e
92
+ trace_msg = e.backtrace.join("\n")
93
+ puts 'Application activate failed: ' + e.inspect + ";Trace: #{trace_msg}"
94
+ end
79
95
  end
80
96
 
81
97
  # make sure we close the database file
@@ -117,11 +133,12 @@ module Rho
117
133
  Rhom::RhomObjectFactory.init_object(modelName)
118
134
  require str
119
135
 
120
- #puts "model name: #{modelName}"
136
+ puts "model name: #{modelName}"
121
137
 
122
138
  modelClass = nil
123
139
  modelClass = Object.const_get(modelName) if Object.const_defined?(modelName)
124
140
  if modelClass
141
+ puts "model class found"
125
142
  if modelClass.respond_to?( :get_model_params )
126
143
  Rho::RhoConfig::add_source(modelName,modelClass.get_model_params())
127
144
  modelClass.reset_model_params()
@@ -30,5 +30,6 @@ begin
30
30
  puts 'RHO loaded'
31
31
  Rho::RHO.new
32
32
  rescue Exception => e
33
- puts e.message
34
- end
33
+ trace_msg = e.backtrace.join("\n")
34
+ puts 'Create RHO framework failed: ' + e.inspect + ";Trace: #{trace_msg}"
35
+ end
@@ -2,12 +2,12 @@
2
2
  require File.dirname(__FILE__) + '/androidcommon.rb'
3
3
  require 'pathname'
4
4
 
5
- USE_STLPORT = true
5
+ USE_OWN_STLPORT = false
6
6
  USE_TRACES = false
7
7
 
8
8
  ANDROID_API_LEVEL_TO_MARKET_VERSION = {}
9
9
  ANDROID_MARKET_VERSION_TO_API_LEVEL = {}
10
- {2 => "1.1", 3 => "1.5", 4 => "1.6", 5 => "2.0", 6 => "2.0.1", 7 => "2.1", 8 => "2.2"}.each do |k,v|
10
+ {2 => "1.1", 3 => "1.5", 4 => "1.6", 5 => "2.0", 6 => "2.0.1", 7 => "2.1", 8 => "2.2", 9 => "2.3"}.each do |k,v|
11
11
  ANDROID_API_LEVEL_TO_MARKET_VERSION[k] = v
12
12
  ANDROID_MARKET_VERSION_TO_API_LEVEL[v] = k
13
13
  end
@@ -352,10 +352,13 @@ namespace "config" do
352
352
  $stdout.flush
353
353
 
354
354
  $dx = File.join( $androidsdkpath, "platforms", $androidplatform, "tools", "dx" + $bat_ext )
355
+ $dx = File.join( $androidsdkpath, "platform-tools", "dx" + $bat_ext ) unless File.exists? $dx
355
356
  $aapt = File.join( $androidsdkpath, "platforms", $androidplatform, "tools", "aapt" + $exe_ext )
357
+ $aapt = File.join( $androidsdkpath, "platform-tools", "aapt" + $exe_ext ) unless File.exists? $aapt
356
358
  $apkbuilder = File.join( $androidsdkpath, "tools", "apkbuilder" + $bat_ext )
357
359
  $androidbin = File.join( $androidsdkpath, "tools", "android" + $bat_ext )
358
360
  $adb = File.join( $androidsdkpath, "tools", "adb" + $exe_ext )
361
+ $adb = File.join( $androidsdkpath, "platform-tools", "adb" + $exe_ext ) unless File.exists? $adb
359
362
  $zipalign = File.join( $androidsdkpath, "tools", "zipalign" + $exe_ext )
360
363
  $androidjar = File.join($androidsdkpath, "platforms", $androidplatform, "android.jar")
361
364
 
@@ -468,7 +471,11 @@ namespace "config" do
468
471
 
469
472
  setup_ndk($androidndkpath, ANDROID_API_LEVEL)
470
473
 
471
- $stlport_includes = File.join $shareddir, "stlport", "stlport"
474
+ $std_includes = File.join $androidndkpath, "sources", "cxx-stl", "stlport", "stlport"
475
+ unless File.directory? $std_includes
476
+ $stlport_includes = File.join $shareddir, "stlport", "stlport"
477
+ USE_OWN_STLPORT = true
478
+ end
472
479
 
473
480
  $native_libs = ["sqlite", "curl", "stlport", "ruby", "json", "rhocommon", "rhodb", "rholog", "rhosync", "rhomain"]
474
481
 
@@ -480,11 +487,11 @@ namespace "config" do
480
487
  $objdir = {}
481
488
  $libname = {}
482
489
  $native_libs.each do |x|
483
- $objdir[x] = File.join($rhobindir, $confdir, $ndkgccver, "lib" + x)
484
- $libname[x] = File.join($rhobindir, $confdir, $ndkgccver, "lib" + x + ".a")
490
+ $objdir[x] = File.join($rhobindir, $confdir, $ndkabi, $ndkgccver, "lib" + x)
491
+ $libname[x] = File.join($rhobindir, $confdir, $ndkabi, $ndkgccver, "lib" + x + ".a")
485
492
  end
486
493
 
487
- $extensionsdir = $bindir + "/libs/" + $confdir + "/" + $ndkgccver + "/extensions"
494
+ $extensionsdir = $bindir + "/libs/" + $confdir + "/" + $ndkabi + "/" + $ndkgccver + "/extensions"
488
495
 
489
496
  #$app_config["extensions"] = [] if $app_config["extensions"].nil?
490
497
  #$app_config["extensions"] = [] unless $app_config["extensions"].is_a? Array
@@ -643,8 +650,9 @@ namespace "build" do
643
650
  args << "-I#{srcdir}"
644
651
  args << "-I#{srcdir}/.."
645
652
  args << "-I#{srcdir}/../sqlite"
646
- args << "-D__NEW__" if USE_STLPORT
647
- args << "-I#{$stlport_includes}" if USE_STLPORT
653
+ args << "-I#{$std_includes}" unless $std_includes.nil?
654
+ args << "-D__NEW__" if USE_OWN_STLPORT
655
+ args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
648
656
 
649
657
  cc_build 'libruby', objdir, args or exit 1
650
658
  cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
@@ -657,38 +665,34 @@ namespace "build" do
657
665
  args = []
658
666
  args << "-I#{srcdir}"
659
667
  args << "-I#{srcdir}/.."
660
- args << "-D__NEW__" if USE_STLPORT
661
- args << "-I#{$stlport_includes}" if USE_STLPORT
668
+ args << "-I#{$std_includes}" unless $std_includes.nil?
669
+ args << "-D__NEW__" if USE_OWN_STLPORT
670
+ args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
662
671
 
663
672
  cc_build 'libjson', objdir, args or exit 1
664
673
  cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
665
674
  end
666
675
 
667
- unless USE_STLPORT
668
- task :libstlport do
669
- end
670
- else
671
- task :libstlport => "config:android" do
672
- if USE_STLPORT
673
- objdir = $objdir["stlport"]
674
- libname = $libname["stlport"]
675
-
676
- args = []
677
- args << "-I#{$stlport_includes}"
678
- args << "-DTARGET_OS=android"
679
- args << "-DOSNAME=android"
680
- args << "-DCOMPILER_NAME=gcc"
681
- args << "-DBUILD_OSNAME=android"
682
- args << "-D_REENTRANT"
683
- args << "-D__NEW__"
684
- args << "-ffunction-sections"
685
- args << "-fdata-sections"
686
- args << "-fno-rtti"
687
- args << "-fno-exceptions"
688
-
689
- cc_build 'libstlport', objdir, args or exit 1
690
- cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
691
- end
676
+ task :libstlport => "config:android" do
677
+ if USE_OWN_STLPORT
678
+ objdir = $objdir["stlport"]
679
+ libname = $libname["stlport"]
680
+
681
+ args = []
682
+ args << "-I#{$stlport_includes}"
683
+ args << "-DTARGET_OS=android"
684
+ args << "-DOSNAME=android"
685
+ args << "-DCOMPILER_NAME=gcc"
686
+ args << "-DBUILD_OSNAME=android"
687
+ args << "-D_REENTRANT"
688
+ args << "-D__NEW__"
689
+ args << "-ffunction-sections"
690
+ args << "-fdata-sections"
691
+ args << "-fno-rtti"
692
+ args << "-fno-exceptions"
693
+
694
+ cc_build 'libstlport', objdir, args or exit 1
695
+ cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
692
696
  end
693
697
  end
694
698
 
@@ -698,8 +702,9 @@ namespace "build" do
698
702
  libname = $libname["rholog"]
699
703
  args = []
700
704
  args << "-I#{srcdir}/.."
701
- args << "-D__NEW__" if USE_STLPORT
702
- args << "-I#{$stlport_includes}" if USE_STLPORT
705
+ args << "-I#{$std_includes}" unless $std_includes.nil?
706
+ args << "-D__NEW__" if USE_OWN_STLPORT
707
+ args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
703
708
 
704
709
  cc_build 'librholog', objdir, args or exit 1
705
710
  cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
@@ -711,8 +716,9 @@ namespace "build" do
711
716
  libname = $libname["rhomain"]
712
717
  args = []
713
718
  args << "-I#{srcdir}"
714
- args << "-D__NEW__" if USE_STLPORT
715
- args << "-I#{$stlport_includes}" if USE_STLPORT
719
+ args << "-I#{$std_includes}" unless $std_includes.nil?
720
+ args << "-D__NEW__" if USE_OWN_STLPORT
721
+ args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
716
722
 
717
723
  cc_build 'librhomain', objdir, args or exit 1
718
724
  cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
@@ -724,8 +730,9 @@ namespace "build" do
724
730
  args = []
725
731
  args << "-I#{$shareddir}"
726
732
  args << "-I#{$shareddir}/curl/include"
727
- args << "-D__NEW__" if USE_STLPORT
728
- args << "-I#{$stlport_includes}" if USE_STLPORT
733
+ args << "-I#{$std_includes}" unless $std_includes.nil?
734
+ args << "-D__NEW__" if USE_OWN_STLPORT
735
+ args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
729
736
 
730
737
  cc_build 'librhocommon', objdir, args or exit 1
731
738
  cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
@@ -739,8 +746,9 @@ namespace "build" do
739
746
  args << "-I#{srcdir}"
740
747
  args << "-I#{srcdir}/.."
741
748
  args << "-I#{srcdir}/../sqlite"
742
- args << "-D__NEW__" if USE_STLPORT
743
- args << "-I#{$stlport_includes}" if USE_STLPORT
749
+ args << "-I#{$std_includes}" unless $std_includes.nil?
750
+ args << "-D__NEW__" if USE_OWN_STLPORT
751
+ args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
744
752
 
745
753
  cc_build 'librhodb', objdir, args or exit 1
746
754
  cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
@@ -754,8 +762,9 @@ namespace "build" do
754
762
  args << "-I#{srcdir}"
755
763
  args << "-I#{srcdir}/.."
756
764
  args << "-I#{srcdir}/../sqlite"
757
- args << "-D__NEW__" if USE_STLPORT
758
- args << "-I#{$stlport_includes}" if USE_STLPORT
765
+ args << "-I#{$std_includes}" unless $std_includes.nil?
766
+ args << "-D__NEW__" if USE_OWN_STLPORT
767
+ args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
759
768
 
760
769
  cc_build 'librhosync', objdir, args or exit 1
761
770
  cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
@@ -892,8 +901,8 @@ namespace "build" do
892
901
 
893
902
  task :librhodes => [:libs, :gensources] do
894
903
  srcdir = File.join $androidpath, "Rhodes", "jni", "src"
895
- objdir = File.join $bindir, "libs", $confdir, $ndkgccver, "librhodes"
896
- libname = File.join $bindir, "libs", $confdir, $ndkgccver, "librhodes.so"
904
+ objdir = File.join $bindir, "libs", $confdir, $ndkabi, $ndkgccver, "librhodes"
905
+ libname = File.join $bindir, "libs", $confdir, $ndkabi, $ndkgccver, "librhodes.so"
897
906
 
898
907
  args = []
899
908
  args << "-I#{$appincdir}"
@@ -904,9 +913,10 @@ namespace "build" do
904
913
  args << "-I#{$shareddir}/curl/include"
905
914
  args << "-I#{$shareddir}/ruby/include"
906
915
  args << "-I#{$shareddir}/ruby/linux"
907
- args << "-D__SGI_STL_INTERNAL_PAIR_H" if USE_STLPORT
908
- args << "-D__NEW__" if USE_STLPORT
909
- args << "-I#{$stlport_includes}" if USE_STLPORT
916
+ args << "-I#{$std_includes}" unless $std_includes.nil?
917
+ args << "-D__SGI_STL_INTERNAL_PAIR_H" if USE_OWN_STLPORT
918
+ args << "-D__NEW__" if USE_OWN_STLPORT
919
+ args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
910
920
 
911
921
  cc_build 'librhodes', objdir, args or exit 1
912
922
 
@@ -916,8 +926,8 @@ namespace "build" do
916
926
  end
917
927
 
918
928
  args = []
919
- args << "-L#{$rhobindir}/#{$confdir}/#{$ndkgccver}"
920
- args << "-L#{$bindir}/libs/#{$confdir}/#{$ndkgccver}"
929
+ args << "-L#{$rhobindir}/#{$confdir}/#{$ndkabi}/#{$ndkgccver}"
930
+ args << "-L#{$bindir}/libs/#{$confdir}/#{$ndkabi}/#{$ndkgccver}"
921
931
  args << "-L#{$extensionsdir}"
922
932
 
923
933
  rlibs = []
@@ -928,7 +938,7 @@ namespace "build" do
928
938
  rlibs << "rholog"
929
939
  rlibs << "rhocommon"
930
940
  rlibs << "json"
931
- rlibs << "stlport" if USE_STLPORT
941
+ rlibs << "stlport" if USE_OWN_STLPORT
932
942
  rlibs << "curl"
933
943
  rlibs << "sqlite"
934
944
  rlibs << "log"
@@ -1108,7 +1118,7 @@ namespace "package" do
1108
1118
  # Add native librhodes.so
1109
1119
  rm_rf File.join($tmpdir, "lib")
1110
1120
  mkdir_p File.join($tmpdir, "lib/armeabi")
1111
- cp_r File.join($bindir, "libs", $confdir, $ndkgccver, "librhodes.so"), File.join($tmpdir, "lib/armeabi")
1121
+ cp_r File.join($bindir, "libs", $confdir, $ndkabi, $ndkgccver, "librhodes.so"), File.join($tmpdir, "lib/armeabi")
1112
1122
  # Add extensions .so libraries
1113
1123
  Dir.glob($extensionsdir + "/lib*.so").each do |lib|
1114
1124
  cp_r lib, File.join($tmpdir, "lib/armeabi")
@@ -1576,8 +1586,8 @@ namespace "clean" do
1576
1586
  end
1577
1587
  end
1578
1588
  task :librhodes => "config:android" do
1579
- rm_rf $rhobindir + "/" + $confdir + "/" + $ndkgccver + "/librhodes"
1580
- rm_rf $bindir + "/libs/" + $confdir + "/" + $ndkgccver + "/librhodes.so"
1589
+ rm_rf $rhobindir + "/" + $confdir + "/" + $ndkabi + "/" + $ndkgccver + "/librhodes"
1590
+ rm_rf $bindir + "/libs/" + $confdir + "/" + $ndkabi + "/" + $ndkgccver + "/librhodes.so"
1581
1591
  end
1582
1592
  # desc "clean android"
1583
1593
  task :all => [:assets,:librhodes,:libs,:files]
@@ -36,19 +36,42 @@ def get_sources(name)
36
36
  end
37
37
 
38
38
  def setup_ndk(ndkpath,apilevel)
39
+ $ndktools = nil
40
+ $ndkabi = "unknown"
39
41
  $ndkgccver = "unknown"
40
- ["4.4.0", "4.2.1"].each do |ver|
41
- tools = File.join(ndkpath, "build/prebuilt", $ndkhost, "arm-eabi-#{ver}")
42
- next unless File.directory? tools
43
- $ndkgccver = ver
44
- $ndktools = tools
42
+ ["arm-eabi-4.4.0", "arm-eabi-4.2.1"].each do |abi|
43
+ variants = []
44
+ variants << File.join(ndkpath, "toolchains", abi, "prebuilt", $ndkhost)
45
+ variants << File.join(ndkpath, "build/prebuilt", $ndkhost, abi)
46
+ variants.each do |variant|
47
+ next unless File.directory? variant
48
+ $ndktools = variant
49
+ $ndkabi = abi.gsub(/^(.*)-([^-]*)$/, '\1')
50
+ $ndkgccver = abi.gsub(/^(.*)-([^-]*)$/, '\2')
51
+ break
52
+ end
53
+ break unless $ndktools.nil?
54
+ end
55
+ if $ndktools.nil?
56
+ raise "Can't detect NDK toolchain path (corrupted NDK installation?)"
57
+ end
58
+
59
+ variants = []
60
+ variants << "platforms"
61
+ variants << "build/platforms"
62
+ variants.each do |variant|
63
+ sysroot = File.join(ndkpath, variant, "android-#{apilevel}/arch-arm")
64
+ next unless File.directory? sysroot
65
+ $ndksysroot = sysroot
45
66
  break
46
67
  end
47
- $ndksysroot = File.join(ndkpath, "build/platforms/android-#{apilevel}/arch-arm")
68
+ if $ndksysroot.nil?
69
+ raise "Can't detect NDK sysroot (corrupted NDK installation?)"
70
+ end
48
71
 
49
72
  ['gcc', 'g++', 'ar', 'strip', 'objdump'].each do |tool|
50
73
  name = tool.gsub('+', 'p')
51
- eval "$#{name}bin = $ndktools + '/bin/arm-eabi-#{tool}' + $exe_ext"
74
+ eval "$#{name}bin = $ndktools + '/bin/#{$ndkabi}-#{tool}' + $exe_ext"
52
75
  end
53
76
 
54
77
  # Detect rlim_t
@@ -98,7 +121,8 @@ def cpp_def_args
98
121
  if $cpp_def_args_val.nil?
99
122
  args = []
100
123
  args << "-fvisibility-inlines-hidden"
101
- args << "-fexceptions -frtti" unless USE_STLPORT
124
+ args << "-fno-exceptions"
125
+ args << "-fno-rtti"
102
126
  $cpp_def_args_val = args
103
127
  end
104
128
  $cpp_def_args_val.dup
@@ -238,8 +262,12 @@ def cc_link(outname, objects, additional = nil, deps = nil)
238
262
  dependencies += deps unless deps.nil?
239
263
  return true if FileUtils.uptodate? outname, dependencies
240
264
  args = []
241
- args << "-nostdlib"
242
- args << "-Wl,-shared,-Bsymbolic"
265
+ if $ndkabi == "arm-eabi"
266
+ args << "-nostdlib"
267
+ args << "-Wl,-shared,-Bsymbolic"
268
+ else
269
+ args << "-shared"
270
+ end
243
271
  args << "-Wl,--no-whole-archive"
244
272
  args << "-Wl,--no-undefined"
245
273
  args << "-Wl,-z,defs"
@@ -249,16 +277,15 @@ def cc_link(outname, objects, additional = nil, deps = nil)
249
277
  args << outname
250
278
  args += objects
251
279
  args += additional if additional.is_a? Array and not additional.empty?
280
+ unless USE_OWN_STLPORT
281
+ stlportlib = File.join($androidndkpath, "sources/cxx-stl/stlport/libs/armeabi/libstlport_static.a")
282
+ args << stlportlib if File.exists? stlportlib
283
+ end
252
284
  args << "-L#{$ndksysroot}/usr/lib"
253
285
  args << "-Wl,-rpath-link=#{$ndksysroot}/usr/lib"
254
286
  if $cxxlibs.nil?
255
287
  $cxxlibs = []
256
- if USE_STLPORT
257
- $cxxlibs << File.join($ndksysroot, "usr/lib/libstdc++.so")
258
- else
259
- $cxxlibs << `#{$gccbin} -mthumb-interwork -print-file-name=libstdc++.a`.gsub("\n", "")
260
- $cxxlibs << `#{$gccbin} -mthumb-interwork -print-file-name=libsupc++.a`.gsub("\n", "")
261
- end
288
+ $cxxlibs << File.join($ndksysroot, "usr/lib/libstdc++.so")
262
289
  end
263
290
  args += $cxxlibs
264
291
  $libgcc = `#{$gccbin} -mthumb-interwork -print-file-name=libgcc.a`.gsub("\n", "") if $libgcc.nil?
@@ -46,6 +46,7 @@ typedef unsigned __int64 uint64;
46
46
  # include <stdarg.h>
47
47
  # include <sys/select.h>
48
48
  # include <stdio.h>
49
+ # include <ctype.h>
49
50
  # else
50
51
  # include <wchar.h>
51
52
  # endif // OS_ANDROID
@@ -183,6 +183,10 @@ void RhoRubyStart()
183
183
  #endif
184
184
 
185
185
  require_compiled(rb_str_new2("rhoframework"), &framework );
186
+ if ( framework == 0 || framework == Qnil )
187
+ {
188
+ RAWLOG_FATAL("RHO framework creating failed. Application will exit.");
189
+ }
186
190
 
187
191
  #ifdef ENABLE_RUBY_VM_STAT
188
192
  gettimeofday (&end, NULL);
data/rhodes.gemspec CHANGED
@@ -3,7 +3,7 @@ require "lib/rhodes.rb"
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = %q{rhodes}
6
- s.version = '2.2.5.beta.1'
6
+ s.version = '2.2.5.beta.2'
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.authors = ["Rhomobile"]
@@ -71,8 +71,8 @@ describe "RhoConfig" do
71
71
  end
72
72
 
73
73
  it "should read log" do
74
- log_text = Rho::RhoConfig.read_log
75
- log_text.length.should > 0
74
+ # log_text = Rho::RhoConfig.read_log
75
+ # log_text.length.should > 0
76
76
 
77
77
  log_text = Rho::RhoConfig.read_log(20000)
78
78
  log_text.length.should <= 20000
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rhodes
3
3
  version: !ruby/object:Gem::Version
4
- hash: 62196457
4
+ hash: 62196463
5
5
  prerelease: true
6
6
  segments:
7
7
  - 2
8
8
  - 2
9
9
  - 5
10
10
  - beta
11
- - 1
12
- version: 2.2.5.beta.1
11
+ - 2
12
+ version: 2.2.5.beta.2
13
13
  platform: ruby
14
14
  authors:
15
15
  - Rhomobile
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-12-07 00:00:00 -08:00
20
+ date: 2010-12-08 00:00:00 -08:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency