[tor-commits] [tor-browser-build/master] Bug 40015: Use only 64bit fxc2

sysrqb at torproject.org sysrqb at torproject.org
Fri Jul 17 03:48:22 UTC 2020


commit bdd3275ec4291c66a7f28f2d8c772a59180109e7
Author: Georg Koppen <gk at torproject.org>
Date:   Sun Jul 5 06:37:59 2020 +0000

    Bug 40015: Use only 64bit fxc2
    
    We use the somewhat surprising breakage due to
    https://bugzilla.mozilla.org/show_bug.cgi?id=1619504 to clean up our
    fxc2 build and usage.
    
    Previously, we built both the 64bit and 32bit version of fxc2 and were
    running them in a 64bit and 32bit Wine environment, respectively.
    However, that's not needed because a) Wine is capable of running both
    64bit and 32bit binaries and b) fxc2 is only used at build time to
    generate shader files. As we are building both Windows flavors in a
    64bit container we should easily be able to live with just a 64bit
    variant.
    
    We need, nevertheless, take care that we still bundle the correct
    d3dcompiler_47.dll library for the respective architecture.
---
 projects/firefox/build  | 12 +++++-------
 projects/firefox/config |  7 ++-----
 projects/fxc2/build     | 13 +++----------
 projects/fxc2/config    |  2 +-
 rbm.conf                |  2 ++
 5 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/projects/firefox/build b/projects/firefox/build
index 294e35a..79278c8 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -9,12 +9,6 @@ mkdir -p [% dest_dir _ '/' _ c('filename') %]
   # Setting up fxc2
   tar -C /var/tmp/dist -xf [% c('input_files_by_name/fxc2') %]
   export PATH="/var/tmp/dist/fxc2/bin:$PATH"
-  # fxc2 requires Wine.
-  export WINEARCH=[% IF c("var/windows-x86_64") %]win64[% ELSE %]win32[% END %]
-  export HOME=/var/tmp/home
-  mkdir -p $HOME
-  WINEROOT=$HOME/.wine/drive_c
-  wine wineboot -i
   # Setting up stack protector support
   tar -C /var/tmp/dist -xf [% c('input_files_by_name/mingw-w64') %]
   cp /var/tmp/dist/mingw-w64/gcclibs/{libssp.a,libssp_nonshared.a} /var/tmp/dist/mingw-w64-clang/[% c("arch") %]-w64-mingw32/lib/
@@ -192,7 +186,11 @@ rm -f js/src/configure
 
 [% IF c("var/windows") %]
   cp -a obj-*/dist/firefox/* $distdir/Browser/
-  cp -a /var/tmp/dist/fxc2/bin/d3dcompiler_47.dll $distdir/Browser
+  [% IF c("var/windows-i686") %]
+    cp -a /var/tmp/dist/fxc2/bin/d3dcompiler_47_32.dll $distdir/Browser/d3dcompiler_47.dll
+  [% ELSE %]
+    cp -a /var/tmp/dist/fxc2/bin/d3dcompiler_47.dll $distdir/Browser
+  [% END %]
 [% END %]
 
 # Make MAR-based update tools available for use during the bundle phase.
diff --git a/projects/firefox/config b/projects/firefox/config
index 0ecce9d..2cc734b 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -102,11 +102,6 @@ targets:
     var:
       arch_deps:
         - wine
-      pre_pkginst: |
-        [% IF c("var/windows-i686") -%]
-          # We need this to install wine32
-          dpkg --add-architecture i386
-        [% END -%]
       compiler: mingw-w64-clang
 
   windows-i686:
@@ -152,6 +147,8 @@ input_files:
   - project: fxc2
     name: fxc2
     enable: '[% c("var/windows") %]'
+    target_prepend:
+      - torbrowser-windows-x86_64
   - name: mingw-w64
     project: mingw-w64
     enable: '[% c("var/windows") %]'
diff --git a/projects/fxc2/build b/projects/fxc2/build
index 46a7db8..26379f9 100644
--- a/projects/fxc2/build
+++ b/projects/fxc2/build
@@ -8,19 +8,12 @@ mkdir -p /var/tmp/build
 tar -C /var/tmp/build -xf [% project %]-[% c("version") %].tar.gz
 cd /var/tmp/build/[% project %]-[% c("version") %]
 
-[% IF c("var/windows-i686") -%]
-  make x86
-[% ELSE -%]
-  make x64
-[% END -%]
+make x64
 
 mkdir -p $distdir/bin/
 cp fxc2.exe $distdir/bin/
-[% IF c("var/windows-i686") -%]
-  cp dll/d3dcompiler_47_32.dll $distdir/bin/d3dcompiler_47.dll
-[% ELSE -%]
-  cp dll/d3dcompiler_47.dll $distdir/bin/
-[% END -%]
+cp dll/d3dcompiler_47_32.dll $distdir/bin/d3dcompiler_47_32.dll
+cp dll/d3dcompiler_47.dll $distdir/bin/
 
 cd /var/tmp/dist
 
diff --git a/projects/fxc2/config b/projects/fxc2/config
index 4b9f151..d1620d9 100644
--- a/projects/fxc2/config
+++ b/projects/fxc2/config
@@ -2,7 +2,7 @@
 version: '[% c("abbrev") %]'
 git_url: https://github.com/mozilla/fxc2.git
 git_hash: 5ace4c25b63cb5a83b58a3eae3d36256a6022cde
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
+filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
 
 var:
   container:
diff --git a/rbm.conf b/rbm.conf
index e1376ac..a3850d9 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -394,6 +394,7 @@ targets:
     arch: x86_64
     var:
       windows-x86_64: 1
+      windows-i686: 0
       osname: windows-x86_64
       # HEASLR is 64 bit only (see bug 12968)
       flag_HEASLR: '-Wl,--high-entropy-va'
@@ -401,6 +402,7 @@ targets:
     arch: i686
     var:
       windows-i686: 1
+      windows-x86_64: 0
       osname: windows-i686
   windows:
     var:





More information about the tor-commits mailing list