Skip to content

Commit f34e689

Browse files
authored
Merge pull request #82 from getsolus/rustflags
rust: Add RUSTFLAGS
2 parents 183e07a + d6ee437 commit f34e689

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

ypkg2/scripts.py

+2
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ def init_default_macros(self):
122122
self.define_macro("CFLAGS", " ".join(self.context.build.cflags))
123123
self.define_macro("CXXFLAGS", " ".join(self.context.build.cxxflags))
124124
self.define_macro("LDFLAGS", " ".join(self.context.build.ldflags))
125+
self.define_macro("RUSTFLAGS", " ".join(self.context.build.rustflags))
125126

126127
self.define_macro("HOST", self.context.build.host)
127128
self.define_macro("ARCH", self.context.build.arch)
@@ -146,6 +147,7 @@ def init_default_exports(self):
146147
self.define_export("CFLAGS", " ".join(self.context.build.cflags))
147148
self.define_export("CXXFLAGS", " ".join(self.context.build.cxxflags))
148149
self.define_export("LDFLAGS", " ".join(self.context.build.ldflags))
150+
self.define_export("RUSTFLAGS", " ".join(self.context.build.rustflags))
149151
self.define_export("FFLAGS", " ".join(self.context.build.cxxflags))
150152
self.define_export("FCFLAGS", " ".join(self.context.build.cxxflags))
151153
self.define_export("PATH", self.context.get_path())

ypkg2/ypkgcontext.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@
7171

7272
# Frame Pointer flags used for making profiling more useful at a slight hit to performance
7373
# See https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
74-
FRAME_POINTER_FLAGS = ["-fno-omit-frame-pointer", "-mno-omit-leaf-frame-pointer"]
74+
FRAME_POINTER_FLAGS = ["-fno-omit-frame-pointer", "-mno-omit-leaf-frame-pointer",
75+
"-Cforce-frame-pointers"] # The equivalent Rust flag
7576

7677
# Clang can handle parameters to the args unlike GCC
7778
PGO_GEN_FLAGS_CLANG = "-fprofile-generate=\"{}/default-%m.profraw\""
@@ -97,6 +98,7 @@ class Flags:
9798
C = 0
9899
CXX = 1
99100
LD = 2
101+
RUST = 3
100102

101103
@staticmethod
102104
def get_desc(f):
@@ -107,6 +109,8 @@ def get_desc(f):
107109
return "CXXFLAGS"
108110
elif f == Flags.LD:
109111
return "LDFLAGS"
112+
elif f == Flags.RUST:
113+
return "RUSTFLAGS"
110114
else:
111115
return "UNKNOWN_FLAG_SET_CHECK_IT"
112116

@@ -204,6 +208,7 @@ class BuildConfig:
204208
cflags = None
205209
cxxflags = None
206210
ldflags = None
211+
rustflags = None
207212

208213
cc = None
209214
cxx = None
@@ -220,6 +225,8 @@ def get_flags(self, t):
220225
return self.cxxflags
221226
if t == Flags.LD:
222227
return self.ldflags
228+
if t == Flags.RUST:
229+
return self.rustflags
223230
return set([])
224231

225232

@@ -358,6 +365,7 @@ def init_config(self):
358365
self.build.cflags = list(conf.values.build.cflags.split(" "))
359366
self.build.cxxflags = list(conf.values.build.cxxflags.split(" "))
360367
self.build.ldflags = list(conf.values.build.ldflags.split(" "))
368+
self.build.rustflags = list(conf.values.build.rustflags.split(" "))
361369
if conf.values.build.buildhelper:
362370
self.build.ccache = "ccache" in conf.values.build.buildhelper
363371
else:
@@ -427,6 +435,10 @@ def init_optimize(self):
427435
self.build.cxxflags = Flags.optimize_flags(self.build.cxxflags,
428436
opt,
429437
self.spec.pkg_clang)
438+
if opt == "no-frame-pointer":
439+
self.build.rustflags = Flags.optimize_flags(self.build.rustflags,
440+
opt,
441+
self.spec.pkg_clang)
430442
if opt == "no-bind-now" or opt == "no-symbolic" \
431443
or opt == "runpath" or opt == "icf-safe" \
432444
or opt == "icf-all" or opt == "emit-relocs" :

0 commit comments

Comments
 (0)