tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 2aba1fe0dcceee48552757fbd2f9a14e50856305
parent bbb9a9e5ce0168b4e134118ef91ee1f9b142d851
Author: Ryan VanderMeulen <rvandermeulen@mozilla.com>
Date:   Mon, 10 Nov 2025 13:15:05 +0000

Bug 1998498 - Update libxml2 to v2.15.1. r=firefox-build-system-reviewers,ahochheiden

Also clean up the CMake flags a bit to avoid some build warnings.

Breaking changes that were addressed:
- v2.12.0 made POSIX threads (-pthread) a required link dependency on Linux
  when building with threads:
  https://github.com/GNOME/libxml2/commit/c19771c1f13de9196f98260d142d8c8672eb5733
  Worked around by disabling LIBXML2_WITH_THREADS to avoid try-link failures.
- v2.13.0 made bcrypt a required link dependency on Windows:
  https://github.com/GNOME/libxml2/commit/2e9e758d1ecb52b73a43db79d326c18d7d94c8d7
  Addressed by updating build-clang.py to link bcrypt where needed.

Differential Revision: https://phabricator.services.mozilla.com/D271476

Diffstat:
Mbuild/build-clang/build-clang.py | 5+++++
Mtaskcluster/kinds/fetch/toolchains.yml | 4++--
Mtaskcluster/scripts/misc/build-libxml2.sh | 13++++---------
3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/build/build-clang/build-clang.py b/build/build-clang/build-clang.py @@ -234,6 +234,11 @@ def build_one_stage( if bolt: ldflags.append("-Wl,--emit-relocs,-znow") + # libxml2 2.13+ Windows builds introduced a hard dependency on bcrypt + # which must also be specified or else LibXml2 detection fails. + if is_windows(target) and is_final_stage: + ldflags.append("/DEFAULTLIB:bcrypt") + cmake_args = [ "-GNinja", "-DCMAKE_C_COMPILER=%s" % slashify_path(cc[0]), diff --git a/taskcluster/kinds/fetch/toolchains.yml b/taskcluster/kinds/fetch/toolchains.yml @@ -754,11 +754,11 @@ windows-rs: add-prefix: windows-rs/ libxml2: - description: libxml2 2.9.12 source code + description: libxml2 2.15.1 source code fetch: type: git repo: https://gitlab.gnome.org/GNOME/libxml2 - revision: b48e77cf4f6fa0792c5f4b639707a2b0675e461b + revision: b7fa62cbe8ef0df5869e000d5b690bdedd07f33e mozilla-pdf.js: description: Mozilla pdf.js Github repo diff --git a/taskcluster/scripts/misc/build-libxml2.sh b/taskcluster/scripts/misc/build-libxml2.sh @@ -19,7 +19,7 @@ case "$TARGET" in -DCMAKE_C_COMPILER=clang-cl -DCMAKE_LINKER=lld-link -DCMAKE_MT=llvm-mt - -DCMAKE_C_FLAGS=\"-fuse-ld=lld -Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml -winsysroot $MOZ_FETCHES_DIR/vs\" + -DCMAKE_C_FLAGS=\"-Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml -winsysroot $MOZ_FETCHES_DIR/vs\" -DCMAKE_EXE_LINKER_FLAGS=\"-winsysroot:$MOZ_FETCHES_DIR/vs\" -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded @@ -28,9 +28,8 @@ case "$TARGET" in *-unknown-linux-gnu) EXTRA_CMAKE_FLAGS=" -DCMAKE_C_COMPILER=clang - -DCMAKE_LINKER=clang - -DCMAKE_C_FLAGS=\"-fuse-ld=lld --sysroot=$MOZ_FETCHES_DIR/sysroot\" - -DCMAKE_EXE_LINKER_FLAGS=\"--sysroot=$MOZ_FETCHES_DIR/sysroot\" + -DCMAKE_C_FLAGS=\"--sysroot=$MOZ_FETCHES_DIR/sysroot\" + -DCMAKE_EXE_LINKER_FLAGS=\"-fuse-ld=lld --sysroot=$MOZ_FETCHES_DIR/sysroot\" " ;; esac @@ -44,25 +43,21 @@ eval cmake \ -DLIBXML2_WITH_C14N=OFF \ -DLIBXML2_WITH_CATALOG=OFF \ -DLIBXML2_WITH_DEBUG=OFF \ - -DLIBXML2_WITH_DOCB=OFF \ - -DLIBXML2_WITH_FTP=OFF \ -DLIBXML2_WITH_HTML=OFF \ -DLIBXML2_WITH_HTTP=OFF \ -DLIBXML2_WITH_ICONV=OFF \ -DLIBXML2_WITH_ICU=OFF \ -DLIBXML2_WITH_ISO8859X=OFF \ -DLIBXML2_WITH_LEGACY=OFF \ - -DLIBXML2_WITH_LZMA=OFF \ - -DLIBXML2_WITH_MEM_DEBUG=OFF \ -DLIBXML2_WITH_MODULES=OFF \ -DLIBXML2_WITH_PROGRAMS=OFF \ -DLIBXML2_WITH_PUSH=OFF \ -DLIBXML2_WITH_PYTHON=OFF \ -DLIBXML2_WITH_READER=OFF \ - -DLIBXML2_WITH_RUN_DEBUG=OFF \ -DLIBXML2_WITH_SCHEMATRON=OFF \ -DLIBXML2_WITH_TESTS=OFF \ -DLIBXML2_WITH_THREAD_ALLOC=OFF \ + -DLIBXML2_WITH_THREADS=OFF \ -DLIBXML2_WITH_VALID=OFF \ -DLIBXML2_WITH_WRITER=OFF \ -DLIBXML2_WITH_XINCLUDE=OFF \