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

Sign up to get free protection for your applications and to get access to all the features.
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