summaryrefslogtreecommitdiff
path: root/packaging/coreclr.spec
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/coreclr.spec')
-rwxr-xr-xpackaging/coreclr.spec27
1 files changed, 25 insertions, 2 deletions
diff --git a/packaging/coreclr.spec b/packaging/coreclr.spec
index 9bd45f55f6..df57d00102 100755
--- a/packaging/coreclr.spec
+++ b/packaging/coreclr.spec
@@ -2,6 +2,10 @@
%define skipnative 0
%define skipmscorlib 0
+
+%define pgo_instrument 0
+%define pgo_optimize 1
+
%ifarch %{ix86}
%define dotnet_buildtype Release
%endif
@@ -79,6 +83,11 @@ BuildRequires: libopenssl-64bit
%endif
%endif
+%if 0%{pgo_instrument} || 0%{pgo_optimize}
+BuildRequires: binutils-gold
+BuildRequires: compiler-rt
+%endif
+
%description
The CoreCLR repo contains the complete runtime implementation for .NET Core. It includes RyuJIT, the .NET GC, native interop and many other components. It is cross-platform, with multiple OS and CPU ports in progress.
@@ -180,12 +189,26 @@ export CXXFLAGS+="-fstack-protector-strong"
%endif
%endif
+%if 0%{skipnative}
+%else
+%if 0%{pgo_instrument}
+%define _pgo_flags -pgoinstrument
+%else
+%if 0%{pgo_optimize}
+# pgo optimization is enabled by default
+%define _pgo_flags ""
+%else
+%define _pgo_flags -nopgooptimize
+%endif
+%endif
+%endif
+
%if 0%{skipmscorlib}
%if 0%{skipnative}
# No build native and mscorlib.
%else
# Build native only.
-./build.sh -%{_barch} -%{_buildtype} -numproc %{_numproc} -clang3.8 -skipmscorlib -skipgenerateversion -skipnuget -msbuildonunsupportedplatform -cmakeargs "-DFEATURE_GDBJIT=TRUE -DCLR_ADDITIONAL_LINKER_FLAGS=-Wl,-z,relro"
+./build.sh -%{_barch} -%{_buildtype} -numproc %{_numproc} -skipmscorlib -skipgenerateversion -skipnuget -msbuildonunsupportedplatform -cmakeargs "-DFEATURE_GDBJIT=TRUE -DCLR_ADDITIONAL_LINKER_FLAGS=-Wl,-z,relro" %{_pgo_flags}
%endif
%else
%if 0%{skipnative}
@@ -193,7 +216,7 @@ export CXXFLAGS+="-fstack-protector-strong"
./build.sh -%{_barch} -%{_buildtype} -numproc %{_numproc} -skiprestore -skipnative -skipnuget -skipcrossgen -msbuildonunsupportedplatform
%else
# Build native and mscorlib.
-./build.sh -%{_barch} -%{_buildtype} -numproc %{_numproc} -clang3.8 -skipgenerateversion -skiprestore -skipnuget -skipcrossgen -msbuildonunsupportedplatform -cmakeargs "-DFEATURE_GDBJIT=TRUE -DCLR_ADDITIONAL_LINKER_FLAGS=-Wl,-z,relro"
+./build.sh -%{_barch} -%{_buildtype} -numproc %{_numproc} -skipgenerateversion -skiprestore -skipnuget -skipcrossgen -msbuildonunsupportedplatform -cmakeargs "-DFEATURE_GDBJIT=TRUE -DCLR_ADDITIONAL_LINKER_FLAGS=-Wl,-z,relro" %{_pgo_flags}
%endif
%endif