bungee_gum 0.1.2 → 0.1.3

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.
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.