diff options
Diffstat (limited to 'packaging/coreclr.spec')
-rwxr-xr-x | packaging/coreclr.spec | 27 |
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 |