bungee_gum 0.1.2 → 0.1.3

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
2
  SHA256:
3
- metadata.gz: 8ae22162c661f9110076197536f5564484106c8e56e0064ee6b8e44bcb3eb685
4
- data.tar.gz: 3352664eb21397a0ac84ec2bc3eee87f0168ec89385d6b11e6d25a61378f8df8
3
+ metadata.gz: 29b73801021ed4fc17f2998128096f4445754dd23871b09f6e8a1f872fb901c8
4
+ data.tar.gz: d6d36b10813c32094fa31dfb32c46ebef7b51d23af26a2a41f46577a88b9c62e
5
5
  SHA512:
6
- metadata.gz: cb71f3ea731a8873fcc029c3f9b0f933fa1e498a160a35ad903d73669a7dfbe29f8708083d8488fbfc7992c52a3d9163228027cb0057a21ca53a3ac8253556e3
7
- data.tar.gz: 9363193534c251c1d3bf2b454c45c469b5df57190a0b2eef1f718b0c35775720685b19e02c8df7ba0ba347fa1430e8aba5819dc61dadd91c423663fd6198f382
6
+ metadata.gz: 498637804c88a1d7b390fc12b17861ed424c31bd629163d043f789a26ea490944d24353cc81aba821ddb48d2ceaca8dfbd9a4d5e23d3b93cd2872c5f791489d5
7
+ data.tar.gz: 72097de84ff8d341c6e5d65d4b2853202b3c4d6630d0f6fd4640eb1cf857c3f9387594d8ad000ebe7c4a9cce98e950cb5ffcb689e37dbbb749e8029800469d4f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.3] - 2024-04-26
4
+
5
+ ### Added
6
+
7
+ - Added the following options.
8
+ - `--with-force-yjit`
9
+ - `--only-force-yjit`
10
+ - `--with-force-rjit`
11
+ - `--only-force-rjit`
12
+
13
+ ### Changed
14
+
15
+ - Changed from 'cppflags=-DRJIT_FORCE_ENABLE' to '--enable-rjit --disable-yjit' that the options used with '--with-rjit' and '--only-rjit'.
16
+ - Changed help messages for `--with-universalparser`, `--only-universalparser`, `--with-yjit`, `--only-yjit`, `--with-rjit`, and `--only-rjit`.
17
+
3
18
  ## [0.1.2] - 2024-04-08
4
19
 
5
20
  ### Fixed
@@ -9,13 +9,17 @@ class BungeeGum::RubyBuild
9
9
  FOR_BUILD_REPOSITORY = 'build-ruby-repo'
10
10
  FOR_UP_BUILD_REPOSITORY = 'build-up-ruby-repo'
11
11
  FOR_YJIT_BUILD_REPOSITORY = 'build-yjit-ruby-repo'
12
+ FOR_FORCE_YJIT_BUILD_REPOSITORY = 'build-force-yjit-ruby-repo'
12
13
  FOR_RJIT_BUILD_REPOSITORY = 'build-rjit-ruby-repo'
14
+ FOR_FORCE_RJIT_BUILD_REPOSITORY = 'build-force-rjit-ruby-repo'
13
15
 
14
16
  INSTALL_PREFIX_BASE = "#{Dir.home}/.rubies"
15
17
  INSTALL_PREFIX_RUBY = "#{INSTALL_PREFIX_BASE}/ruby-master"
16
18
  INSTALL_PREFIX_RUBY_UP = "#{INSTALL_PREFIX_BASE}/ruby-universal-parser"
17
19
  INSTALL_PREFIX_RUBY_YJIT = "#{INSTALL_PREFIX_BASE}/ruby-yjit"
20
+ INSTALL_PREFIX_RUBY_FORCE_YJIT = "#{INSTALL_PREFIX_BASE}/ruby-force-yjit"
18
21
  INSTALL_PREFIX_RUBY_RJIT = "#{INSTALL_PREFIX_BASE}/ruby-rjit"
22
+ INSTALL_PREFIX_RUBY_FORCE_RJIT = "#{INSTALL_PREFIX_BASE}/ruby-force-rjit"
19
23
 
20
24
  def initialize
21
25
  @base_ruby_repo = "#{Dir.pwd}/#{LOCAL_RUBY_REPOSITORY}"
