esruby 0.1.5 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: fbee1ba80196514659dbc8cea54a5d7d97bb617c4046a9729e9be950294b3f97
4
- data.tar.gz: cfe7eaf3fbadbf0cd2b088348a23db813501a751aca544a313077c531a5164cd
2
+ SHA1:
3
+ metadata.gz: 273c95715dfa163a32d132aa1c932e952df3be5c
4
+ data.tar.gz: b2f3a2aa88a13d2d9eccbc87a6d8a1ed4ce2c561
5
5
  SHA512:
6
- metadata.gz: 6ecc4ec227beced58b6154145435a27147db8ff593f886acc7ea4f03316fd920af2a1298e5d4a64899d7ad731d6672ce5653a5aa36e84899a49f4bcee6c87523
7
- data.tar.gz: 7240f89dfa640a155a84de90a0d51440ce5db111a7a2f17023636c7f39113bfc3734e50b518c2e0f5d9c4d6444c8df5fe3c5369d8f3a6fdd9836f6f03603926a
6
+ metadata.gz: a102c57d7e0856b6d5302bccafdcfbddb87e575331b730417220990dbb10018d18cf014de364cdb7d8cb02d706b865ea80577008c80f8a6cbf8ed52c0c7f2ac8
7
+ data.tar.gz: 9e9907d57d89faec9c60cfa40ad4b2c3d3a3f99e9b899916126d38a8a99a860ee76c48a3915273bafe378fc79953ad0a75d6f928ef8ae81a99dffc90bfac0567
@@ -79,6 +79,10 @@ module ESRuby
79
79
  @configuration.ruby_sources
80
80
  end
81
81
 
82
+ def flags
83
+ @configuration.flags.join(" ")
84
+ end
85
+
82
86
  def build_mruby_config
83
87
  template = File.read("#{gem_directory}/resources/build_config.eruby")
84
88
  eruby = Erubis::Eruby.new(template)
@@ -90,6 +94,7 @@ module ESRuby
90
94
  config[:project_directory] = project_directory
91
95
  config[:gems] = gems
92
96
  config[:gem_paths_file] = gem_paths_file
97
+ config[:flags] = @configuration.flags
93
98
  new_output = eruby.result(config)
94
99
  output_path = "#{build_directory}/build_config.rb"
95
100
  old_output = File.read(output_path) if File.exists?(output_path)
@@ -136,9 +141,9 @@ module ESRuby
136
141
  js_arguments += " "
137
142
  js_arguments += appended_js_sources.map { |path| "--post-js #{path}" }.join(" ")
138
143
  RakeFileUtils.sh "#{mrbc} -B app -o #{build_directory}/app.c #{ruby_sources.join(" ")}"
139
- RakeFileUtils.sh "emcc --bind #{cxx_include_argument} #{build_directory}/app.c -o #{build_directory}/app.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} -s ALLOW_MEMORY_GROWTH=1"
140
- RakeFileUtils.sh "emcc -std=c++11 --bind #{cxx_include_argument} #{gem_directory}/resources/cpp/main.cpp -o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} -s ALLOW_MEMORY_GROWTH=1"
141
- RakeFileUtils.sh "emcc --bind #{cxx_include_argument} -o #{build_directory}/output.js #{build_directory}/app.o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} -s ALLOW_MEMORY_GROWTH=1 -s WASM=0 -s DISABLE_EXCEPTION_CATCHING=0"
144
+ RakeFileUtils.sh "emcc --bind #{cxx_include_argument} #{build_directory}/app.c -o #{build_directory}/app.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} #{flags} -s ALLOW_MEMORY_GROWTH=1"
145
+ RakeFileUtils.sh "emcc -std=c++11 --bind #{cxx_include_argument} #{gem_directory}/resources/cpp/main.cpp -o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} #{flags} -s ALLOW_MEMORY_GROWTH=1"
146
+ RakeFileUtils.sh "emcc --bind #{cxx_include_argument} -o #{build_directory}/output.js #{build_directory}/app.o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} #{flags} -s ALLOW_MEMORY_GROWTH=1 -s WASM=0 -s DISABLE_EXCEPTION_CATCHING=0"
142
147
  #if build.build_mode == 'production'
143
148
  # ENV["EMCC_CLOSURE_ARGS"] = "--language_in=ECMASCRIPT6" #possibly allow setting output: --language_out=ECMASCRIPT6
144
149
  # sh "java -jar #{PROJECT_DIRECTORY}/emsdk/emscripten/incoming/third_party/closure-compiler/compiler.jar --js #{build.absolute_build_directory}/output.js --js_output_file #{build.absolute_output}"
@@ -5,6 +5,8 @@ module ESRuby
5
5
  attr_reader :ruby_sources, :prepended_js_sources, :appended_js_sources,
6
6
  :build_mode, :gems, :mruby_directory, :output
7
7
 
8
+ attr_accessor :flags
9
+
8
10
  def initialize
9
11
  @project_directory = nil
10
12
  @build_directory = nil
@@ -14,6 +16,7 @@ module ESRuby
14
16
  @prepended_js_sources = []
15
17
  @appended_js_sources = []
16
18
  @gems = []
19
+ @flags = []
17
20
  end
18
21
 
19
22
  def project_directory
@@ -37,6 +37,9 @@ MRuby::CrossBuild.new('app') do |conf|
37
37
  c.flags << '<%= optimization_argument %>'
38
38
  c.flags << '<%= closure_argument %>'
39
39
  c.flags << '<%= debug_argument %>'
40
+ <% for flag in flags %>
41
+ c.flags << '<%= flag %>'
42
+ <% end %>
40
43
  end
41
44
 
42
45
  conf.gem_clone_dir = '<%= project_directory %>/gems'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Fors
@@ -439,7 +439,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
439
439
  version: '0'
440
440
  requirements: []
441
441
  rubyforge_project:
442
- rubygems_version: 2.7.6
442
+ rubygems_version: 2.6.11
443
443
  signing_key:
444
444
  specification_version: 4
445
445
  summary: Ruby running in the browser