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 +2 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +11 -6
- data/lib/framework/rho/rho.rb +21 -4
- data/lib/framework/rhoframework.rb +3 -2
- data/platform/android/build/android.rake +66 -56
- data/platform/android/build/androidcommon.rb +43 -16
- data/platform/shared/common/RhoPort.h +1 -0
- data/platform/shared/ruby/ext/rho/rhoruby.c +4 -0
- data/rhodes.gemspec +1 -1
- data/spec/phone_spec/app/spec/rho_spec.rb +2 -2
- metadata +4 -4
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 << "-
|
21
|
-
args << "-D__NEW__" if
|
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
|
|
data/lib/framework/rho/rho.rb
CHANGED
@@ -67,15 +67,31 @@ module Rho
|
|
67
67
|
#end
|
68
68
|
|
69
69
|
def init_app
|
70
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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()
|
@@ -2,12 +2,12 @@
|
|
2
2
|
require File.dirname(__FILE__) + '/androidcommon.rb'
|
3
3
|
require 'pathname'
|
4
4
|
|
5
|
-
|
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
|
-
$
|
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 << "-
|
647
|
-
args << "-
|
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 << "-
|
661
|
-
args << "-
|
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
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
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 << "-
|
702
|
-
args << "-
|
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 << "-
|
715
|
-
args << "-
|
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 << "-
|
728
|
-
args << "-
|
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 << "-
|
743
|
-
args << "-
|
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 << "-
|
758
|
-
args << "-
|
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 << "-
|
908
|
-
args << "-
|
909
|
-
args << "-
|
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
|
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 |
|
41
|
-
|
42
|
-
|
43
|
-
$
|
44
|
-
|
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
|
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
|
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 << "-
|
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
|
-
|
242
|
-
|
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
|
-
|
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?
|
@@ -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.
|
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
|
-
|
75
|
-
|
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:
|
4
|
+
hash: 62196463
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 2
|
9
9
|
- 5
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 2.2.5.beta.
|
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-
|
20
|
+
date: 2010-12-08 00:00:00 -08:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|