diff options
Diffstat (limited to 'macros')
-rw-r--r-- | macros | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -106,6 +106,31 @@ %[0%{?_auto_set_build_cc} ? "%{set_build_cc}" : ""] \ %[0%{?_auto_set_build_flags} ? "%{set_build_flags}" : ""] +# Internal-only. Do not use. Expand a variable and strip the flags +# not suitable to extension builders. +%__extension_strip_flags() %{lua: +--the only argument to this macro is the "name" of the flags we strip (e.g. cflags, ldflags, etc.) +local name = rpm.expand("%{1}") +--store all the individual flags in a variable as a continuous string +local flags = rpm.expand("%{build_" .. name .. "}") +--create an empty table for the minimal set of flags we wanna preserve +local stripped_flags = { } +--iterate over the individual flags and store the ones we want in the table as unique keys +for flag in flags:gmatch("%S+") do + if flag:find("^%-fexceptions") or flag:find("^%-fcf%-protection") then + stripped_flags[flag] = true end + end +--print out the finalized set of flags for use by the extension builders +for k,_ in pairs(stripped_flags) do print(k .. " ") end +} + +# Variants of CFLAGS, CXXFLAGS, FFLAGS, LDFLAGS for use within +# extension builders. +%extension_cflags %{__extension_strip_flags cflags} +%extension_cxxflags %{__extension_strip_flags cxxflags} +%extension_fflags %{__extension_strip_flags fflags} +%extension_ldflags %{__extension_strip_flags ldflags} + #For backwards compatibility only. %__global_cflags %{build_cflags} %__global_cxxflags %{build_cxxflags} @@ -234,6 +259,7 @@ %__brp_python_hardlink /usr/lib/rpm/brp-python-hardlink %__brp_remove_la_files /usr/lib/rpm/brp-remove-la-files %__brp_remove_info_dir /usr/lib/rpm/brp-remove-info-dir +%__brp_clean_perl_files /usr/lib/rpm/brp-clean-perl-files %__os_install_post \ %{?__brp_ldconfig} \ @@ -247,6 +273,7 @@ %{?__brp_check_elf_files} \ %{?__brp_remove_la_files} \ %{?__brp_remove_info_dir} \ + %{?__brp_clean_perl_files} \ %{?py_auto_byte_compile:%{?__brp_python_bytecompile}} \ %{?__brp_python_hardlink} \ %{nil} |