Ignore:
Timestamp:
05/21/2019 04:35:28 PM (5 years ago)
Author:
Ken Moffat <ken@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 9.0, 9.1, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
Children:
ba6d702
Parents:
77deb22e
Message:

Firefox-67.0

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@21615 af4574ff-66df-0310-9fd7-8a98e5e911e0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • xsoft/graphweb/firefox.xml

    r77deb22e re399c12  
    77  <!ENTITY firefox-download-http "&mozilla-http;/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.xz">
    88  <!ENTITY firefox-download-ftp  " ">
    9   <!ENTITY firefox-md5sum        "a3d00fb4e950558135f08a5155745d4e">
    10   <!ENTITY firefox-size          "269 MB">
     9  <!ENTITY firefox-md5sum        "41a5d504deaed12ebf0e25bb1420f08">
     10  <!ENTITY firefox-size          "270 MB">
    1111  <!-- NB with stylo, much of the build uses rust, and therefore cargo files.
    1212    But the extra cached cargo files, if any, seem to be minimal -->
    13   <!ENTITY firefox-buildsize     "11.8 GB (156 MB installed) without tests">
     13  <!ENTITY firefox-buildsize     "3.8 GB (154 MB installed) without tests">
    1414  <!-- editors: with ff63 and rust-1.29, ./mach build -j4 is probably the
    1515   most practical way to get a timing on a machine with more cores, if taking
    1616   cores offline is not practical. If in doubt, round up -->
    17   <!ENTITY firefox-time          "25 SBU (with parallelism=4) without tests">
     17  <!ENTITY firefox-time          "28 SBU (with parallelism=4) without tests">
    1818]>
    1919
     
    139139      <xref linkend="autoconf213"/>,
    140140      <xref linkend="cbindgen"/>,
    141       <application>Clang</application> (from <xref linkend="llvm"/>),
    142141      both <xref linkend="gtk3"/> and
    143142      <xref linkend="gtk2"/>,
     
    162161<!-- fails to build in 65.0 (headers changed)
    163162      <xref linkend="libvpx"/>, -->
    164       <xref linkend="libwebp"/>, and
     163      <xref linkend="libwebp"/>,
     164      <xref linkend="nasm"/>, and
    165165      <xref linkend="sqlite"/>
    166166    </para>
     
    257257ac_add_options --with-system-icu
    258258
    259 # The gold linker is no-longer the default
    260 ac_add_options --enable-linker=gold
    261 
    262 # The shipped libdavid (av1 decoder) is not built by default,
    263 # at least on linux, but if nasm is not present libxul tries to
    264 # link to one of libdavid's objects and fails.  It is thought
    265 # libdavid will be enabled in firefox-67, at which point nasm
    266 # might be required.
    267 ac_add_options --disable-av1
     259# Do not specify the gold linker which is not the default. It will take
     260# longer and use more disk space when debug symbols are disabled.
     261
     262# libdavid (av1 decoder) requires nasm. Uncomment this if nasm
     263# has not been installed.
     264#ac_add_options --disable-av1
    268265
    269266# You cannot distribute the binary if you do this
     
    279276#ac_add_options --disable-strip
    280277#ac_add_options --disable-install-strip
     278
     279# Disabling debug symbols makes the build much smaller and a little
     280# faster. Comment this if you need to run a debugger.
     281ac_add_options --disable-debug-symbols
    281282
    282283# The BLFS editors recommend not changing anything below this line:
     
    290291ac_add_options --disable-tests
    291292
    292 # With clang, unlike gcc-7 and later, the default level
    293 # of optimization produces a working build.
     293# The default level of optimization again produces a working build with gcc.
    294294ac_add_options --enable-optimize
    295295
     
    362362
    363363    <para>
    364 <!--  Invoke the Python script to compile the package: -->
    365       To use the system version of ICU, run a sed to avoid a conflict between
     364      If you are still using ICU-63, run a sed to avoid a conflict between
    366365      upstream ICU's use of <literal>CheckImpl()</literal> in their public headers
    367366      and firefox's internal use of a different <literal>CheckImpl()</literal>.
    368       Then invoke the Python2 script to compile the package.
    369     </para>
    370 
    371 <screen><userinput>sed -e 's/checkImpl/checkFFImpl/g' -i js/src/vm/JSContext*.h &amp;&amp;
    372 export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib &amp;&amp;
     367    </para>
     368
     369<screen role="nodump"><userinput>sed -e 's/checkImpl/checkFFImpl/g' -i js/src/vm/JSContext*.h</userinput></screen>
     370
     371    <para>
     372      Invoke the Python2 script to compile the package.
     373    </para>
     374
     375<screen><userinput>export CC=gcc CXX=g++ &amp;&amp;
    373376export MOZBUILD_STATE_PATH=${PWD}/mozbuild &amp;&amp;
    374377./mach build</userinput></screen>
     
    398401    </para>
    399402
    400 <screen><userinput>unset CC CXX AR NM RANLIB MOZBUILD_STATE_PATH</userinput></screen>
     403<screen><userinput>unset CC CXX MOZBUILD_STATE_PATH</userinput></screen>
    401404
    402405  </sect2>
     
    407410    <para>
    408411      <command>sed -e 's/checkImpl/checkFFImpl/g' ...</command>: Although the
    409       package ships with a modified version of <application>ICU-59</application>
    410       and only tests that the system version, if requested, is at least 59,
    411       changes in <emphasis>some</emphasis> versions cause builds with the system
    412       version to fail with error messages of the form <literal>no void
    413       JSContext::checkImpl_NN member function</literal> where NN is the system
    414       <application>ICU</application> version. The sed renames the local function.
    415     </para>
    416 
    417     <para>
    418       <command>export CC=clang CXX=clang++ ...</command>: Upstream now use
    419       <application>clang</application> and building with any recent version
    420       saves a lot of space.
     412      package ships with a modified version of <application>ICU-63</application>
     413      and only tests that the system version, if used, is at least 63, changes
     414      from upstream 63 cause builds with the system version to fail with an error
     415      message <literal>no void JSContext::checkImpl_63 member function</literal>.
     416      The sed renames the local function. Upstream ICU-64 works around this.
     417    </para>
     418
     419    <para>
     420      <command>export CC=gcc CXX=g++ ...</command>: Upstream now prefer
     421      <application>clang</application>, but gcc is a more secure compiler and
     422      now produces reasonably-sized builds.
    421423    </para>
    422424
     
    454456      of cores, e.g. -j4 for 4 cores: First, if using all the cores causes
    455457      the build to swap because you have insufficient memory (e.g. for 4 cores
    456       a build without system graphite2 and harfbuzz now uses slightly over 8GB
     458      a build without system graphite2 and harfbuzz now uses towards 8GB
    457459      of RAM). In such cases, using fewer cores can be faster. Second, on some
    458460      machines the middle part of the build can drag on as if only one core is
     
    474476      class="directory">/usr/lib/mozilla/plugins</filename> by default, but the
    475477      symbolic link is made to keep all the plugins installed in one folder.
     478    </para>
     479
     480    <para>
     481      <option>export CC=clang CXX=clang++ AR=llvm-ar NM=llvm-nm RANLIB=llvm-ranlib</option>:
     482      Use this as an alternative to building with gcc and g++ if you wish to use
     483      the clang toolchain. Remember to unset these variables after the build.
    476484    </para>
    477485
Note: See TracChangeset for help on using the changeset viewer.