@@ -33,31 +37,47 @@ class BungeeGum::RubyBuild
33
37
  param[:only] = {}
34
38
  param[:skip] = {}
35
39
 
36
- @opt.on('--with-universalparser', 'Add `--with-universalparser` if you also would like to build with Universal Parser mode enabled.') {|v|
40
+ @opt.on('--with-universalparser', 'Add `--with-universalparser` if you also would like to build with enabled Universal Parser. This is equivalent to adding `cppflags=-DUNIVERSAL_PARSER`.') {|v|
37
41
  param[:with][:up] = v
38
42
  params << '--with-universalparser'
39
43
  }
40
- @opt.on('--only-universalparser', 'Add `--only-universalparser` if you would like to build with only Universal Parser mode enabled. This option can not be used in conjunction with other options.') {|v|
44
+ @opt.on('--only-universalparser', 'Add `--only-universalparser` if you would like to build with only enabled Universal Parser. This is equivalent to adding `cppflags=-DUNIVERSAL_PARSER`. This option can not be used in conjunction with other options.') {|v|
41
45
  param[:only][:up] = v
42
46
  params << '--only-universalparser'
43
47
  }
44
- @opt.on('--with-yjit', 'Add `--with-yjit` if you also would like to build with YJIT mode enabled.') {|v|
48
+ @opt.on('--with-yjit', 'Add `--with-yjit` if you also would like to build with enabled YJIT. This is equivalent to adding `--enable-yjit`.') {|v|
45
49
  param[:with][:yjit] = v
46
50
  params << '--with-yjit'
47
51
  }
48
- @opt.on('--only-yjit', 'Add `--only-yjit` if you would like to build with only YJIT mode enabled. This option can not be used in conjunction with other options.') {|v|
52
+ @opt.on('--only-yjit', 'Add `--only-yjit` if you would like to build with only enabled YJIT. This is equivalent to adding `--enable-yjit`. This option can not be used in conjunction with other options.') {|v|
49
53
  param[:only][:yjit] = v
50
54
  params << '--only-yjit'
51
55
  }
52
- @opt.on('--with-rjit', 'Add `--with-rjit` if you also would like to build with RJIT mode enabled.') {|v|
56
+ @opt.on('--with-force-yjit', 'Add `--with-force-yjit` if you also would like to build with enabled YJIT. This is equivalent to adding `cppflags=-DYJIT_FORCE_ENABLE`.') {|v|
57
+ param[:with][:force_yjit] = v
58
+ params << '--with-force-yjit'
59
+ }
60
+ @opt.on('--only-force-yjit', 'Add `--only-force-yjit` if you would like to build with only enabled YJIT. This is equivalent to adding `cppflags=-DYJIT_FORCE_ENABLE`. This option can not be used in conjunction with other options.') {|v|
61
+ param[:only][:force_yjit] = v
62
+ params << '--only-force-yjit'
63
+ }
64
+ @opt.on('--with-rjit', 'Add `--with-rjit` if you also would like to build with enabled RJIT. This is equivalent to adding `--enable-rjit --disable-yjit`.') {|v|
53
65
  param[:with][:rjit] = v
54
66
  params << '--with-rjit'
55
67
  }
56
- @opt.on('--only-rjit', 'Add `--only-rjit` if you would like to build with only RJIT mode enabled. This option can not be used in conjunction with other options.') {|v|
68
+ @opt.on('--only-rjit', 'Add `--only-rjit` if you would like to build with only enabled RJIT. This is equivalent to adding `--enable-rjit --disable-yjit`. This option can not be used in conjunction with other options.') {|v|
57
69
  param[:only][:rjit] = v
58
70
  params << '--only-rjit'
59
71
  }
60
- @opt.on('--all-build', 'Add `--all-build` if you would like to build with all modes enabled.') {|v|
72
+ @opt.on('--with-force-rjit', 'Add `--with-force-rjit` if you also would like to build with enabled RJIT. This is equivalent to adding `cppflags=-DRJIT_FORCE_ENABLE`.') {|v|
73
+ param[:with][:force_rjit] = v
74
+ params << '--with-force-rjit'
75
+ }
76
+ @opt.on('--only-force-rjit', 'Add `--only-force-rjit` if you would like to build with only enabled RJIT. This is equivalent to adding `cppflags=-DRJIT_FORCE_ENABLE`. This option can not be used in conjunction with other options.') {|v|
77
+ param[:only][:force_rjit] = v
78
+ params << '--only-force-rjit'
79
+ }
80
+ @opt.on('--all-build', 'Add `--all-build` if you would like to build with all patterns that include `cppflags` option') {|v|
61
81
  param[:all_build] = v
62
82
  params << '--all-build'
63
83
  }
@@ -66,9 +86,11 @@ class BungeeGum::RubyBuild
66
86
  if param[:only].keys.size > 1 ||
67
87
  (param[:only].keys.size == 1 && !param[:with].empty?) ||
68
88
  (param[:only].keys.size == 1 && !!param[:all_build])
69
- puts "`--only-universalparser` can not be used in conjunction with other options." if params.include?('--only-universalparser')
70
- puts "`--only-yjit` can not be used in conjunction with other options." if params.include?('--only-yjit')
71
- puts "`--only-rjit` can not be used in conjunction with other options." if params.include?('--only-rjit')
89
+ only_error('--only-universalparser') if params.include?('--only-universalparser')
90
+ only_error('--only-yjit') if params.include?('--only-yjit')
91
+ only_error('--only-force-yjit') if params.include?('--only-force-yjit')
92
+ only_error('--only-rjit') if params.include?('--only-rjit')
93
+ only_error('--only-force-rjit') if params.include?('--only-force-rjit')
72
94
 
73
95
  exit 1
74
96
  end
@@ -106,13 +128,33 @@ class BungeeGum::RubyBuild
106
128
  }
107
129
  end
108
130
 
131
+ if param[:only][:force_yjit] || param[:with][:force_yjit] || param[:all_build]
132
+ clone_or_pull(FOR_FORCE_YJIT_BUILD_REPOSITORY)
133
+ fork {
134
+ make_and_test(
135
+ FOR_FORCE_YJIT_BUILD_REPOSITORY,
136
+ 'force-yjit',
137
+ "--prefix=#{INSTALL_PREFIX_RUBY_FORCE_YJIT} cppflags=-DYJIT_FORCE_ENABLE --disable-install-doc")
138
+ }
139
+ end
140
+
109
141
  if param[:only][:rjit] || param[:with][:rjit] || param[:all_build]
110
142
  clone_or_pull(FOR_RJIT_BUILD_REPOSITORY)
111
143
  fork {
112
144
  make_and_test(
113
145
  FOR_RJIT_BUILD_REPOSITORY,
114
146
  'rjit',
115
- "--prefix=#{INSTALL_PREFIX_RUBY_RJIT} cppflags=-DRJIT_FORCE_ENABLE --disable-install-doc")
147
+ "--prefix=#{INSTALL_PREFIX_RUBY_RJIT} --enable-rjit --disable-yjit --disable-install-doc")
148
+ }
149
+ end
150
+
151
+ if param[:only][:force_rjit] || param[:with][:force_rjit] || param[:all_build]
152
+ clone_or_pull(FOR_FORCE_RJIT_BUILD_REPOSITORY)
153
+ fork {
154
+ make_and_test(
155
+ FOR_FORCE_RJIT_BUILD_REPOSITORY,
156
+ 'force-rjit',
157
+ "--prefix=#{INSTALL_PREFIX_RUBY_FORCE_RJIT} cppflags=-DRJIT_FORCE_ENABLE --disable-install-doc")
116
158
  }
117
159
  end
118
160
 
@@ -161,4 +203,8 @@ class BungeeGum::RubyBuild
161
203
  file.close
162
204
  end
163
205
  end
206
+
207
+ def only_error(option)
208
+ puts "`#{option}` can not be used in conjunction with other options."
209
+ end
164
210
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BungeeGum
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bungee_gum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - jinroq
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-08 00:00:00.000000000 Z
11
+ date: 2024-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: git
@@ -67,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  requirements: []
70
- rubygems_version: 3.5.7
70
+ rubygems_version: 3.5.9
71
71
  signing_key:
72
72
  specification_version: 4
73
73
  summary: This gem collects Ruby building and testing logs.