Blame adopt-language-specific-build_fooflags-macros-from-F.patch

Bernhard M. Wiedemann 1250f9
From 9a50846ceeef2add2344dd463c5562bd69496a23 Mon Sep 17 00:00:00 2001
Bernhard M. Wiedemann 1250f9
From: Panu Matilainen <pmatilai@redhat.com>
Bernhard M. Wiedemann 1250f9
Date: Mon, 6 May 2019 14:44:30 +0300
Bernhard M. Wiedemann 1250f9
Subject: [PATCH] Adopt language-specific %build_fooflags macros from Fedora
Bernhard M. Wiedemann 1250f9
Bernhard M. Wiedemann 1250f9
%{optflags} has been the catchall for all compiler options but this
Bernhard M. Wiedemann 1250f9
is quite limiting as there's no way to add for example C++ specific
Bernhard M. Wiedemann 1250f9
options distro-wide. This adds separate %build_cflags, %build_cxxflags,
Bernhard M. Wiedemann 1250f9
%build_fflags for the gcc-supported languages, and additionally
Bernhard M. Wiedemann 1250f9
%build_ldflags for distro-wide LDFLAGS setting.
Bernhard M. Wiedemann 1250f9
Bernhard M. Wiedemann 1250f9
Based on Florian Weimer's work in Fedoras redhat-rpm-config macros.
Bernhard M. Wiedemann 1250f9
---
Bernhard M. Wiedemann 1250f9
 macros.in | 26 +++++++++++++++++++++++---
Bernhard M. Wiedemann 1250f9
 1 file changed, 23 insertions(+), 3 deletions(-)
Bernhard M. Wiedemann 1250f9
Bernhard M. Wiedemann 1250f9
diff --git a/macros.in b/macros.in
Bernhard M. Wiedemann 1250f9
index 2ab108776..b6cb52951 100644
Bernhard M. Wiedemann 1250f9
--- a/macros.in
Bernhard M. Wiedemann 1250f9
+++ b/macros.in
Bernhard M. Wiedemann 1250f9
@@ -999,6 +999,24 @@ package or when debugging this package.\
Bernhard M. Wiedemann 1250f9
 %_target_vendor		%{_host_vendor}
Bernhard M. Wiedemann 1250f9
 %_target_os		%{_host_os}
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
+#==============================================================================
Bernhard M. Wiedemann 1250f9
+# ---- compiler flags.
Bernhard M. Wiedemann 1250f9
+
Bernhard M. Wiedemann 1250f9
+# C compiler flags.  This is traditionally called CFLAGS in makefiles.
Bernhard M. Wiedemann 1250f9
+# Historically also available as %%{optflags}, and %%build sets the
Bernhard M. Wiedemann 1250f9
+# environment variable RPM_OPT_FLAGS to this value.
Bernhard M. Wiedemann 1250f9
+%build_cflags %{optflags}
Bernhard M. Wiedemann 1250f9
+
Bernhard M. Wiedemann 1250f9
+# C++ compiler flags.  This is traditionally called CXXFLAGS in makefiles.
Bernhard M. Wiedemann 1250f9
+%build_cxxflags %{optflags}
Bernhard M. Wiedemann 1250f9
+
Bernhard M. Wiedemann 1250f9
+# Fortran compiler flags.  Makefiles use both FFLAGS and FCFLAGS as
Bernhard M. Wiedemann 1250f9
+# the corresponding variable names.
Bernhard M. Wiedemann 1250f9
+%build_fflags %{optflags} %{?_fmoddir:-I%{_fmoddir}}
Bernhard M. Wiedemann 1250f9
+
Bernhard M. Wiedemann 1250f9
+# Link editor flags.  This is usually called LDFLAGS in makefiles.
Bernhard M. Wiedemann 1250f9
+#%build_ldflags -Wl,-z,relro %{?_lto_cflags}
Bernhard M. Wiedemann 1250f9
+
Bernhard M. Wiedemann 1250f9
 #==============================================================================
Bernhard M. Wiedemann 1250f9
 # ---- specfile macros.
Bernhard M. Wiedemann 1250f9
 #	Macro(s) here can be used reliably for reproducible builds.
Bernhard M. Wiedemann 1250f9
@@ -1010,9 +1028,11 @@ package or when debugging this package.\
Bernhard M. Wiedemann 1250f9
 #
Bernhard M. Wiedemann 1250f9
 %_configure ./configure
Bernhard M. Wiedemann 1250f9
 %configure \
Bernhard M. Wiedemann 1250f9
-  CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
Bernhard M. Wiedemann 1250f9
-  CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
Bernhard M. Wiedemann 1250f9
-  FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
Bernhard M. Wiedemann 1250f9
+  CFLAGS="${CFLAGS:-%{?build_cflags}}" ; export CFLAGS ; \
Bernhard M. Wiedemann 1250f9
+  CXXFLAGS="${CXXFLAGS:-%{?build_cxxflags}}" ; export CXXFLAGS ; \
Bernhard M. Wiedemann 1250f9
+  FFLAGS="${FFLAGS:-%{?build_fflags}}" ; export FFLAGS ; \
Bernhard M. Wiedemann 1250f9
+  FCFLAGS="${FCFLAGS:-%{?build_fflags}}" ; export FCFLAGS ; \
Bernhard M. Wiedemann 1250f9
+  LDFLAGS="${LDFLAGS:-%{?build_ldflags}}" ; export LDFLAGS ; \
Bernhard M. Wiedemann 1250f9
   %{_configure} --host=%{_host} --build=%{_build} \\\
Bernhard M. Wiedemann 1250f9
 	--program-prefix=%{?_program_prefix} \\\
Bernhard M. Wiedemann 1250f9
 	--disable-dependency-tracking \\\
Bernhard M. Wiedemann 1250f9
-- 
Bernhard M. Wiedemann 1250f9
2.21.0
Bernhard M. Wiedemann 1250f9