Skip to content

Commit 2185d63

Browse files
committed
Move to GoGem::Util
1 parent 2d87892 commit 2185d63

File tree

4 files changed

+36
-38
lines changed

4 files changed

+36
-38
lines changed

_gem/lib/go_gem/rake_task.rb

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -100,50 +100,18 @@ def initialize(gem_name)
100100
# @return [Hash<String, String>]
101101
def self.build_env_vars
102102
ldflags = GoGem::Util.generate_ldflags
103-
cflags = generate_cflags
103+
cflags = GoGem::Util.generate_cflags
104104

105105
ld_library_path = RbConfig::CONFIG["libdir"].to_s
106106

107107
{
108-
"GOFLAGS" => generate_goflags,
108+
"GOFLAGS" => GoGem::Util.generate_goflags,
109109
"CGO_CFLAGS" => cflags,
110110
"CGO_LDFLAGS" => ldflags,
111111
"LD_LIBRARY_PATH" => ld_library_path,
112112
}
113113
end
114114

115-
# @return [String]
116-
def self.generate_goflags
117-
"-tags=#{GoGem::Util.ruby_minor_version_build_tag}"
118-
end
119-
private_class_method :generate_goflags
120-
121-
# @return [String]
122-
def self.generate_cflags
123-
cflags =
124-
[
125-
RbConfig::CONFIG["CFLAGS"],
126-
"-I#{RbConfig::CONFIG["rubyarchhdrdir"]}",
127-
"-I#{RbConfig::CONFIG["rubyhdrdir"]}",
128-
].join(" ")
129-
130-
# FIXME: Workaround for Ubuntu (GitHub Actions)
131-
if RUBY_PLATFORM =~ /linux/i
132-
cflags.gsub!("-Wno-self-assign", "")
133-
cflags.gsub!("-Wno-parentheses-equality", "")
134-
cflags.gsub!("-Wno-constant-logical-operand", "")
135-
cflags.gsub!("-Wsuggest-attribute=format", "")
136-
cflags.gsub!("-Wold-style-definition", "")
137-
cflags.gsub!("-Wsuggest-attribute=noreturn", "")
138-
end
139-
140-
# FIXME: Workaround for Alpine
141-
cflags.gsub!("-Wpointer-arith", "") if RUBY_PLATFORM =~ /linux-musl/i
142-
143-
cflags.strip
144-
end
145-
private_class_method :generate_cflags
146-
147115
# @yield
148116
def within_target_dir
149117
Dir.chdir(target_dir) do # rubocop:disable Style/ExplicitBlockArgument

_gem/lib/go_gem/util.rb

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,35 @@ def self.generate_ldflags
3131

3232
ldflags.strip
3333
end
34+
35+
# @return [String]
36+
def self.generate_cflags
37+
cflags =
38+
[
39+
RbConfig::CONFIG["CFLAGS"],
40+
"-I#{RbConfig::CONFIG["rubyarchhdrdir"]}",
41+
"-I#{RbConfig::CONFIG["rubyhdrdir"]}",
42+
].join(" ")
43+
44+
# FIXME: Workaround for Ubuntu (GitHub Actions)
45+
if RUBY_PLATFORM =~ /linux/i
46+
cflags.gsub!("-Wno-self-assign", "")
47+
cflags.gsub!("-Wno-parentheses-equality", "")
48+
cflags.gsub!("-Wno-constant-logical-operand", "")
49+
cflags.gsub!("-Wsuggest-attribute=format", "")
50+
cflags.gsub!("-Wold-style-definition", "")
51+
cflags.gsub!("-Wsuggest-attribute=noreturn", "")
52+
end
53+
54+
# FIXME: Workaround for Alpine
55+
cflags.gsub!("-Wpointer-arith", "") if RUBY_PLATFORM =~ /linux-musl/i
56+
57+
cflags.strip
58+
end
59+
60+
# @return [String]
61+
def self.generate_goflags
62+
"-tags=#{ruby_minor_version_build_tag}"
63+
end
3464
end
3565
end

_gem/sig/go_gem/rake_task.rbs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,6 @@ module GoGem
3030

3131
def self.build_env_vars: () -> { "GOFLAGS" => String, "CGO_CFLAGS" => String, "CGO_LDFLAGS" => String, "LD_LIBRARY_PATH" => String }
3232

33-
def self.generate_goflags: () -> String
34-
35-
def self.generate_cflags: () -> String
36-
3733
private
3834

3935
def define_go_test_task: () -> void

_gem/sig/go_gem/util.rbs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,9 @@ module GoGem
33
def self.ruby_minor_version_build_tag: (?String ruby_version) -> String
44

55
def self.generate_ldflags: () -> String
6+
7+
def self.generate_cflags: () -> String
8+
9+
def self.generate_goflags: () -> String
610
end
711
end

0 commit comments

Comments
 (0)