use_lld overrided use_gold. Reworked definition of linker.

This commit is contained in:
Mikhail Novosyolov 2018-10-18 22:31:25 +03:00
parent e5316914d9
commit dfdcce7f42

View file

@ -39,7 +39,7 @@
Summary: A fast web browser based on the Blink engine
Name: chromium-browser-stable
Version: 69.0.3497.100
Release: 4
Release: 5
License: BSD, LGPL
Group: Networking/WWW
Url: https://www.chromium.org/Home
@ -353,12 +353,6 @@ mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/node
%build
%define use_gold true
%if 0%{clang}
%define is_clang true
%else
%define is_clang false
%endif
# widevinecdmadapter
# Build error with widevinecdmadapter in 67.0.3396.62 (fixed)
@ -369,13 +363,6 @@ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/node
%define is_widevine false
%endif
%define lld 1
%if 0%{lld}
%define is_lld true
%else
%define is_lld false
%endif
# jumbo https://chromium.googlesource.com/chromium/src/+/master/docs/jumbo.md
# (Alzim) 1 - localhost, 0 - ABF build
%define localhost 0
@ -392,16 +379,33 @@ ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/node
%endif
%if 0%{?clang}
%define is_clang true
export CC=clang
export CXX=clang++
export AR=ar
export NM=nm
# different linkers may be used with LLVM Clang
# lld linker overrides gold linker
# lld gave error on x86_64
# let's use gold for now
%define use_linker use_gold
#Alternative to gold: define use_linker use_lld
%define use_linker_def true
%if %{use_linker} == 'use_lld'
# flags to fix i586 builds
%ifarch i386 i486 i586 i686
# these flags previously were exported on all architectures, not ix86 only
%ifarch %{ix86}
# i386 i486 i586 i686
export LDFLAGS="$LDFLAGS -Wl,-z,notext"
%endif
%endif
%else
%define is_clang false
# fake definition of linker to not have an empty string in build agruements
%define use_linker use_gold
%define use_linker_def false
%setup_compile_flags
CC=%{__cc}; export CC
CXX=%{__cxx}; export CXX
@ -427,7 +431,6 @@ CXXFLAGS="$CXXFLAGS -Wno-error=attributes -Wno-error=comment -Wno-error=unused-v
optimize_webui=true \
binutils_path="%{_bindir}" \
linux_use_bundled_binutils=false \
use_gold=%{use_gold} \
custom_toolchain="%{_sourcedir}:default" \
proprietary_codecs=true \
ffmpeg_branding="Chromium" \
@ -456,7 +459,6 @@ CXXFLAGS="$CXXFLAGS -Wno-error=attributes -Wno-error=comment -Wno-error=unused-v
use_allocator_shim=false \
clang_use_chrome_plugins=false \
clang_base_path="%{_prefix}" \
use_lld=%{is_lld} \
use_system_freetype=true \
use_bundled_fontconfig=false \
use_system_harfbuzz=true \
@ -465,6 +467,7 @@ CXXFLAGS="$CXXFLAGS -Wno-error=attributes -Wno-error=comment -Wno-error=unused-v
google_api_key="%{google_api_key}" \
google_default_client_id="%{google_default_client_id}" \
google_default_client_secret="%{google_default_client_secret}" \
%{use_linker}=%{use_linker_def} \
use_jumbo_build=true \
jumbo_file_merge_limit = %{is_limit}
#extra_cxxflags="${CXXFLAGS}" \