[tbb-commits] [tor-browser-build/master] Bug 30321: Linux changes for Firefox ESR 68
gk at torproject.org
gk at torproject.org
Wed Aug 7 20:13:14 UTC 2019
commit c26b8196c90e908a83104c639865a2aca6598efe
Author: Georg Koppen <gk at torproject.org>
Date: Wed Aug 7 20:12:43 2019 +0000
Bug 30321: Linux changes for Firefox ESR 68
---
projects/firefox/build | 40 ++++++++++++++++-----------------
projects/firefox/config | 24 +++++++++++---------
projects/firefox/mozconfig-linux-i686 | 23 +++++++++++--------
projects/firefox/mozconfig-linux-x86_64 | 12 ++++++++--
4 files changed, 56 insertions(+), 43 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index e0870c1..18db7b9 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -55,18 +55,20 @@ EOF
[% IF c("var/linux") %]
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/binutils') %]
- export PATH="/var/tmp/dist/binutils/bin:$PATH"
+ tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/python') %]
+ tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/node') %]
+ export PATH="/var/tmp/dist/binutils/bin:/var/tmp/dist/python/bin:/var/tmp/dist/node/bin:$PATH"
+ # Use clang for everything on Linux now.
+ tar -C /var/tmp/dist -xf [% c('input_files_by_name/clang') %]
+ export LLVM_CONFIG="/var/tmp/dist/clang/bin/llvm-config"
+ export PATH="/var/tmp/dist/clang/bin:$PATH"
[% END -%]
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %]
-export PATH="/var/tmp/dist/rust/bin:$PATH"
-
-[% IF c("var/linux") %]
- # Add llvm so stylo can build
- tar -C /var/tmp/dist -xf [% c('input_files_by_name/llvm') %]
- export LLVM_CONFIG="/var/tmp/dist/llvm/bin/llvm-config"
-[% END -%]
+tar -C /var/tmp/dist -xf [% c('input_files_by_name/cbindgen') %]
+tar -C /var/tmp/dist -xf [% c('input_files_by_name/nasm') %]
+export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:$PATH"
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
@@ -135,12 +137,6 @@ fi
export WIDL_TIME_OVERRIDE="0"
[% END %]
-[% IF c("var/osname") == "linux-i686" -%]
- export LDFLAGS=-m32
- export CFLAGS=-m32
- export CC='gcc -m32'
-[% END -%]
-
[% IF c("var/windows") %]
patch -p1 < $rootdir/nsis-uninstall.patch
[% END -%]
@@ -159,8 +155,10 @@ fi
rm -f configure
rm -f js/src/configure
-./mach configure --with-tor-browser-version=[% c("var/torbrowser_version") %] --with-distribution-id=org.torproject --enable-update-channel=[% c("var/torbrowser_update_channel") %] --enable-bundled-fonts --with-branding=[% c("var/branding_directory") %]
-./mach build --verbose
+./mach configure --with-distribution-id=org.torproject --enable-bundled-fonts
+# Don't build with --verbose anymore or otherwise Stylo compilation breaks on
+# Linux. See: #30321 for details.
+./mach build
[% IF c("var/android") %]
# Building a multi-locale .apk
@@ -229,11 +227,11 @@ cp -p tools/update-packaging/*.sh $MARTOOLS/
cp -p obj-*/dist/host/bin/mar $MARTOOLS/
cp -p obj-*/dist/host/bin/mbsdiff $MARTOOLS/
[% IF c("var/linux") %]
- cp -p obj-*/modules/libmar/tool/signmar $MARTOOLS/
- cp -p obj-*/security/nss/cmd/certutil/certutil_certutil/certutil $MARTOOLS/
- cp -p obj-*/security/nss/cmd/modutil/modutil_modutil/modutil $MARTOOLS/
- cp -p obj-*/security/nss/cmd/pk12util/pk12util_pk12util/pk12util $MARTOOLS/
- cp -p obj-*/security/nss/cmd/shlibsign/shlibsign_shlibsign/shlibsign $MARTOOLS/
+ cp -p obj-*/dist/bin/signmar $MARTOOLS/
+ cp -p obj-*/dist/bin/certutil $MARTOOLS/
+ cp -p obj-*/dist/bin/modutil $MARTOOLS/
+ cp -p obj-*/dist/bin/pk12util $MARTOOLS/
+ cp -p obj-*/dist/bin/shlibsign $MARTOOLS/
NSS_LIBS="libfreeblpriv3.so libmozsqlite3.so libnss3.so libnssckbi.so libnssdbm3.so libnssutil3.so libsmime3.so libsoftokn3.so libssl3.so"
NSPR_LIBS="libnspr4.so libplc4.so libplds4.so"
for LIB in $NSS_LIBS $NSPR_LIBS; do
diff --git a/projects/firefox/config b/projects/firefox/config
index 14be6ef..3608a56 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -20,7 +20,9 @@ var:
- zip
- autoconf2.13
- yasm
+ # XXX: for mach
- python
+ - pkg-config
container:
use_container: 1
# this should be updated when the list of gradle dependencies is changed
@@ -78,12 +80,8 @@ targets:
- hardening-wrapper
# To pass configure since ESR 31.
- libpulse-dev
- # To pass configure since ESR 45.
- - libgconf2-dev
# To pass configure since ESR 52
- libx11-xcb-dev
- # We built GCC but not the libmpc2, thus we need to install it
- - libmpc2
linux-i686:
var:
@@ -94,15 +92,11 @@ targets:
- libgtk-3-dev:i386
- libdbus-glib-1-dev:i386
- libxt-dev:i386
+ - hardening-wrapper
# To pass configure since ESR 31.
- libpulse-dev:i386
- # To pass configure since ESR 45.
- - libgconf2-dev:i386
# To pass configure since ESR 52
- libx11-xcb-dev:i386
- # We built GCC but not the libmpc2, thus we need to install it
- - libmpc2
- - hardening-wrapper
osx-x86_64:
var:
@@ -148,8 +142,16 @@ input_files:
enable: '[% c("var/windows") %]'
- project: rust
name: rust
- - project: llvm
- name: llvm
+ - project: cbindgen
+ name: cbindgen
+ - project: node
+ name: node
+ - project: nasm
+ name: nasm
+ - project: python
+ name: python
+ - project: clang
+ name: clang
enable: '[% c("var/linux") %]'
- project: fxc2
name: fxc2
diff --git a/projects/firefox/mozconfig-linux-i686 b/projects/firefox/mozconfig-linux-i686
index ef952aa..ff65c87 100755
--- a/projects/firefox/mozconfig-linux-i686
+++ b/projects/firefox/mozconfig-linux-i686
@@ -6,15 +6,20 @@ mk_add_options MOZILLA_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
-export CFLAGS=-m32
-export CXXFLAGS=-m32
-export LDFLAGS=-m32
-export XLDOPTS=-m32
-export ASFLAGS=-m32
-export BINDGEN_CFLAGS='-m32 --gcc-toolchain=/var/tmp/dist/gcc'
+# We want to build with clang now and point to the GCC toolchain until #29041 is
+# fixed. We explicitly need to define the host compiler as well as for some
+# reason the gcc-toolchain argument does not get passed along otherwise.
+CC="clang --gcc-toolchain=/var/tmp/dist/gcc"
+CXX="clang++ --gcc-toolchain=/var/tmp/dist/gcc"
+HOST_CC=$CC
+HOST_CXX=$CXX
+
+export BINDGEN_CFLAGS='--gcc-toolchain=/var/tmp/dist/gcc'
ac_add_options --target=i686-linux-gnu
-ac_add_options --host=i686-linux-gnu
+
+# XXX: gold and lld break when linking libxul, resort to bfd
+ac_add_options --enable-linker=bfd
ac_add_options --enable-optimize
#ac_add_options --disable-optimize
@@ -23,7 +28,7 @@ ac_add_options --enable-official-branding
# Let's support GTK3 for ESR60
ac_add_options --enable-default-toolkit=cairo-gtk3
-ac_add_options --enable-tor-browser-update
+# XXX: ac_add_options --enable-tor-browser-update
ac_add_options --enable-signmar
ac_add_options --enable-verify-mar
@@ -31,9 +36,9 @@ ac_add_options --disable-strip
ac_add_options --disable-install-strip
ac_add_options --disable-tests
ac_add_options --disable-debug
-ac_add_options --disable-maintenance-service
ac_add_options --disable-crashreporter
ac_add_options --disable-webrtc
# Let's make sure no preference is enabling either Adobe's or Google's CDM.
ac_add_options --disable-eme
+ac_add_options --enable-proxy-bypass-protection
#ac_add_options --disable-ctypes
diff --git a/projects/firefox/mozconfig-linux-x86_64 b/projects/firefox/mozconfig-linux-x86_64
index 75fba50..69dc4ef 100755
--- a/projects/firefox/mozconfig-linux-x86_64
+++ b/projects/firefox/mozconfig-linux-x86_64
@@ -6,6 +6,14 @@ mk_add_options MOZILLA_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
+# We want to build with clang now and point to the GCC toolchain until #29041 is
+# fixed. We explicitly need to define the host compiler as well as for some
+# reason the gcc-toolchain argument does not get passed along otherwise.
+CC="clang --gcc-toolchain=/var/tmp/dist/gcc"
+CXX="clang++ --gcc-toolchain=/var/tmp/dist/gcc"
+HOST_CC=$CC
+HOST_CXX=$CXX
+
export BINDGEN_CFLAGS='--gcc-toolchain=/var/tmp/dist/gcc'
ac_add_options --enable-optimize
@@ -15,7 +23,7 @@ ac_add_options --enable-official-branding
# Let's support GTK3 for ESR60
ac_add_options --enable-default-toolkit=cairo-gtk3
-ac_add_options --enable-tor-browser-update
+# XXX: ac_add_options --enable-tor-browser-update
ac_add_options --enable-signmar
ac_add_options --enable-verify-mar
@@ -23,9 +31,9 @@ ac_add_options --disable-strip
ac_add_options --disable-install-strip
ac_add_options --disable-tests
ac_add_options --disable-debug
-ac_add_options --disable-maintenance-service
ac_add_options --disable-crashreporter
ac_add_options --disable-webrtc
# Let's make sure no preference is enabling either Adobe's or Google's CDM.
ac_add_options --disable-eme
+ac_add_options --enable-proxy-bypass-protection
#ac_add_options --disable-ctypes
More information about the tbb-commits
mailing list