RepositoryExternal.mk                                    |   13 
 bin/lo-all-static-libs                                   |    1 
 config_host.mk.in                                        |    2 
 configure.ac                                             |   34 +-
 download.lst                                             |   34 +-
 external/curl/ExternalPackage_curl.mk                    |    2 
 external/curl/ExternalProject_curl.mk                    |    3 
 external/curl/UnpackedTarball_curl.mk                    |    9 
 external/curl/asan-poison-nsspem.patch.0                 |   11 
 external/curl/clang-cl.patch.0                           |    2 
 external/curl/configurable-z-option.patch.0              |   20 +
 external/curl/curl-7.26.0_win-proxy.patch                |  121 --------
 external/curl/curl-msvc-disable-protocols.patch.1        |    4 
 external/curl/curl-msvc-zlib.patch.1                     |   16 +
 external/curl/curl-msvc.patch.1                          |    4 
 external/curl/curl-nss.patch.1                           |   11 
 external/curl/zlib.patch.0                               |   12 
 external/expat/expat-winapi.patch                        |   13 
 external/libjpeg-turbo/ExternalProject_libjpeg-turbo.mk  |   43 ---
 external/libjpeg-turbo/Module_libjpeg-turbo.mk           |    2 
 external/libjpeg-turbo/StaticLibrary_libjpeg-turbo.mk    |  214 +++++++++++++++
 external/libjpeg-turbo/UnpackedTarball_libjpeg-turbo.mk  |   14 
 external/libjpeg-turbo/jconfig.h                         |   86 ++++++
 external/libjpeg-turbo/jconfigint.h                      |   51 +++
 external/libjpeg-turbo/jpeg-turbo.build.patch.1          |   58 ----
 external/libjpeg-turbo/jpeg-turbo.win_build.patch.1      |   54 ---
 external/libjpeg-turbo/ubsan.patch                       |   39 --
 external/libxml2/ExternalPackage_libxml2.mk              |    2 
 external/libxml2/UnpackedTarball_libxml2.mk              |    3 
 external/libxml2/libxml2-android.patch                   |    6 
 external/libxml2/libxml2-config.patch.1                  |   43 ---
 external/libxml2/xml2-config.in                          |   28 +
 external/nss/UnpackedTarball_nss.mk                      |    3 
 external/nss/asan.patch.1                                |    6 
 external/nss/clang-cl.patch.0                            |   23 +
 external/nss/macos-dlopen.patch.0                        |    2 
 external/nss/nss-3.13.5-zlib-werror.patch                |   13 
 external/nss/nss-android.patch.1                         |    8 
 external/nss/nss-bz1646594.patch.1                       |    2 
 external/nss/nss-ios.patch                               |   44 +--
 external/nss/nss-restore-manual-pre-dependencies.patch.1 |    2 
 external/nss/nss-win32-make.patch.1                      |    4 
 external/nss/nss.aix.patch                               |   10 
 external/nss/nss.bzmozilla1238154.patch                  |    2 
 external/nss/nss.cygwin64.in32bit.patch                  |    2 
 external/nss/nss.nowerror.patch                          |    2 
 external/nss/nss.patch                                   |   22 -
 external/nss/nss.utf8bom.patch.1                         |    4 
 external/nss/nss.vs2015.patch                            |    2 
 external/nss/nss.vs2015.pdb.patch                        |    2 
 external/nss/nss.windows.patch                           |    6 
 external/nss/nss_macosx.patch                            |   12 
 external/nss/ubsan.patch.0                               |   11 
 external/openssl/UnpackedTarball_openssl.mk              |    2 
 external/openssl/configurable-z-option.patch.0           |   34 ++
 external/openssl/openssl-no-_umul128-on-aarch64.patch.1  |   58 ++++
 external/openssl/openssl-no-multilib.patch.0             |    4 
 external/openssl/opensslios.patch                        |   12 
 sc/source/core/tool/interpr7.cxx                         |    2 
 solenv/bin/concat-deps.c                                 |    5 
 solenv/gbuild/LinkTarget.mk                              |   77 +++++
 solenv/gbuild/StaticLibrary.mk                           |    2 
 solenv/gbuild/TargetLocations.mk                         |    3 
 solenv/gbuild/platform/android.mk                        |    1 
 solenv/gbuild/platform/com_MSC_class.mk                  |    1 
 solenv/gbuild/platform/iOS.mk                            |    2 
 solenv/gbuild/platform/macosx.mk                         |    2 
 solenv/gbuild/platform/solaris.mk                        |    2 
 solenv/gbuild/platform/unxgcc.mk                         |    2 
 test/source/xmltesttools.cxx                             |    2 
 ucb/source/ucp/ftp/ftpcontent.cxx                        |   15 +
 unoxml/source/xpath/xpathobject.cxx                      |    2 
 72 files changed, 826 insertions(+), 539 deletions(-)

New commits:
commit 19cb0a5da0b4c93f7e5f6255985ee1e3e75600d5
Author:     Michael Stahl <michael.st...@allotropia.de>
AuthorDate: Wed Oct 26 14:58:09 2022 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Sat Mar 11 08:47:36 2023 +0000

    ucb: FTP UCP: report CURLE_URL_MALFORMAT as IllegalIdentifierException
    
    With curl 7.86, the test JunitTest_ucb_complex starts to fail:
    
    .ftp://noname:nopasswd@*nohost.invalid
    now executing open
    com.sun.star.ucb.InteractiveAugmentedIOException:
            at com.sun.proxy.$Proxy15.execute(Unknown Source)
            at complex.ucb.UCB.executeCommand(UCB.java:63)
            at complex.ucb.UCB.checkWrongFtpConnection(UCB.java:119)
    
    because curl_easy_perform() now returns CURLE_URL_MALFORMAT where
    previously it was CURLE_COULDNT_RESOLVE_HOST.
    
    Map this to an exception the test expects.
    
    Change-Id: Ifdb672946726ddb4cb4d9426b7e70eefac63f040
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141877
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    (cherry picked from commit 022e476af44c0dfc97403dc0f3a3b63e731903e6)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141844
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148678
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Andras Timar <andras.ti...@collabora.com>

diff --git a/ucb/source/ucp/ftp/ftpcontent.cxx 
b/ucb/source/ucp/ftp/ftpcontent.cxx
index e655c6cbe162..dc6284976dfb 100644
--- a/ucb/source/ucp/ftp/ftpcontent.cxx
+++ b/ucb/source/ucp/ftp/ftpcontent.cxx
@@ -62,6 +62,7 @@
 #include <com/sun/star/ucb/UnsupportedDataSinkException.hpp>
 #include <com/sun/star/ucb/OpenCommandArgument2.hpp>
 #include <com/sun/star/ucb/UnsupportedOpenModeException.hpp>
+#include <com/sun/star/ucb/IllegalIdentifierException.hpp>
 #include <com/sun/star/ucb/InteractiveNetworkConnectException.hpp>
 #include <com/sun/star/ucb/InteractiveNetworkResolveNameException.hpp>
 #include <com/sun/star/ucb/InteractiveIOException.hpp>
@@ -225,6 +226,7 @@ enum ACTION { NOACTION,
               THROWAUTHENTICATIONREQUEST,
               THROWACCESSDENIED,
               THROWINTERACTIVECONNECT,
+              THROWMALFORMED,
               THROWRESOLVENAME,
               THROWQUOTE,
               THROWNOFILE,
@@ -343,6 +345,15 @@ Any SAL_CALL FTPContent::execute( const Command& aCommand,
                         Environment);
                     break;
                 }
+            case THROWMALFORMED:
+                {
+                    IllegalIdentifierException ex;
+                    aRet <<= ex;
+                    ucbhelper::cancelCommandExecution(
+                        aRet,
+                        Environment);
+                    break;
+                }
             case THROWRESOLVENAME:
                 {
                     InteractiveNetworkResolveNameException excep;
@@ -537,6 +548,10 @@ Any SAL_CALL FTPContent::execute( const Command& aCommand,
         {
             if(e.code() == CURLE_COULDNT_CONNECT)
                 action = THROWINTERACTIVECONNECT;
+            else if (e.code() == CURLE_URL_MALFORMAT)
+            {
+                action = THROWMALFORMED;
+            }
             else if(e.code() == CURLE_COULDNT_RESOLVE_HOST )
                 action = THROWRESOLVENAME;
             else if(e.code() == CURLE_FTP_USER_PASSWORD_INCORRECT ||
commit ac8f98ffc2daa644bc46858e4093beb9856b78fb
Author:     Andras Timar <andras.ti...@collabora.com>
AuthorDate: Fri Mar 10 12:09:59 2023 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Sat Mar 11 08:47:27 2023 +0000

    update 3rd party libs
    
    * curl 7.88.1
    * expat 2.5.0
    * libjpeg-turbo 2.1.2
    * libxml2 2.10.3
    * nss 3.88.1
    * openssl 1.1.1t
    * libpng 1.6.39
    * zlib 1.2.13
    
    Change-Id: I3ece36a221af44612519f964d580affa9004a0f9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148612
    Tested-by: Andras Timar <andras.ti...@collabora.com>
    Reviewed-by: Andras Timar <andras.ti...@collabora.com>

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 7bd24aa31801..40e45964078b 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -397,6 +397,10 @@ endif # SYSTEM_ZLIB
 ifneq ($(SYSTEM_LIBJPEG),)
 
 define gb_LinkTarget__use_libjpeg
+$(call gb_LinkTarget_set_include,$(1),\
+       $$(INCLUDE) \
+       $(LIBJPEG_CFLAGS) \
+)
 $(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
 $(call gb_LinkTarget_set_ldflags,$(1),\
        $$(filter-out -L/usr/lib/jvm%,$$(T_LDFLAGS)) \
@@ -410,16 +414,15 @@ else
 
 define gb_LinkTarget__use_libjpeg
 $(call gb_LinkTarget_set_include,$(1),\
-       $(LIBJPEG_CFLAGS) \
+       -I$(call gb_UnpackedTarball_get_dir,libjpeg-turbo) \
        $$(INCLUDE) \
 )
-$(call gb_LinkTarget_add_libs,$(1),$(LIBJPEG_LIBS))
-$(call gb_LinkTarget_use_external_project,$(1),libjpeg-turbo,full)
+$(call gb_LinkTarget_use_static_libraries,$(1),libjpeg-turbo)
 
 endef
 
 define gb_ExternalProject__use_libjpeg
-$(call gb_ExternalProject_use_external_project,$(1),libjpeg-turbo)
+$(call gb_ExternalProject_use_static_libraries,$(1),libjpeg-turbo)
 
 endef
 
@@ -2819,7 +2822,7 @@ $(call gb_LinkTarget_set_include,$(1),\
 
 ifeq ($(COM),MSC)
 $(call gb_LinkTarget_add_libs,$(1),\
-       $(call 
gb_UnpackedTarball_get_dir,curl)/builds/libcurl-vc12-$(gb_MSBUILD_PLATFORM)-$(gb_MSBUILD_CONFIG)-dll-ipv6-sspi-schannel/lib/libcurl$(if
 $(MSVC_USE_DEBUG_RUNTIME),_debug).lib \
+       $(call 
gb_UnpackedTarball_get_dir,curl)/builds/libcurl-vc12-$(gb_MSBUILD_PLATFORM)-$(gb_MSBUILD_CONFIG)-dll-zlib-static-ipv6-sspi-schannel/lib/libcurl$(if
 $(MSVC_USE_DEBUG_RUNTIME),_debug).lib \
 )
 else
 $(call gb_LinkTarget_add_libs,$(1),\
diff --git a/bin/lo-all-static-libs b/bin/lo-all-static-libs
index 455861da5a73..fbe6d7010624 100755
--- a/bin/lo-all-static-libs
+++ b/bin/lo-all-static-libs
@@ -111,7 +111,6 @@ echo $INSTDIR/$LIBO_LIB_FOLDER/lib*.a \
      $WORKDIR/LinkTarget/StaticLibrary/lib*.a \
      $oslibs \
      $WORKDIR/UnpackedTarball/icu/source/lib/*.a \
-     $WORKDIR/UnpackedTarball/libjpeg-turbo/.libs/*.a \
      $WORKDIR/UnpackedTarball/liblangtag/liblangtag/.libs/*.a \
      $WORKDIR/UnpackedTarball/lcms2/src/.libs/*.a \
      $WORKDIR/UnpackedTarball/libabw/src/lib/.libs/*.a \
diff --git a/config_host.mk.in b/config_host.mk.in
index 96723061447c..a8a292fba2df 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -447,6 +447,7 @@ export MWAW_LIBS=$(gb_SPACE)@MWAW_LIBS@
 export MYTHES_CFLAGS=$(gb_SPACE)@MYTHES_CFLAGS@
 export MYTHES_LIBS=$(gb_SPACE)@MYTHES_LIBS@
 export NASM=@NASM@
+export NAFLAGS=@NAFLAGS@
 export NEON_CFLAGS=$(gb_SPACE)@NEON_CFLAGS@
 export NEON_LIBS=$(gb_SPACE)@NEON_LIBS@
 export NEON_VERSION=@NEON_VERSION@
@@ -540,6 +541,7 @@ export SERF_CFLAGS=$(gb_SPACE)@SERF_CFLAGS@
 export SERF_LIBS=$(gb_SPACE)@SERF_LIBS@
 export SHA256SUM=@SHA256SUM@
 export SHOWINCLUDES_PREFIX=@SHOWINCLUDES_PREFIX@
+export SIZEOF_SIZE_T=@SIZEOF_SIZE_T@
 export SOLARINC=@SOLARINC@
 export SORT=@SORT@
 export SPLIT_APP_MODULES=@SPLIT_APP_MODULES@
diff --git a/configure.ac b/configure.ac
index e82845bcbc83..f62e782dd859 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6697,12 +6697,14 @@ if test "$_os" != "WINNT"; then
     AC_CHECK_SIZEOF(long long)
     AC_CHECK_SIZEOF(double)
     AC_CHECK_SIZEOF(void*)
+    AC_CHECK_SIZEOF(size_t)
 
     SAL_TYPES_SIZEOFSHORT=$ac_cv_sizeof_short
     SAL_TYPES_SIZEOFINT=$ac_cv_sizeof_int
     SAL_TYPES_SIZEOFLONG=$ac_cv_sizeof_long
     SAL_TYPES_SIZEOFLONGLONG=$ac_cv_sizeof_long_long
     SAL_TYPES_SIZEOFPOINTER=$ac_cv_sizeof_voidp
+    SIZEOF_SIZE_T=$ac_cv_sizeof_size_t
 
     dnl Allow build without AC_CHECK_ALIGNOF, grrr
     m4_pattern_allow([AC_CHECK_ALIGNOF])
@@ -6764,8 +6766,10 @@ else
     SAL_TYPES_SIZEOFLONGLONG=8
     if test $WIN_HOST_BITS -eq 32; then
         SAL_TYPES_SIZEOFPOINTER=4
+        SIZEOF_SIZE_T=4
     else
         SAL_TYPES_SIZEOFPOINTER=8
+        SIZEOF_SIZE_T=8
     fi
     SAL_TYPES_ALIGNMENT2=2
     SAL_TYPES_ALIGNMENT4=4
@@ -6773,6 +6777,7 @@ else
     LFS_CFLAGS=''
 fi
 AC_SUBST(LFS_CFLAGS)
+AC_SUBST(SIZEOF_SIZE_T)
 
 AC_DEFINE_UNQUOTED(SAL_TYPES_SIZEOFSHORT,$SAL_TYPES_SIZEOFSHORT)
 AC_DEFINE_UNQUOTED(SAL_TYPES_SIZEOFINT,$SAL_TYPES_SIZEOFINT)
@@ -8936,12 +8941,6 @@ else
     SYSTEM_LIBJPEG=
     AC_MSG_RESULT([internal, libjpeg-turbo])
     BUILD_TYPE="$BUILD_TYPE LIBJPEG_TURBO"
-    LIBJPEG_CFLAGS="-I${WORKDIR}/UnpackedTarball/libjpeg-turbo"
-    if test "$COM" = "MSC"; then
-        
LIBJPEG_LIBS="${WORKDIR}/UnpackedTarball/libjpeg-turbo/.libs/libjpeg.lib"
-    else
-        LIBJPEG_LIBS="-L${WORKDIR}/UnpackedTarball/libjpeg-turbo/.libs -ljpeg"
-    fi
 
     case "$host_cpu" in
     x86_64 | amd64 | i*86 | x86 | ia32)
@@ -9036,17 +9035,17 @@ else
 
             AC_MSG_CHECKING([for object file format specifier (NAFLAGS) ])
             case "$objfmt" in
-              MSOMF)      NAFLAGS='-fobj -DOBJ32';;
-              Win32-COFF) NAFLAGS='-fwin32 -DWIN32';;
-              Win64-COFF) NAFLAGS='-fwin64 -DWIN64 -D__x86_64__';;
-              COFF)       NAFLAGS='-fcoff -DCOFF';;
-              a.out)      NAFLAGS='-faout -DAOUT';;
-              BSD-a.out)  NAFLAGS='-faoutb -DAOUT';;
-              ELF)        NAFLAGS='-felf -DELF';;
-              ELF64)      NAFLAGS='-felf64 -DELF -D__x86_64__';;
-              RDF)        NAFLAGS='-frdf -DRDF';;
-              Mach-O)     NAFLAGS='-fmacho -DMACHO';;
-              Mach-O64)   NAFLAGS='-fmacho64 -DMACHO -D__x86_64__';;
+              MSOMF)      NAFLAGS='-fobj -DOBJ32 -DPIC';;
+              Win32-COFF) NAFLAGS='-fwin32 -DWIN32 -DPIC';;
+              Win64-COFF) NAFLAGS='-fwin64 -DWIN64 -D__x86_64__ -DPIC';;
+              COFF)       NAFLAGS='-fcoff -DCOFF -DPIC';;
+              a.out)      NAFLAGS='-faout -DAOUT -DPIC';;
+              BSD-a.out)  NAFLAGS='-faoutb -DAOUT -DPIC';;
+              ELF)        NAFLAGS='-felf -DELF -DPIC';;
+              ELF64)      NAFLAGS='-felf64 -DELF -D__x86_64__ -DPIC';;
+              RDF)        NAFLAGS='-frdf -DRDF -DPIC';;
+              Mach-O)     NAFLAGS='-fmacho -DMACHO -DPIC';;
+              Mach-O64)   NAFLAGS='-fmacho64 -DMACHO -D__x86_64__ -DPIC';;
             esac
             AC_MSG_RESULT([$NAFLAGS])
 
@@ -9112,6 +9111,7 @@ _EOS
 fi
 
 AC_SUBST(NASM)
+AC_SUBST(NAFLAGS)
 AC_SUBST(LIBJPEG_CFLAGS)
 AC_SUBST(LIBJPEG_LIBS)
 AC_SUBST(SYSTEM_LIBJPEG)
diff --git a/download.lst b/download.lst
index 359f5b8c6b9a..273e577fbdf8 100644
--- a/download.lst
+++ b/download.lst
@@ -39,8 +39,8 @@ export CPPUNIT_SHA256SUM := 
89c5c6665337f56fd2db36bc3805a5619709d51fb136e5193707
 export CPPUNIT_TARBALL := cppunit-1.15.1.tar.gz
 export CT2N_SHA256SUM := 
71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3
 export CT2N_TARBALL := 
1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt
-export CURL_SHA256SUM := 
2cb9c2356e7263a1272fd1435ef7cdebf2cd21400ec287b068396deb705c22c4
-export CURL_TARBALL := curl-7.83.1.tar.xz
+export CURL_SHA256SUM := 
1dae31b2a7c1fe269de99c0c31bb488346aab3459b5ffca909d6938249ae415f
+export CURL_TARBALL := curl-7.88.1.tar.xz
 export EBOOK_SHA256SUM := 
7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9
 export EBOOK_TARBALL := libe-book-0.1.3.tar.xz
 export EPOXY_SHA256SUM := 
002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d
@@ -52,8 +52,8 @@ export EPUBGEN_TARBALL := libepubgen-0.1.1.tar.xz
 export ETONYEK_SHA256SUM := 
b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a
 export ETONYEK_VERSION_MICRO := 10
 export ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz
-export EXPAT_SHA256SUM := 
de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b
-export EXPAT_TARBALL := expat-2.4.6.tar.xz
+export EXPAT_SHA256SUM := 
ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe
+export EXPAT_TARBALL := expat-2.5.0.tar.xz
 export FIREBIRD_SHA256SUM := 
6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860
 export FIREBIRD_TARBALL := Firebird-3.0.0.32483-0.tar.bz2
 export FONTCONFIG_SHA256SUM := 
19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5
@@ -162,8 +162,8 @@ export JFREEREPORT_LIBXML_SHA256SUM := 
7d2797fe9f79a77009721e3f14fa4a1dec17a6d70
 export JFREEREPORT_LIBXML_TARBALL := 
ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
 export JFREEREPORT_SAC_SHA256SUM := 
085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045
 export JFREEREPORT_SAC_TARBALL := 
39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
-export LIBJPEG_TURBO_SHA256SUM := 
b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523
-export LIBJPEG_TURBO_TARBALL := libjpeg-turbo-1.5.3.tar.gz
+export LIBJPEG_TURBO_SHA256SUM := 
09b96cb8cbff9ea556a9c2d173485fd19488844d55276ed4f42240e1e2073ce5
+export LIBJPEG_TURBO_TARBALL := libjpeg-turbo-2.1.2.tar.gz
 export LANGTAGREG_SHA256SUM := 
ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a
 export LANGTAGREG_TARBALL := language-subtag-registry-2021-03-05.tar.bz2
 export LANGUAGETOOL_SHA256SUM := 
48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d
@@ -192,9 +192,9 @@ export LIBWEBP_SHA256SUM := 
808b98d2f5b84e9b27fdef6c5372dac769c3bda4502febbfa503
 export LIBWEBP_TARBALL := libwebp-1.2.1.tar.gz
 export XMLSEC_SHA256SUM := 
2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8
 export XMLSEC_TARBALL := xmlsec1-1.2.30.tar.gz
-export LIBXML_SHA256SUM := 
60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee
-export LIBXML_VERSION_MICRO := 14
-export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.xz
+export LIBXML_SHA256SUM := 
5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c
+export LIBXML_VERSION_MICRO := 3
+export LIBXML_TARBALL := libxml2-2.10.$(LIBXML_VERSION_MICRO).tar.xz
 export LIBXSLT_SHA256SUM := 
8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79
 export LIBXSLT_VERSION_MICRO := 35
 export LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.xz
@@ -217,8 +217,8 @@ export MYTHES_SHA256SUM := 
1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b
 export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz
 export NEON_SHA256SUM := 
cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678
 export NEON_TARBALL := neon-0.31.2.tar.gz
-export NSS_SHA256SUM := 
07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9
-export NSS_TARBALL := nss-3.73-with-nspr-4.32.tar.gz
+export NSS_SHA256SUM := 
fcfa26d2738ec5b0cf72ab4be784eac832a75132cda2e295799c04d62a93607a
+export NSS_TARBALL := nss-3.88.1-with-nspr-4.35.tar.gz
 export ODFGEN_SHA256SUM := 
55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625
 export ODFGEN_VERSION_MICRO := 8
 export ODFGEN_TARBALL := libodfgen-0.1.$(ODFGEN_VERSION_MICRO).tar.xz
@@ -228,8 +228,8 @@ export OFFICEOTRON_SHA256SUM := 
f2443f27561af52324eee03a1892d9f569adc8db9e7bca55
 export OFFICEOTRON_JAR := 
8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
 export OPENLDAP_SHA256SUM := 
99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34
 export OPENLDAP_TARBALL := openldap-2.4.59.tgz
-export OPENSSL_SHA256SUM := 
d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca
-export OPENSSL_TARBALL := openssl-1.1.1q.tar.gz
+export OPENSSL_SHA256SUM := 
8dee9b24bdb1dcbf0c3d1e9b02fb8f6bf22165e807f45adeb7c9677536859d3b
+export OPENSSL_TARBALL := openssl-1.1.1t.tar.gz
 export ORCUS_SHA256SUM := 
c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4
 export ORCUS_TARBALL := liborcus-0.16.1.tar.bz2
 export OWNCLOUD_ANDROID_LIB_SHA256SUM := 
b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb
@@ -240,8 +240,8 @@ export PDFIUM_SHA256SUM := 
eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75
 export PDFIUM_TARBALL := pdfium-4306.tar.bz2
 export PIXMAN_SHA256SUM := 
21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e
 export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz
-export LIBPNG_SHA256SUM := 
505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca
-export LIBPNG_TARBALL := libpng-1.6.37.tar.xz
+export LIBPNG_SHA256SUM := 
1f4696ce70b4ee5f85f1e1623dc1229b210029fa4b7aee573df3e2ba7b036937
+export LIBPNG_TARBALL := libpng-1.6.39.tar.xz
 export POPPLER_SHA256SUM := 
016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3
 export POPPLER_TARBALL := poppler-21.01.0.tar.xz
 export POSTGRESQL_SHA256SUM := 
9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3
@@ -289,8 +289,8 @@ export WPS_VERSION_MICRO := 12
 export WPS_TARBALL := libwps-0.4.$(WPS_VERSION_MICRO).tar.xz
 export XSLTML_SHA256SUM := 
75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870
 export XSLTML_TARBALL := a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
-export ZLIB_SHA256SUM := 
7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18
-export ZLIB_TARBALL := zlib-1.2.12.tar.xz
+export ZLIB_SHA256SUM := 
d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98
+export ZLIB_TARBALL := zlib-1.2.13.tar.xz
 export ZMF_SHA256SUM := 
27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22
 export ZMF_TARBALL := libzmf-0.0.2.tar.xz
 
diff --git a/external/curl/ExternalPackage_curl.mk 
b/external/curl/ExternalPackage_curl.mk
index bda925939f46..ee0cf4501478 100644
--- a/external/curl/ExternalPackage_curl.mk
+++ b/external/curl/ExternalPackage_curl.mk
@@ -14,7 +14,7 @@ $(eval $(call 
gb_ExternalPackage_use_external_project,curl,curl))
 ifneq ($(DISABLE_DYNLOADING),TRUE)
 
 ifeq ($(COM),MSC)
-$(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl$(if 
$(MSVC_USE_DEBUG_RUNTIME),_debug).dll,builds/libcurl-vc12-$(gb_MSBUILD_PLATFORM)-$(gb_MSBUILD_CONFIG)-dll-ipv6-sspi-schannel/bin/libcurl$(if
 $(MSVC_USE_DEBUG_RUNTIME),_debug).dll))
+$(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl$(if 
$(MSVC_USE_DEBUG_RUNTIME),_debug).dll,builds/libcurl-vc12-$(gb_MSBUILD_PLATFORM)-$(gb_MSBUILD_CONFIG)-dll-zlib-static-ipv6-sspi-schannel/bin/libcurl$(if
 $(MSVC_USE_DEBUG_RUNTIME),_debug).dll))
 else ifeq ($(OS),MACOSX)
 $(eval $(call 
gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl.4.dylib,lib/.libs/libcurl.4.dylib))
 else ifeq ($(OS),AIX)
diff --git a/external/curl/ExternalProject_curl.mk 
b/external/curl/ExternalProject_curl.mk
index 4f4e87b318f7..0cd16eebe405 100644
--- a/external/curl/ExternalProject_curl.mk
+++ b/external/curl/ExternalProject_curl.mk
@@ -44,7 +44,7 @@ $(call gb_ExternalProject_get_state_target,curl,build):
                        $(if $(filter iOS MACOSX,$(OS)),\
                                --with-secure-transport,\
                                $(if $(ENABLE_NSS),--with-nss$(if 
$(SYSTEM_NSS),,="$(call gb_UnpackedTarball_get_dir,nss)/dist/out") 
--with-nss-deprecated,--without-nss)) \
-                       --without-ssl --without-gnutls --without-polarssl 
--without-cyassl --without-axtls --without-mbedtls \
+                       --without-openssl --without-gnutls --without-polarssl 
--without-cyassl --without-axtls --without-mbedtls \
                        --enable-ftp --enable-http --enable-ipv6 \
                        --without-libidn2 --without-libpsl --without-librtmp \
                        --without-libssh2 --without-metalink --without-nghttp2 \
@@ -88,6 +88,7 @@ $(call gb_ExternalProject_get_state_target,curl,build):
                        ENABLE_IPV6=yes \
                        ENABLE_SSPI=yes \
                        ENABLE_WINSSL=yes \
+                       WITH_ZLIB=static \
        ,winbuild)
        $(call gb_Trace_EndRange,curl,EXTERNAL)
 
diff --git a/external/curl/UnpackedTarball_curl.mk 
b/external/curl/UnpackedTarball_curl.mk
index 2cdfbfc08632..e78adabb8d07 100644
--- a/external/curl/UnpackedTarball_curl.mk
+++ b/external/curl/UnpackedTarball_curl.mk
@@ -21,9 +21,10 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,curl,\
 
 $(eval $(call gb_UnpackedTarball_add_patches,curl,\
        external/curl/curl-msvc.patch.1 \
+       external/curl/curl-msvc-zlib.patch.1 \
        external/curl/curl-msvc-disable-protocols.patch.1 \
-       external/curl/curl-7.26.0_win-proxy.patch \
        external/curl/zlib.patch.0 \
+       external/curl/configurable-z-option.patch.0 \
 ))
 
 ifeq ($(SYSTEM_NSS),)
@@ -38,4 +39,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,curl, \
 ))
 endif
 
+ifneq ($(filter -fsanitize=%,$(CC)),)
+$(eval $(call gb_UnpackedTarball_add_patches,curl, \
+    external/curl/asan-poison-nsspem.patch.0 \
+))
+endif
+
 # vim: set noet sw=4 ts=4:
diff --git a/external/curl/asan-poison-nsspem.patch.0 
b/external/curl/asan-poison-nsspem.patch.0
new file mode 100644
index 000000000000..b348d44ee573
--- /dev/null
+++ b/external/curl/asan-poison-nsspem.patch.0
@@ -0,0 +1,11 @@
+--- lib/vtls/nss.c
++++ lib/vtls/nss.c
+@@ -1926,7 +1926,7 @@
+ 
+   PK11_SetPasswordFunc(nss_get_password);
+ 
+-  result = nss_load_module(&pem_module, pem_library, "PEM");
++  result = CURLE_FAILED_INIT;
+   PR_Unlock(nss_initlock);
+   if(result == CURLE_FAILED_INIT)
+     infof(data, "WARNING: failed to load NSS PEM library %s. Using "
diff --git a/external/curl/clang-cl.patch.0 b/external/curl/clang-cl.patch.0
index 2fbb10c2a9aa..5dfb19d5ba59 100644
--- a/external/curl/clang-cl.patch.0
+++ b/external/curl/clang-cl.patch.0
@@ -1,6 +1,6 @@
 --- winbuild/MakefileBuild.vc
 +++ winbuild/MakefileBuild.vc
-@@ -60,7 +60,7 @@
+@@ -52,7 +52,7 @@
  !ELSE
  CC_NODEBUG  = $(CC) /O2 /DNDEBUG
  CC_DEBUG    = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd
diff --git a/external/curl/configurable-z-option.patch.0 
b/external/curl/configurable-z-option.patch.0
new file mode 100644
index 000000000000..84516ad21917
--- /dev/null
+++ b/external/curl/configurable-z-option.patch.0
@@ -0,0 +1,20 @@
+--- winbuild/MakefileBuild.vc.sav      2021-11-13 11:43:40.756226600 +0000
++++ winbuild/MakefileBuild.vc  2021-11-13 11:52:08.921692300 +0000
+@@ -47,7 +47,7 @@
+ 
+ !IF "$(VC)"=="6"
+ CC_NODEBUG  = $(CC) /O2 /DNDEBUG
+-CC_DEBUG    = $(CC) /Od /Gm /Zi /D_DEBUG /GZ
++CC_DEBUG    = $(CC) /Od /Gm $(DEBUG_FLAGS_VALUE) /D_DEBUG /GZ
+ CFLAGS      = /I. /I../lib /I../include /nologo /W4 /GX /DWIN32 /YX /FD /c 
/DBUILDING_LIBCURL
+ !ELSE
+ CC_NODEBUG  = $(CC) /O2 /DNDEBUG
+@@ -64,7 +64,7 @@
+ # Instead of id: just create an archive, that contains all objects
+ LNKLIB     = lib.exe
+ 
+-CFLAGS_PDB = /Zi
++CFLAGS_PDB = $(DEBUG_FLAGS_VALUE)
+ LFLAGS_PDB = /incremental:no /opt:ref,icf /DEBUG
+ 
+ CFLAGS_LIBCURL_STATIC  = /DCURL_STATICLIB
diff --git a/external/curl/curl-7.26.0_win-proxy.patch 
b/external/curl/curl-7.26.0_win-proxy.patch
deleted file mode 100644
index 1c5469a35479..000000000000
--- a/external/curl/curl-7.26.0_win-proxy.patch
+++ /dev/null
@@ -1,121 +0,0 @@
---- curl/winbuild/MakefileBuild.vc.orig        2017-10-23 17:15:22.969492548 
+0200
-+++ curl/winbuild/MakefileBuild.vc     2017-10-23 17:16:38.491490679 +0200
-@@ -72,7 +72,7 @@
- 
- CFLAGS_LIBCURL_STATIC  = /DCURL_STATICLIB
- 
--WIN_LIBS    = ws2_32.lib wldap32.lib advapi32.lib crypt32.lib
-+WIN_LIBS    = ws2_32.lib wldap32.lib advapi32.lib crypt32.lib winhttp.lib
- 
- BASE_NAME              = libcurl
- BASE_NAME_DEBUG        = $(BASE_NAME)_debug
---- curl-7.26.0/lib/url.c
-+++ misc/build/curl-7.26.0/lib/url.c
-@@ -78,6 +78,10 @@
- bool curl_win32_idn_to_ascii(const char *in, char **out);
- #endif  /* USE_LIBIDN2 */
- 
-+#ifdef _WIN32
-+#include <WinHttp.h>
-+#endif
-+
- #include "urldata.h"
- #include "netrc.h"
- 
-@@ -4586,6 +4590,21 @@
- }
- 
- #ifndef CURL_DISABLE_HTTP
-+#ifdef _WIN32
-+static char *wstrToCstr(LPWSTR wStr)
-+{
-+  int bufSize;
-+  char *out = NULL;
-+  if(wStr) {
-+    bufSize = WideCharToMultiByte(
-+      CP_ACP,  0, wStr, -1, NULL, 0, NULL, NULL);
-+    out = (char *)malloc(bufSize * sizeof(char));
-+    WideCharToMultiByte(CP_ACP, 0, wStr, -1, out, bufSize, NULL, NULL);
-+  }
-+  return out;
-+}
-+#endif
-+
- /****************************************************************
- * Detect what (if any) proxy to use. Remember that this selects a host
- * name and is not limited to HTTP proxies only.
-@@ -4613,6 +4633,66 @@
-    * For compatibility, the all-uppercase versions of these variables are
-    * checked if the lowercase versions don't exist.
-    */
-+#ifdef _WIN32
-+  char *no_proxy = NULL;
-+  WINHTTP_CURRENT_USER_IE_PROXY_CONFIG *ieProxyConfig;
-+  ieProxyConfig = (WINHTTP_CURRENT_USER_IE_PROXY_CONFIG *)
-+    malloc(sizeof(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG));
-+  if(WinHttpGetIEProxyConfigForCurrentUser(ieProxyConfig)) {
-+    if(!ieProxyConfig->fAutoDetect) {
-+      char *ieProxy;
-+      char *ieNoProxy;
-+      char *pos;
-+
-+      ieProxy = wstrToCstr(ieProxyConfig->lpszProxy);
-+      ieNoProxy = wstrToCstr(ieProxyConfig->lpszProxyBypass);
-+
-+      /* Convert the ieNoProxy into a proper no_proxy value */
-+      if(ieNoProxy) {
-+        no_proxy = strdup(ieNoProxy);
-+        pos = strpbrk(no_proxy, "; ");
-+        while(pos) {
-+          no_proxy[pos-no_proxy] = ',';
-+          pos = strpbrk(no_proxy, "; ");
-+        }
-+      }
-+
-+      if(!check_noproxy(conn->host.name, no_proxy)) {
-+        /* Look for the http proxy setting */
-+        char *tok;
-+        char *saveptr;
-+
-+        if(ieProxy) {
-+          tok = strtok_s(ieProxy, ";", &saveptr);
-+          if(!strchr(tok, '=')) {
-+            proxy = strdup(ieProxy);
-+          }
-+          else {
-+            do {
-+              if(strncmp(tok, "http=", 5) == 0) {
-+                /* We found HTTP proxy value, then use it */
-+                proxy = strdup(tok + 5);
-+              }
-+              tok = strtok_s(NULL, ";", &saveptr);
-+            }
-+            while(tok);
-+          }
-+        }
-+      }
-+
-+      free(ieProxy);
-+      free(ieNoProxy);
-+    }
-+    else {
-+      /* TODO Handle the Proxy config Auto Detection case */
-+    }
-+
-+    GlobalFree(ieProxyConfig->lpszAutoConfigUrl);
-+    GlobalFree(ieProxyConfig->lpszProxy);
-+    GlobalFree(ieProxyConfig->lpszProxyBypass);
-+  }
-+  free(no_proxy);
-+#else /* !_WIN32 */
-   char proxy_env[128];
-   const char *protop = conn->handler->scheme;
-   char *envp = proxy_env;
-@@ -4663,6 +4739,7 @@
-   }
-   if(proxy)
-     infof(data, "Uses proxy env variable %s == '%s'", envp, proxy);
-+#endif /* _WIN32 */
- 
-   return proxy;
- }
diff --git a/external/curl/curl-msvc-disable-protocols.patch.1 
b/external/curl/curl-msvc-disable-protocols.patch.1
index a6d06c69b004..71ff0c01a028 100644
--- a/external/curl/curl-msvc-disable-protocols.patch.1
+++ b/external/curl/curl-msvc-disable-protocols.patch.1
@@ -2,7 +2,7 @@ disable protocols nobody needs in MSVC build
 
 --- curl/lib/config-win32.h.orig       2017-08-09 16:43:29.464000000 +0200
 +++ curl/lib/config-win32.h    2017-08-09 16:47:38.549200000 +0200
-@@ -733,4 +733,20 @@
+@@ -654,4 +654,20 @@
  #  define ENABLE_IPV6 1
  #endif
  
@@ -25,7 +25,7 @@ disable protocols nobody needs in MSVC build
  #endif /* HEADER_CURL_CONFIG_WIN32_H */
 --- curl/winbuild/MakefileBuild.vc.orig        2017-10-23 23:41:21.393200000 
+0200
 +++ curl/winbuild/MakefileBuild.vc     2017-10-23 23:34:16.028000000 +0200
-@@ -431,7 +431,7 @@
+@@ -562,7 +562,7 @@
  
  EXE_OBJS = $(CURL_OBJS) $(CURL_DIROBJ)\curl.res
  
diff --git a/external/curl/curl-msvc-zlib.patch.1 
b/external/curl/curl-msvc-zlib.patch.1
new file mode 100644
index 000000000000..a9ee0013d50b
--- /dev/null
+++ b/external/curl/curl-msvc-zlib.patch.1
@@ -0,0 +1,16 @@
+find internal zlib in nmake buildsystem
+
+--- curl/winbuild/MakefileBuild.vc.orig2       2021-10-27 20:44:48.685237000 
+0200
++++ curl/winbuild/MakefileBuild.vc     2021-10-27 20:47:23.792407400 +0200
+@@ -244,8 +244,9 @@
+ ZLIB_LIB_DIR = $(ZLIB_PATH)\lib
+ ZLIB_LFLAGS  = $(ZLIB_LFLAGS) "/LIBPATH:$(ZLIB_LIB_DIR)"
+ !ELSE
+-ZLIB_INC_DIR = $(DEVEL_INCLUDE)
+-ZLIB_LIB_DIR = $(DEVEL_LIB)
++ZLIB_INC_DIR = $(WORKDIR)/UnpackedTarball/zlib
++ZLIB_LIB_DIR = $(WORKDIR)/LinkTarget/StaticLibrary
++ZLIB_LFLAGS  = $(ZLIB_LFLAGS) "/LIBPATH:$(ZLIB_LIB_DIR)"
+ !ENDIF
+ 
+ # Depending on how zlib is built the libraries have different names, we
diff --git a/external/curl/curl-msvc.patch.1 b/external/curl/curl-msvc.patch.1
index a5b79a8e9c49..54ad026ec8c7 100644
--- a/external/curl/curl-msvc.patch.1
+++ b/external/curl/curl-msvc.patch.1
@@ -2,7 +2,7 @@ MSVC: using SOLARINC
 
 --- curl/winbuild/MakefileBuild.vc.orig        2017-10-23 16:36:07.713550851 
+0200
 +++ curl/winbuild/MakefileBuild.vc     2017-10-23 16:38:19.301547594 +0200
-@@ -60,7 +60,7 @@
+@@ -52,7 +52,7 @@
  !ELSE
  CC_NODEBUG  = $(CC) /O2 /DNDEBUG
  CC_DEBUG    = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd
@@ -11,7 +11,7 @@ MSVC: using SOLARINC
  !ENDIF
  
  LFLAGS     = /nologo /machine:$(MACHINE)
-@@ -300,11 +300,11 @@
+@@ -426,11 +426,11 @@
  # CURL_XX macros are for the curl.exe command
  
  !IF "$(DEBUG)"=="yes"
diff --git a/external/curl/curl-nss.patch.1 b/external/curl/curl-nss.patch.1
index d4dad7eba77e..2e8766b3d45f 100644
--- a/external/curl/curl-nss.patch.1
+++ b/external/curl/curl-nss.patch.1
@@ -1,12 +1,17 @@
 diff -ur curl.org/configure curl/configure
---- curl.org/configure 2016-03-13 15:14:07.177000076 +0100
-+++ curl/configure     2016-03-13 15:16:44.132000076 +0100
-@@ -28216,7 +28216,7 @@
+--- curl.orig/configure        2023-02-20 16:11:55.000000000 +0900
++++ curl/configure     2023-02-23 15:40:58.617432471 +0900
+@@ -28675,7 +28675,12 @@
        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Using hard-wired 
libraries and compilation flags for NSS." >&5
  printf "%s\n" "$as_me: WARNING: Using hard-wired libraries and compilation 
flags for NSS." >&2;}
        addld="-L$OPT_NSS/lib"
 -      addlib="-lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4"
 +      addlib="-lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4 -lnssutil3"
++      case $host_os in
++        *android*)
++          addlib="${addlib} -llog"
++          ;;
++      esac
        addcflags="-I$OPT_NSS/include"
        version="unknown"
        nssprefix=$OPT_NSS
diff --git a/external/curl/zlib.patch.0 b/external/curl/zlib.patch.0
index e0f579f8675a..b4442ba262d1 100644
--- a/external/curl/zlib.patch.0
+++ b/external/curl/zlib.patch.0
@@ -1,6 +1,6 @@
 --- configure
 +++ configure
-@@ -22699,7 +22699,6 @@
+@@ -23035,7 +23035,6 @@
  clean_CPPFLAGS=$CPPFLAGS
  clean_LDFLAGS=$LDFLAGS
  clean_LIBS=$LIBS
@@ -8,7 +8,7 @@
  
  # Check whether --with-zlib was given.
  if test ${with_zlib+y}
-@@ -22709,6 +22708,7 @@
+@@ -23045,6 +23044,7 @@
  
  
  if test "$OPT_ZLIB" = "no" ; then
@@ -16,7 +16,7 @@
      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: zlib disabled" >&5
  printf "%s\n" "$as_me: WARNING: zlib disabled" >&2;}
  else
-@@ -22716,6 +22716,21 @@
+@@ -23052,6 +23052,21 @@
      OPT_ZLIB=""
    fi
  
@@ -38,7 +38,7 @@
    if test -z "$OPT_ZLIB" ; then
  
      if test -n "$PKG_CONFIG"; then
-@@ -23011,6 +23026,7 @@
+@@ -23344,6 +23359,7 @@
  printf "%s\n" "$as_me: found both libz and libz.h header" >&6;}
      curl_zlib_msg="enabled"
    fi
@@ -48,7 +48,7 @@
   if test x"$AMFIXLIB" = x1; then
 --- configure.ac
 +++ configure.ac
-@@ -880,19 +880,30 @@
+@@ -1243,19 +1243,30 @@
  clean_CPPFLAGS=$CPPFLAGS
  clean_LDFLAGS=$LDFLAGS
  clean_LIBS=$LIBS
@@ -80,7 +80,7 @@
    if test -z "$OPT_ZLIB" ; then
      CURL_CHECK_PKGCONFIG(zlib)
  
-@@ -975,6 +986,7 @@
+@@ -1336,6 +1347,7 @@
      AC_MSG_NOTICE([found both libz and libz.h header])
      curl_zlib_msg="enabled"
    fi
diff --git a/external/expat/expat-winapi.patch 
b/external/expat/expat-winapi.patch
index 7eae7d5d6139..fed65644a732 100644
--- a/external/expat/expat-winapi.patch
+++ b/external/expat/expat-winapi.patch
@@ -1,6 +1,6 @@
---- misc/expat-2.1.0/lib/expat_external.h      2009-11-16 08:53:17.375000000 
+0000
-+++ misc/build/expat-2.1.0/lib/expat_external.h        2009-11-16 
08:53:34.703125000 +0000
-@@ -81,10 +81,6 @@
+--- misc/expat-2.5.0/lib/expat_external.h      2022-10-25 01:32:54.000000000 
+0900
++++ misc/build/expat-2.5.0/lib/expat_external.h        2022-10-30 
23:09:47.339459134 +0900
+@@ -88,10 +88,6 @@
  #  ifndef XML_BUILDING_EXPAT
  /* using Expat from an application */
  
@@ -11,12 +11,13 @@
  #  endif
  #endif /* not defined XML_STATIC */
  
---- misc/expat-2.1.0/lib/xmlparse.c    2021-05-23 16:56:25.000000000 +0100
-+++ misc/build/expat-2.1.0/lib/xmlparse.c      2021-05-25 12:42:11.997173600 
+0100
-@@ -64,6 +64,8 @@
+--- misc/expat-2.5.0/lib/xmlparse.c    2022-10-26 00:09:08.000000000 +0900
++++ misc/build/expat-2.5.0/lib/xmlparse.c      2022-10-30 23:09:01.843006341 
+0900
+@@ -67,6 +67,9 @@
  #endif
  
  #ifdef _WIN32
++#  undef HAVE_ARC4RANDOM_BUF
 +#  undef HAVE_GETRANDOM
 +#  undef HAVE_SYSCALL_GETRANDOM
  /* force stdlib to define rand_s() */
diff --git a/external/libjpeg-turbo/ExternalProject_libjpeg-turbo.mk 
b/external/libjpeg-turbo/ExternalProject_libjpeg-turbo.mk
deleted file mode 100644
index a5cd4c57ddc7..000000000000
--- a/external/libjpeg-turbo/ExternalProject_libjpeg-turbo.mk
+++ /dev/null
@@ -1,43 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_ExternalProject_ExternalProject,libjpeg-turbo))
-
-$(eval $(call gb_ExternalProject_use_autoconf,libjpeg-turbo,configure))
-$(eval $(call gb_ExternalProject_use_autoconf,libjpeg-turbo,build))
-
-$(eval $(call gb_ExternalProject_register_targets,libjpeg-turbo,\
-       configure \
-       build \
-))
-
-$(call gb_ExternalProject_get_state_target,libjpeg-turbo,build) : $(call 
gb_ExternalProject_get_state_target,libjpeg-turbo,configure)
-       $(call gb_Trace_StartRange,libjpeg-turbo,EXTERNAL)
-       +$(call gb_ExternalProject_run,build,\
-               $(MAKE) \
-       )
-       $(call gb_Trace_EndRange,libjpeg-turbo,EXTERNAL)
-
-$(call gb_ExternalProject_get_state_target,libjpeg-turbo,configure) :
-       $(call gb_Trace_StartRange,libjpeg-turbo,EXTERNAL)
-       $(call gb_ExternalProject_run,configure,\
-               MAKE=$(MAKE) ./configure \
-                       --build=$(BUILD_PLATFORM) \
-                       --host=$(HOST_PLATFORM) \
-                       --with-pic \
-                       --enable-static \
-                       --disable-shared \
-                       --without-java \
-                       --without-turbojpeg \
-                       $(if $(NASM),,--without-simd) \
-                       CFLAGS='$(if $(debug),$(gb_DEBUGINFO_FLAGS)) $(if 
$(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS)) $(CFLAGS) 
$(gb_VISIBILITY_FLAGS)' \
-       )
-       $(call gb_Trace_EndRange,libjpeg-turbo,EXTERNAL)
-
-# vim: set noet sw=4 ts=4:
diff --git a/external/libjpeg-turbo/Module_libjpeg-turbo.mk 
b/external/libjpeg-turbo/Module_libjpeg-turbo.mk
index 137e7557bacf..29be90155880 100644
--- a/external/libjpeg-turbo/Module_libjpeg-turbo.mk
+++ b/external/libjpeg-turbo/Module_libjpeg-turbo.mk
@@ -10,8 +10,8 @@
 $(eval $(call gb_Module_Module,libjpeg-turbo))
 
 $(eval $(call gb_Module_add_targets,libjpeg-turbo,\
-       ExternalProject_libjpeg-turbo \
        UnpackedTarball_libjpeg-turbo \
+       StaticLibrary_libjpeg-turbo \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libjpeg-turbo/StaticLibrary_libjpeg-turbo.mk 
b/external/libjpeg-turbo/StaticLibrary_libjpeg-turbo.mk
new file mode 100644
index 000000000000..0b6b3044d1b2
--- /dev/null
+++ b/external/libjpeg-turbo/StaticLibrary_libjpeg-turbo.mk
@@ -0,0 +1,214 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozillarg/MPL/2.0/.
+#
+
+$(eval $(call gb_StaticLibrary_StaticLibrary,libjpeg-turbo))
+
+$(eval $(call gb_StaticLibrary_use_unpacked,libjpeg-turbo,libjpeg-turbo))
+
+$(eval $(call gb_StaticLibrary_set_warnings_disabled,libjpeg-turbo))
+
+$(eval $(call gb_StaticLibrary_set_include,libjpeg-turbo,\
+    -I$(call gb_UnpackedTarball_get_dir,libjpeg-turbo) \
+    $$(INCLUDE) \
+))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_StaticLibrary_add_cflags,libjpeg-turbo,\
+    -DHAVE_INTRIN_H=1 \
+))
+endif
+
+$(eval $(call gb_StaticLibrary_add_cflags,libjpeg-turbo,\
+    -DSIZEOF_SIZE_T=$(SIZEOF_SIZE_T) \
+))
+
+ifeq ($(COM),GCC)
+ifneq ($(ENABLE_OPTIMIZED),)
+$(eval $(call gb_StaticLibrary_add_cflags,libjpeg-turbo,\
+    -O3 \
+))
+endif
+endif
+
+$(eval $(call gb_StaticLibrary_add_generated_cobjects,libjpeg-turbo,\
+    UnpackedTarball/libjpeg-turbo/jcapimin \
+    UnpackedTarball/libjpeg-turbo/jcapistd \
+    UnpackedTarball/libjpeg-turbo/jccoefct \
+    UnpackedTarball/libjpeg-turbo/jccolor \
+    UnpackedTarball/libjpeg-turbo/jcdctmgr \
+    UnpackedTarball/libjpeg-turbo/jchuff \
+    UnpackedTarball/libjpeg-turbo/jcicc \
+    UnpackedTarball/libjpeg-turbo/jcinit \
+    UnpackedTarball/libjpeg-turbo/jcmainct \
+    UnpackedTarball/libjpeg-turbo/jcmarker \
+    UnpackedTarball/libjpeg-turbo/jcmaster \
+    UnpackedTarball/libjpeg-turbo/jcomapi \
+    UnpackedTarball/libjpeg-turbo/jcparam \
+    UnpackedTarball/libjpeg-turbo/jcphuff \
+    UnpackedTarball/libjpeg-turbo/jcprepct \
+    UnpackedTarball/libjpeg-turbo/jcsample \
+    UnpackedTarball/libjpeg-turbo/jctrans \
+    UnpackedTarball/libjpeg-turbo/jdapimin \
+    UnpackedTarball/libjpeg-turbo/jdapistd \
+    UnpackedTarball/libjpeg-turbo/jdatadst \
+    UnpackedTarball/libjpeg-turbo/jdatasrc \
+    UnpackedTarball/libjpeg-turbo/jdcoefct \
+    UnpackedTarball/libjpeg-turbo/jdcolor \
+    UnpackedTarball/libjpeg-turbo/jddctmgr \
+    UnpackedTarball/libjpeg-turbo/jdhuff \
+    UnpackedTarball/libjpeg-turbo/jdicc \
+    UnpackedTarball/libjpeg-turbo/jdinput \
+    UnpackedTarball/libjpeg-turbo/jdmainct \
+    UnpackedTarball/libjpeg-turbo/jdmarker \
+    UnpackedTarball/libjpeg-turbo/jdmaster \
+    UnpackedTarball/libjpeg-turbo/jdmerge \
+    UnpackedTarball/libjpeg-turbo/jdphuff \
+    UnpackedTarball/libjpeg-turbo/jdpostct \
+    UnpackedTarball/libjpeg-turbo/jdsample \
+    UnpackedTarball/libjpeg-turbo/jdtrans \
+    UnpackedTarball/libjpeg-turbo/jerror \
+    UnpackedTarball/libjpeg-turbo/jfdctflt \
+    UnpackedTarball/libjpeg-turbo/jfdctfst \
+    UnpackedTarball/libjpeg-turbo/jfdctint \
+    UnpackedTarball/libjpeg-turbo/jidctflt \
+    UnpackedTarball/libjpeg-turbo/jidctfst \
+    UnpackedTarball/libjpeg-turbo/jidctint \
+    UnpackedTarball/libjpeg-turbo/jidctred \
+    UnpackedTarball/libjpeg-turbo/jquant1 \
+    UnpackedTarball/libjpeg-turbo/jquant2 \
+    UnpackedTarball/libjpeg-turbo/jutils \
+    UnpackedTarball/libjpeg-turbo/jmemmgr \
+    UnpackedTarball/libjpeg-turbo/jmemnobs \
+    UnpackedTarball/libjpeg-turbo/jaricom \
+    UnpackedTarball/libjpeg-turbo/jcarith \
+    UnpackedTarball/libjpeg-turbo/jdarith \
+))
+
+ifneq ($(NASM),)
+
+$(eval $(call gb_StaticLibrary_add_nasmflags,libjpeg-turbo,\
+       -I$(call gb_UnpackedTarball_get_dir,libjpeg-turbo)/simd/nasm/ \
+       -I$(dir $(call gb_UnpackedTarball_get_dir,libjpeg-turbo)/$(1)) \
+))
+
+ifeq ($(CPUNAME),X86_64)
+
+$(eval $(call gb_StaticLibrary_add_cflags,libjpeg-turbo,\
+    -DWITH_SIMD \
+))
+
+$(eval $(call gb_StaticLibrary_add_generated_cobjects,libjpeg-turbo,\
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jsimd \
+))
+
+$(eval $(call gb_StaticLibrary_add_generated_nasmobjects,libjpeg-turbo,\
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jsimdcpu.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jfdctflt-sse.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jccolor-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jcgray-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jchuff-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jcphuff-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jcsample-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jdcolor-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jdmerge-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jdsample-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jfdctfst-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jfdctint-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jidctflt-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jidctfst-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jidctint-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jidctred-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jquantf-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jquanti-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jccolor-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jcgray-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jcsample-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jdcolor-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jdmerge-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jdsample-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jfdctint-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jidctint-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/x86_64/jquanti-avx2.asm \
+))
+
+else ifeq ($(CPUNAME),INTEL)
+
+$(eval $(call gb_StaticLibrary_add_cflags,libjpeg-turbo,\
+    -DWITH_SIMD \
+))
+
+$(eval $(call gb_StaticLibrary_add_generated_cobjects,libjpeg-turbo,\
+    UnpackedTarball/libjpeg-turbo/simd/i386/jsimd \
+))
+
+$(eval $(call gb_StaticLibrary_add_generated_nasmobjects,libjpeg-turbo,\
+    UnpackedTarball/libjpeg-turbo/simd/i386/jsimdcpu.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jfdctflt-3dn.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctflt-3dn.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jquant-3dn.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jccolor-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jcgray-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jcsample-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jdcolor-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jdmerge-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jdsample-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jfdctfst-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jfdctint-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctfst-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctint-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctred-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jquant-mmx.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jfdctflt-sse.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctflt-sse.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jquant-sse.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jccolor-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jcgray-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jchuff-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jcphuff-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jcsample-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jdcolor-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jdmerge-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jdsample-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jfdctfst-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jfdctint-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctflt-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctfst-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctint-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctred-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jquantf-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jquanti-sse2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jccolor-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jcgray-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jcsample-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jdcolor-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jdmerge-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jdsample-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jfdctint-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jidctint-avx2.asm \
+    UnpackedTarball/libjpeg-turbo/simd/i386/jquanti-avx2.asm \
+))
+
+else
+
+$(eval $(call gb_StaticLibrary_add_generated_cobjects,libjpeg-turbo,\
+    UnpackedTarball/libjpeg-turbo/jsimd_none \
+))
+
+endif
+
+else
+
+$(eval $(call gb_StaticLibrary_add_generated_cobjects,libjpeg-turbo,\
+    UnpackedTarball/libjpeg-turbo/jsimd_none \
+))
+
+endif
+
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libjpeg-turbo/UnpackedTarball_libjpeg-turbo.mk 
b/external/libjpeg-turbo/UnpackedTarball_libjpeg-turbo.mk
index 5440d16ecfc1..22777b863e4c 100644
--- a/external/libjpeg-turbo/UnpackedTarball_libjpeg-turbo.mk
+++ b/external/libjpeg-turbo/UnpackedTarball_libjpeg-turbo.mk
@@ -11,15 +11,13 @@ $(eval $(call 
gb_UnpackedTarball_UnpackedTarball,libjpeg-turbo))
 
 $(eval $(call 
gb_UnpackedTarball_set_tarball,libjpeg-turbo,$(LIBJPEG_TURBO_TARBALL)))
 
-$(eval $(call gb_UnpackedTarball_update_autoconf_configs,libjpeg-turbo))
-
 $(eval $(call gb_UnpackedTarball_set_patchlevel,libjpeg-turbo,0))
 
-$(eval $(call gb_UnpackedTarball_add_patches,libjpeg-turbo,\
-       external/libjpeg-turbo/jpeg-turbo.build.patch.1 \
-       $(if $(filter 
WNT,$(OS)),external/libjpeg-turbo/jpeg-turbo.win_build.patch.1) \
-       external/libjpeg-turbo/ubsan.patch \
-       external/libjpeg-turbo/c76f4a08263b0cea40d2967560ac7c21f6959079.patch.1 
\
-))
+# jconfigint.h and jconfig.h generated via
+# cmake -DENABLE_STATIC:BOOL=ON -DENABLE_SHARED:BOOL=NO -DWITH_JAVA:BOOL=OFF 
-DWITH_TURBOJPEG:BOOL=OFF -DWITH_SIMD:BOOL=ON
+# and then tweaking
+
+$(eval $(call 
gb_UnpackedTarball_add_file,libjpeg-turbo,jconfigint.h,external/libjpeg-turbo/jconfigint.h))
+$(eval $(call 
gb_UnpackedTarball_add_file,libjpeg-turbo,jconfig.h,external/libjpeg-turbo/jconfig.h))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libjpeg-turbo/jconfig.h b/external/libjpeg-turbo/jconfig.h
new file mode 100644
index 000000000000..7cff688125a9
--- /dev/null
+++ b/external/libjpeg-turbo/jconfig.h
@@ -0,0 +1,86 @@
+/* Version ID for the JPEG library.
+ * Might be useful for tests like "#if JPEG_LIB_VERSION >= 60".
+ */
+#define JPEG_LIB_VERSION 62
+
+/* libjpeg-turbo version */
+#define LIBJPEG_TURBO_VERSION 2.1.1
+
+/* libjpeg-turbo version in integer form */
+#define LIBJPEG_TURBO_VERSION_NUMBER 2001001
+
+/* Support arithmetic encoding */
+#define C_ARITH_CODING_SUPPORTED 1
+
+/* Support arithmetic decoding */
+#define D_ARITH_CODING_SUPPORTED 1
+
+/* Support in-memory source/destination managers */
+#define MEM_SRCDST_SUPPORTED 1
+
+/* Use accelerated SIMD routines. */
+/* #undef WITH_SIMD */
+
+/*
+ * Define BITS_IN_JSAMPLE as either
+ *   8   for 8-bit sample values (the usual setting)
+ *   12  for 12-bit sample values
+ * Only 8 and 12 are legal data precisions for lossy JPEG according to the
+ * JPEG standard, and the IJG code does not support anything else!
+ * We do not support run-time selection of data precision, sorry.
+ */
+
+#define BITS_IN_JSAMPLE 8 /* use 8 or 12 */
+
+/* Define to 1 if you have the <locale.h> header file. */
+/* undef HAVE_LOCALE_H */
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#define HAVE_STDDEF_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define if you need to include <sys/types.h> to get size_t. */
+#define NEED_SYS_TYPES_H 1
+
+/* Define if you have BSD-like bzero and bcopy in <strings.h> rather than
+   memset/memcpy in <string.h>. */
+/* #undef NEED_BSD_STRINGS */
+
+/* Define to 1 if the system has the type `unsigned char'. */
+#define HAVE_UNSIGNED_CHAR 1
+
+/* Define to 1 if the system has the type `unsigned short'. */
+#define HAVE_UNSIGNED_SHORT 1
+
+/* Compiler does not support pointers to undefined structures. */
+/* #undef INCOMPLETE_TYPES_BROKEN */
+
+/* Define if your (broken) compiler shifts signed values as if they were
+   unsigned. */
+/* #undef RIGHT_SHIFT_IS_UNSIGNED */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* Extra Libreoffice config for windows */
+#ifdef _MSC_VER
+
+/* Define "boolean" as unsigned char, not int, per Windows custom */
+#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
+typedef unsigned char boolean;
+#endif
+#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
+
+/* Define "INT32" as int, not long, per Windows custom */
+#if !(defined(_BASETSD_H_) || defined(_BASETSD_H)) /* don't conflict if 
basetsd.h already read */
+typedef short INT16;
+typedef signed int INT32;
+#endif
+#define XMD_H /* prevent jmorecfg.h from redefining it */
+
+#endif /* _MSC_VER */
diff --git a/external/libjpeg-turbo/jconfigint.h 
b/external/libjpeg-turbo/jconfigint.h
new file mode 100644
index 000000000000..478a4d338b30
--- /dev/null
+++ b/external/libjpeg-turbo/jconfigint.h
@@ -0,0 +1,51 @@
+#include <sal/types.h>
+
+/* libjpeg-turbo build number */
+#define BUILD "20211020"
+
+/* Compiler's inline keyword */
+#undef inline
+
+/* How to obtain function inlining. */
+#if defined _MSC_VER
+#define INLINE __forceinline
+#elif defined __GNUC__
+#define INLINE __attribute__((always_inline)) inline
+#else
+#define INLINE inline
+#endif
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "libjpeg-turbo"
+
+/* Version number of package */
+#define VERSION "2.1.1"
+
+/* The size of `size_t', as computed by sizeof. */
+/* #undef SIZEOF_SIZE_T */
+
+#if defined(__GNUC__) && SAL_TYPES_SIZEOFLONG == SIZEOF_SIZE_T
+/* Define if your compiler has __builtin_ctzl() and sizeof(unsigned long) == 
sizeof(size_t). */
+#define HAVE_BUILTIN_CTZL
+#endif
+
+/* Define to 1 if you have the <intrin.h> header file. */
+/* #undef HAVE_INTRIN_H */
+
+#if defined(_MSC_VER) && defined(HAVE_INTRIN_H)
+#if (SIZEOF_SIZE_T == 8)
+#define HAVE_BITSCANFORWARD64
+#elif (SIZEOF_SIZE_T == 4)
+#define HAVE_BITSCANFORWARD
+#endif
+#endif
+
+#if defined(__has_attribute)
+#if __has_attribute(fallthrough)
+#define FALLTHROUGH __attribute__((fallthrough));
+#else
+#define FALLTHROUGH
+#endif
+#else
+#define FALLTHROUGH
+#endif
diff --git a/external/libjpeg-turbo/jpeg-turbo.build.patch.1 
b/external/libjpeg-turbo/jpeg-turbo.build.patch.1
deleted file mode 100644
index 4d01ad4b9aed..000000000000
--- a/external/libjpeg-turbo/jpeg-turbo.build.patch.1
+++ /dev/null
@@ -1,58 +0,0 @@
-diff -ur jpeg.org/Makefile.am jpeg/Makefile.am
---- jpeg.org/Makefile.am       2014-11-14 12:05:43.349386578 +0100
-+++ jpeg/Makefile.am   2014-11-14 12:06:21.005387021 +0100
-@@ -174,8 +174,6 @@
-       rm -rf `find $(distdir) -name .svn`
- 
- 
--SUBDIRS += md5
--
- if WITH_12BIT
- 
- TESTORIG = testorig12.jpg
-diff -ru jpeg-turbo.orig/Makefile.in jpeg-turbo/Makefile.in
---- jpeg-turbo.orig/Makefile.in        2015-09-21 20:48:45.000000000 +0200
-+++ jpeg-turbo/Makefile.in     2015-11-22 16:17:10.326527000 +0100
-@@ -405,7 +405,7 @@
- ETAGS = etags
- CTAGS = ctags
- CSCOPE = cscope
--DIST_SUBDIRS = java simd md5
-+DIST_SUBDIRS = java simd
- am__DIST_COMMON = $(dist_man1_MANS) $(srcdir)/Makefile.in \
-       $(srcdir)/config.h.in $(srcdir)/jconfig.h.in \
-       $(srcdir)/jconfigint.h.in $(srcdir)/libjpeg.map.in \
-@@ -622,7 +622,7 @@
-       jidctflt.c jidctfst.c jidctint.c jidctred.c jquant1.c \
-       jquant2.c jutils.c jmemmgr.c jmemnobs.c $(am__append_4) \
-       $(am__append_5) $(am__append_6) $(am__append_11)
--SUBDIRS = java $(am__append_10) md5
-+SUBDIRS = java $(am__append_10)
- @WITH_TURBOJPEG_TRUE@libturbojpeg_la_SOURCES = $(libjpeg_la_SOURCES) \
- @WITH_TURBOJPEG_TRUE@ turbojpeg.c turbojpeg.h transupp.c \
- @WITH_TURBOJPEG_TRUE@ transupp.h jdatadst-tj.c jdatasrc-tj.c \
-diff -ru jpeg-turbo.orig/configure jpeg-turbo/configure
---- jpeg-turbo.orig/configure   2015-09-21 20:48:41.000000000 +0200
-+++ jpeg-turbo/configure        2015-11-22 15:23:25.387071000 +0100
-@@ -14630,9 +14630,7 @@
- $as_echo "yes" >&6; }
- else
-   rm -rf conftest*
--  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--  as_fn_error $? "configuration problem: maybe object file format mismatch." 
"$LINENO" 5
-+  $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- fi
-
-
-@@ -14828,9 +14826,7 @@
- $as_echo "yes" >&6; }
- else
-   rm -rf conftest*
--  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--  as_fn_error $? "configuration problem: maybe object file format mismatch." 
"$LINENO" 5
-+  $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- fi
-
-
diff --git a/external/libjpeg-turbo/jpeg-turbo.win_build.patch.1 
b/external/libjpeg-turbo/jpeg-turbo.win_build.patch.1
deleted file mode 100644
index 00b642703f3a..000000000000
--- a/external/libjpeg-turbo/jpeg-turbo.win_build.patch.1
+++ /dev/null
@@ -1,54 +0,0 @@
-Copy definitions of "boolean", "INT16", "INT32" from win/jconfig.h.in
-
-... into jconfig.h.in, which is the one we use via configure.
-
-diff -ru jpeg-turbo.orig/simd/Makefile.in jpeg-turbo/simd/Makefile.in
---- jpeg-turbo.orig/simd/Makefile.in   2015-09-21 20:48:45.000000000 +0200
-+++ jpeg-turbo/simd/Makefile.in        2015-11-22 10:52:46.975285184 +0100
-@@ -769,8 +769,8 @@
- .asm.lo:
-       $(AM_V_GEN) $(LIBTOOL) $(AM_V_lt) --mode=compile --tag NASM 
$(srcdir)/nasm_lt.sh $(AM_V_lt) $(NASM) $(NAFLAGS) -I$(srcdir) -I. $< -o $@
- 
--jsimdcfg.inc: $(srcdir)/jsimdcfg.inc.h ../jpeglib.h ../jconfig.h ../jmorecfg.h
--      $(AM_V_GEN) $(CPP) -I$(top_builddir) -I$(top_builddir)/simd 
$(srcdir)/jsimdcfg.inc.h | $(EGREP) "^[\;%]|^\ %" | sed 's%_cpp_protection_%%' 
| sed 's@% define@%define@g' > $@
-+jsimdcfg.inc: $(top_srcdir)/win/jsimdcfg.inc
-+      cp $< $@
- 
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
-diff -ru jpeg-turbo.orig/configure jpeg-turbo/configure
---- jpeg-turbo.orig/configure   2015-11-22 15:57:23.702656000 +0100
-+++ jpeg-turbo/configure        2015-11-22 15:59:37.084285000 +0100
-@@ -13931,7 +13931,7 @@
-
- else
-
--$as_echo "#define NEED_BSD_STRINGS 1" >>confdefs.h
-+$as_echo "#undef NEED_BSD_STRINGS" >>confdefs.h
-
- fi
- done
---- jpeg-turbo/jconfig.h.in.orig       2016-11-02 22:43:55.012600000 +0100
-+++ jpeg-turbo/jconfig.h.in    2016-11-02 22:45:01.905400000 +0100
-@@ -71,3 +71,21 @@
- 
- /* Define to `unsigned int' if <sys/types.h> does not define. */
- #undef size_t
-+
-+#ifdef _MSC_VER
-+
-+/* Define "boolean" as unsigned char, not int, per Windows custom */
-+#ifndef __RPCNDR_H__          /* don't conflict if rpcndr.h already read */
-+typedef unsigned char boolean;
-+#endif
-+#define HAVE_BOOLEAN          /* prevent jmorecfg.h from redefining it */
-+
-+/* Define "INT32" as int, not long, per Windows custom */
-+#if !(defined(_BASETSD_H_) || defined(_BASETSD_H))   /* don't conflict if 
basetsd.h already read */
-+typedef short INT16;
-+typedef signed int INT32;
-+#endif
-+#define XMD_H                   /* prevent jmorecfg.h from redefining it */
-+
-+#endif /* _MSC_VER */
-+
diff --git a/external/libjpeg-turbo/ubsan.patch 
b/external/libjpeg-turbo/ubsan.patch
deleted file mode 100644
index 33d3c15a8b3c..000000000000
--- a/external/libjpeg-turbo/ubsan.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- jcphuff.c
-+++ jcphuff.c
-@@ -14,6 +14,7 @@
-  * suspension.
-  */
- 
-+#include <stdint.h>
- #define JPEG_INTERNALS
- #include "jinclude.h"
- #include "jpeglib.h"
-@@ -255,7 +256,7 @@
-     if (c == 0xFF) {            /* need to stuff a zero byte? */
-       emit_byte(entropy, 0);
-     }
--    put_buffer <<= 8;
-+    put_buffer = (uint_least32_t) put_buffer << 8;
-     put_bits -= 8;
-   }
- 
---- jdarith.c
-+++ jdarith.c
-@@ -306,7 +306,7 @@
-       while (m >>= 1)
-         if (arith_decode(cinfo, st)) v |= m;
-       v += 1; if (sign) v = -v;
--      entropy->last_dc_val[ci] += v;
-+      entropy->last_dc_val[ci] = (entropy->last_dc_val[ci] + v) & 0xffff;
-     }
- 
-     /* Scale and output the DC coefficient (assumes jpeg_natural_order[0]=0) 
*/
-@@ -564,7 +564,7 @@
-       while (m >>= 1)
-         if (arith_decode(cinfo, st)) v |= m;
-       v += 1; if (sign) v = -v;
--      entropy->last_dc_val[ci] += v;
-+      entropy->last_dc_val[ci] = (entropy->last_dc_val[ci] + v) & 0xffff;
-     }
- 
-     if (block)
diff --git a/external/libxml2/ExternalPackage_libxml2.mk 
b/external/libxml2/ExternalPackage_libxml2.mk
index d38eb68df0cb..6338fb20b9df 100644
--- a/external/libxml2/ExternalPackage_libxml2.mk
+++ b/external/libxml2/ExternalPackage_libxml2.mk
@@ -21,7 +21,7 @@ else # COM=MSC
 $(eval $(call 
gb_ExternalPackage_add_file,libxml2,$(LIBO_URE_LIB_FOLDER)/libxml2.dll,win32/bin.msvc/libxml2.dll))
 endif
 else # OS!=WNT
-$(eval $(call 
gb_ExternalPackage_add_file,libxml2,$(LIBO_URE_LIB_FOLDER)/libxml2.so.2,.libs/libxml2.so.2.9.$(LIBXML_VERSION_MICRO)))
+$(eval $(call 
gb_ExternalPackage_add_file,libxml2,$(LIBO_URE_LIB_FOLDER)/libxml2.so.2,.libs/libxml2.so.2.10.$(LIBXML_VERSION_MICRO)))
 endif
 endif # DISABLE_DYNLOADING
 
diff --git a/external/libxml2/UnpackedTarball_libxml2.mk 
b/external/libxml2/UnpackedTarball_libxml2.mk
index 83df02849cb3..8c81c3d26e4c 100644
--- a/external/libxml2/UnpackedTarball_libxml2.mk
+++ b/external/libxml2/UnpackedTarball_libxml2.mk
@@ -14,7 +14,6 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,libxml2,$(LIBXML_TARBALL),,libxml2)
 $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libxml2))
 
 $(eval $(call gb_UnpackedTarball_add_patches,libxml2,\
-       external/libxml2/libxml2-config.patch.1 \
        external/libxml2/libxml2-global-symbols.patch \
        external/libxml2/libxml2-vc10.patch \
        $(if $(filter ANDROID,$(OS)),external/libxml2/libxml2-android.patch) \
@@ -23,4 +22,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,libxml2,\
                external/libxml2/libxml2-icu.patch.0) \
 ))
 
+$(eval $(call 
gb_UnpackedTarball_add_file,libxml2,xml2-config.in,external/libxml2/xml2-config.in))
+
 # vim: set noet sw=4 ts=4:
diff --git a/external/libxml2/libxml2-android.patch 
b/external/libxml2/libxml2-android.patch
index 42af83274026..acf9b17e02db 100644
--- a/external/libxml2/libxml2-android.patch
+++ b/external/libxml2/libxml2-android.patch
@@ -2,9 +2,9 @@
 +++ misc/build/libxml2-2.7.6/Makefile.in
 @@ -1635,7 +1635,7 @@
        $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
- check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-recursive
--all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(SCRIPTS) $(MANS) $(DATA) \
+       $(MAKE) $(AM_MAKEFLAGS) check-local
+ check: check-recursive
+-all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(SCRIPTS) $(DATA) \
 +all-am: Makefile $(LTLIBRARIES) \
                config.h
  install-binPROGRAMS: install-libLTLIBRARIES
diff --git a/external/libxml2/libxml2-config.patch.1 
b/external/libxml2/libxml2-config.patch.1
deleted file mode 100644
index 5a2ef1485e92..000000000000
--- a/external/libxml2/libxml2-config.patch.1
+++ /dev/null
@@ -1,43 +0,0 @@
-Hack the xml2-config to return paths into WORKDIR.
-
---- a/xml2-config.in   2009-12-17 11:45:20.000000000 +0000
-+++ b/xml2-config.in   2009-12-17 11:45:36.000000000 +0000
-@@ -1,9 +1,14 @@
- #! /bin/sh
- 
--prefix=@prefix@
--exec_prefix=@exec_prefix@
--includedir=@includedir@
--libdir=@libdir@
-+#prefix=@prefix@
-+#exec_prefix=@exec_prefix@
-+#includedir=@includedir@
-+#libdir=@libdir@
-+
-+prefix=${WORKDIR}/UnpackedTarball/libxml2
-+exec_prefix=${WORKDIR}/UnpackedTarball/libxml2
-+includedir=${WORKDIR}/UnpackedTarball/libxml2/include
-+libdir=${WORKDIR}/UnpackedTarball/libxml2/.libs
- cflags=
- libs=
- 
-@@ -67,7 +72,8 @@
-       ;;
- 
-     --cflags)
--        cflags="@XML_INCLUDEDIR@ @XML_CFLAGS@"
-+        #cflags="@XML_INCLUDEDIR@ @XML_CFLAGS@"
-+        cflags="-I${includedir}"
-               ;;
- 
-     --libtool-libs)
-@@ -91,7 +96,8 @@
-             libs="@XML_LIBDIR@ $libs"
-         fi
- 
--        libs="$libs @WIN32_EXTRA_LIBADD@"
-+        #libs="$libs @WIN32_EXTRA_LIBADD@"
-+        libs="-L${libdir} -lxml2 -lm"
-         ;;
- 
-     *)
diff --git a/external/libxml2/xml2-config.in b/external/libxml2/xml2-config.in
new file mode 100644
index 000000000000..164508e47e67
--- /dev/null
+++ b/external/libxml2/xml2-config.in
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+while test $# -gt 0; do
+    case "$1" in
+    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+    *) optarg= ;;
+    esac
+
+    case "$1" in
+    --version)
+       echo @VERSION@
+       exit 0
+        ;;
+    --cflags)
+        cflags="$LIBXML_CFLAGS"
+        ;;
+    --libs)
+        libs="$LIBXML_LIBS"
+        ;;
+    esac
+    shift
+done
+
+if test -n "$cflags$libs"; then
+    echo $cflags $libs
+fi
+
+exit 0
diff --git a/external/nss/UnpackedTarball_nss.mk 
b/external/nss/UnpackedTarball_nss.mk
index 4f8499e8a835..ab64f95de36a 100644
--- a/external/nss/UnpackedTarball_nss.mk
+++ b/external/nss/UnpackedTarball_nss.mk
@@ -16,7 +16,6 @@ $(eval $(call 
gb_UnpackedTarball_update_autoconf_configs,nss,nspr/build/autoconf
 $(eval $(call gb_UnpackedTarball_add_patches,nss,\
     external/nss/nss.patch \
     external/nss/nss.aix.patch \
-    external/nss/nss-3.13.5-zlib-werror.patch \
     external/nss/nss_macosx.patch \
     external/nss/nss-win32-make.patch.1 \
     external/nss/ubsan.patch.0 \
@@ -24,7 +23,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\
     external/nss/nss.vs2015.patch \
     external/nss/nss.vs2015.pdb.patch \
     external/nss/nss.bzmozilla1238154.patch \
-       external/nss/nss-bz1646594.patch.1 \
+    external/nss/nss-bz1646594.patch.1 \
     external/nss/macos-dlopen.patch.0 \
     external/nss/nss-restore-manual-pre-dependencies.patch.1 \
     $(if $(filter iOS,$(OS)), \
diff --git a/external/nss/asan.patch.1 b/external/nss/asan.patch.1
index 7dfd6ed4e782..ccabd446ebac 100644
--- a/external/nss/asan.patch.1
+++ b/external/nss/asan.patch.1
@@ -1,12 +1,12 @@
 diff -ur nss.org/nss/coreconf/Linux.mk nss/nss/coreconf/Linux.mk
 --- nss.org/nss/coreconf/Linux.mk      2014-05-06 04:36:01.817838877 +0200
 +++ nss/nss/coreconf/Linux.mk  2014-05-06 04:37:25.387835456 +0200
-@@ -146,7 +146,7 @@
+@@ -157,7 +157,7 @@
  # we don't use -z defs there.
  # Also, -z defs conflicts with Address Sanitizer, which emits relocations
  # against the libsanitizer runtime built into the main executable.
 -ZDEFS_FLAG            = -Wl,-z,defs
 +ZDEFS_FLAG            =
- DSO_LDOPTS            += $(if $(findstring 2.11.90.0.8,$(shell ld 
-v)),,$(ZDEFS_FLAG)) $(if $(filter-out 
$(OS),ANDROID),-Wl$(COMMA)-z$(COMMA)origin '-Wl$(COMMA)-rpath$(COMMA)$$ORIGIN')
- LDFLAGS                       += $(ARCHFLAG) -z noexecstack
+ DSO_LDOPTS     += $(if $(findstring 2.11.90.0.8,$(shell $(LD) 
-v)),,$(ZDEFS_FLAG)) $(if $(filter-out 
$(OS),ANDROID),-Wl$(COMMA)-z$(COMMA)origin '-Wl$(COMMA)-rpath$(COMMA)$$ORIGIN')
+ LDFLAGS                  += $(ARCHFLAG) -z noexecstack
  
diff --git a/external/nss/clang-cl.patch.0 b/external/nss/clang-cl.patch.0
index 1d615c2397d8..e20aab3b9ff1 100644
--- a/external/nss/clang-cl.patch.0
+++ b/external/nss/clang-cl.patch.0
@@ -14,7 +14,7 @@
  #pragma intrinsic(_InterlockedExchange)
 --- nspr/pr/include/prbit.h
 +++ nspr/pr/include/prbit.h
-@@ -14,7 +14,7 @@
+@@ -15,7 +15,7 @@
  */
  #if defined(_WIN32) && (_MSC_VER >= 1300) && \
      (defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM) || \
@@ -23,7 +23,7 @@
  # include <intrin.h>
  # pragma  intrinsic(_BitScanForward,_BitScanReverse)
  __forceinline static int __prBitScanForward32(unsigned int val)
-@@ -32,7 +32,7 @@
+@@ -33,7 +33,7 @@
  # define pr_bitscan_ctz32(val)  __prBitScanForward32(val)
  # define pr_bitscan_clz32(val)  __prBitScanReverse32(val)
  # define  PR_HAVE_BUILTIN_BITSCAN32
@@ -32,7 +32,7 @@
         (defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
          defined(__aarch64__))
  # define pr_bitscan_ctz32(val)  __builtin_ctz(val)
-@@ -136,7 +136,7 @@
+@@ -138,7 +138,7 @@
  */
  
  #if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64) || \
@@ -61,9 +61,20 @@
  #pragma deprecated(CERTDB_VALID_PEER)
  #endif
  #define CERTDB_VALID_PEER CERTDB_TERMINAL_RECORD
+--- nss/lib/freebl/blapit.h
++++ nss/lib/freebl/blapit.h
+@@ -53,7 +53,7 @@
+  * Mark the old defines as deprecated. This will warn code that expected
+  * DSA1 only that they need to change if the are to support DSA2.
+  */
+-#if defined(__GNUC__) && (__GNUC__ > 3)
++#if defined(__GNUC__) && (__GNUC__ > 3) || defined __clang__
+ /* make GCC warn when we use these #defines */
+ typedef int __BLAPI_DEPRECATED __attribute__((deprecated));
+ #define DSA_SUBPRIME_LEN ((__BLAPI_DEPRECATED)DSA1_SUBPRIME_LEN)
 --- nss/lib/util/pkcs11n.h
 +++ nss/lib/util/pkcs11n.h
-@@ -426,7 +426,7 @@
+@@ -563,7 +563,7 @@
  /* keep the old value for compatibility reasons*/
  #define CKT_NSS_MUST_VERIFY ((__CKT_NSS_MUST_VERIFY)(CKT_NSS + 4))
  #else
@@ -80,7 +91,7 @@
 # in the outer pkcs11t.h:
 --- nss/lib/util/pkcs11t.h
 +++ nss/lib/util/pkcs11t.h
-@@ -72,7 +72,14 @@
+@@ -78,7 +78,14 @@
  #define CK_INVALID_HANDLE 0
  
  /* pack */
@@ -95,7 +106,7 @@
  
  typedef struct CK_VERSION {
      CK_BYTE major; /* integer portion of version number */
-@@ -1795,6 +1802,13 @@
+@@ -2586,6 +2593,13 @@
  #include "pkcs11n.h"
  
  /* undo packing */
diff --git a/external/nss/macos-dlopen.patch.0 
b/external/nss/macos-dlopen.patch.0
index 1889b8df7cd3..e8abc8f59c69 100644
--- a/external/nss/macos-dlopen.patch.0
+++ b/external/nss/macos-dlopen.patch.0
@@ -1,6 +1,6 @@
 --- nspr/pr/src/linking/prlink.c
 +++ nspr/pr/src/linking/prlink.c
-@@ -799,7 +799,7 @@
+@@ -555,7 +555,7 @@
           * The reason is that DARWIN's dlopen ignores the provided path
           * and checks for the plain filename in DYLD_LIBRARY_PATH,
           * which could load an unexpected version of a library. */
diff --git a/external/nss/nss-3.13.5-zlib-werror.patch 
b/external/nss/nss-3.13.5-zlib-werror.patch
deleted file mode 100644
index 0cdbf7808f81..000000000000
--- a/external/nss/nss-3.13.5-zlib-werror.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/a/nss/lib/zlib/gzguts.h  2010-08-22 03:07:03.000000000 +0200
-+++ b/b/nss/lib/zlib/gzguts.h  2012-07-17 08:52:14.821552788 +0200
-@@ -26,6 +26,10 @@
- #  define write _write
- #  define close _close
- #endif
-+
-+#ifndef _WIN32
-+#include <unistd.h>
-+#endif
- 
- #ifdef NO_DEFLATE       /* for compatibility with old definition */
- #  define NO_GZCOMPRESS
diff --git a/external/nss/nss-android.patch.1 b/external/nss/nss-android.patch.1
index 05172eaad16a..707fcf99afe0 100644
--- a/external/nss/nss-android.patch.1
+++ b/external/nss/nss-android.patch.1
@@ -1,7 +1,7 @@
 diff -ur nss.org/nspr/build/autoconf/config.sub 
nss/nspr/build/autoconf/config.sub
 --- nss.org/nspr/build/autoconf/config.sub     2017-09-07 15:29:45.031246453 
+0200
 +++ nss/nspr/build/autoconf/config.sub 2017-09-07 15:32:13.087235423 +0200
-@@ -111,6 +111,11 @@
+@@ -110,6 +110,11 @@
      exit 1;;
  esac
  
@@ -16,7 +16,7 @@ diff -ur nss.org/nspr/build/autoconf/config.sub 
nss/nspr/build/autoconf/config.s
 diff -ur nss.org/nspr/configure nss/nspr/configure
 --- nss.org/nspr/configure     2017-09-07 15:29:45.018246359 +0200
 +++ nss/nspr/configure 2017-09-07 15:31:47.604075663 +0200
-@@ -2737,18 +2739,15 @@
+@@ -2728,18 +2728,15 @@
      esac
  
          AS="$android_toolchain"/bin/"$android_tool_prefix"-as
@@ -41,7 +41,7 @@ diff -ur nss.org/nspr/configure nss/nspr/configure
 diff -ur nss.org/nss/Makefile nss/nss/Makefile
 --- nss.org/nss/Makefile       2017-09-07 15:29:44.933245745 +0200
 +++ nss/nss/Makefile   2017-09-07 15:32:04.347181076 +0200
-@@ -62,7 +62,7 @@
+@@ -65,7 +65,7 @@
  
  ifeq ($(OS_TARGET),Android)
  NSPR_CONFIGURE_OPTS += --with-android-ndk=$(ANDROID_NDK) \
@@ -74,7 +74,7 @@ diff -ur nss.org/nss/Makefile nss/nss/Makefile
 diff -ur nss/nss/coreconf/arch.mk nss/nss/coreconf/arch.mk
 --- nss/nss/coreconf/arch.mk   2019-11-01 10:29:44.933245745 +0100
 +++ nss/nss/coreconf/arch.mk   2019-11-01 10:32:04.347181076 +0100
-@@ -234,7 +234,15 @@
+@@ -213,7 +213,15 @@
  #
  # this should be  configurable from the user
  #
diff --git a/external/nss/nss-bz1646594.patch.1 
b/external/nss/nss-bz1646594.patch.1
index e6c75922a7dc..cffb9f5fe61d 100644
--- a/external/nss/nss-bz1646594.patch.1
+++ b/external/nss/nss-bz1646594.patch.1
@@ -2,7 +2,7 @@ regression from 
https://bugzilla.mozilla.org/show_bug.cgi?id=1646594
 
 --- nss/nss/coreconf/arch.mk.orig2     2020-08-18 14:33:21.295252404 +0200
 +++ nss/nss/coreconf/arch.mk   2020-08-18 14:33:46.360320806 +0200
-@@ -116,8 +116,10 @@
+@@ -94,8 +94,10 @@
        OS_RELEASE := $(word 1,$(OS_RELEASE)).$(word 2,$(OS_RELEASE))
      endif
      KERNEL = Linux
diff --git a/external/nss/nss-ios.patch b/external/nss/nss-ios.patch
index 4263ecbe5f3d..58239f718978 100644
--- a/external/nss/nss-ios.patch
+++ b/external/nss/nss-ios.patch
@@ -1,6 +1,6 @@
 --- a/a/nss/Makefile
 +++ a/a/nss/Makefile
-@@ -96,13 +96,11 @@
+@@ -91,13 +91,11 @@
  ifdef NS_USE_GCC
  NSPR_CONFIGURE_ENV = CC=gcc CXX=g++
  endif
@@ -16,7 +16,7 @@
  endif
  
  #
-@@ -140,7 +140,6 @@
+@@ -140,7 +138,6 @@
  
  build_nspr: $(NSPR_CONFIG_STATUS)
        $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
@@ -37,7 +37,7 @@
  
 --- a/a/nss/lib/nss/nssinit.c
 +++ a/a/nss/lib/nss/nssinit.c
-@@ -278,6 +278,7 @@
+@@ -275,6 +275,7 @@
                            const char *secmodprefix,
                            char **retoldpath, char **retnewpath)
  {
@@ -45,7 +45,7 @@
      char *path, *oldpath = NULL, *lastsep;
      int len, path_len, secmod_len, dll_len;
  
-@@ -309,6 +309,10 @@
+@@ -309,6 +310,10 @@
      }
      *retoldpath = oldpath;
      *retnewpath = path;
@@ -58,7 +58,7 @@
  
 --- a/a/nss/lib/pk11wrap/pk11load.c
 +++ a/a/nss/lib/pk11wrap/pk11load.c
-@@ -389,6 +389,8 @@
+@@ -390,6 +390,8 @@
  /*
   * load a new module into our address space and initialize it.
   */
@@ -67,15 +67,15 @@
  SECStatus
  secmod_LoadPKCS11Module(SECMODModule *mod, SECMODModule **oldModule)
  {
-@@ -465,6 +465,7 @@
-         /* load the library. If this succeeds, then we have to remember to
+@@ -468,6 +470,7 @@
+ /* load the library. If this succeeds, then we have to remember to
           * unload the library if anything goes wrong from here on out...
           */
 +#ifndef NSS_STATIC_PKCS11 // With NSS_STATIC_PKCS11, the only module wodule 
we load here is nssckbi
-         library = PR_LoadLibrary(mod->dllName);
-         mod->library = (void *)library;
- 
-@@ -487,6 +487,11 @@
+ #if defined(_WIN32)
+         if (nssUTF8_Length(mod->dllName, NULL)) {
+             wchar_t *dllNameWide = _NSSUTIL_UTF8ToWide(mod->dllName);
+@@ -507,6 +510,11 @@
              mod->moduleDBFunc = (void *)
                  PR_FindSymbol(library, "NSS_ReturnModuleSpecData");
          }
@@ -87,7 +87,7 @@
          if (mod->moduleDBFunc == NULL)
              mod->isModuleDB = PR_FALSE;
          if ((ientry == NULL) && (fentry == NULL)) {
-@@ -624,10 +624,12 @@
+@@ -643,10 +651,12 @@
      }
  fail:
      mod->functionList = NULL;
@@ -124,7 +124,7 @@
      PRLibrary *handle;
      const char *name = getLibName();
  
-@@ -47,32 +47,42 @@
+@@ -47,32 +48,42 @@
      if (handle) {
          PRFuncPtr address = PR_FindFunctionSymbol(handle, "FREEBL_GetVector");
          if (address) {
@@ -168,7 +168,7 @@
  }
  
  static const PRCallOnceType pristineCallOnce;
-@@ -837,6 +837,7 @@
+@@ -860,6 +871,7 @@
  void
  BL_Unload(void)
  {
@@ -176,7 +176,7 @@
      /* This function is not thread-safe, but doesn't need to be, because it is
       * only called from functions that are also defined as not thread-safe,
       * namely C_Finalize in softoken, and the SSL bypass shutdown callback 
called
-@@ -852,6 +852,7 @@
+@@ -872,6 +884,7 @@
          PR_UnloadLibrary(blLib);
  #endif
      }
@@ -186,7 +186,7 @@
  }
 --- a/a/nspr/build/autoconf/config.sub 2017-09-07 15:29:45.031246453 +0200
 +++ a/a/nspr/build/autoconf/config.sub 2017-09-07 15:32:13.087235423 +0200
-@@ -111,6 +111,9 @@
+@@ -110,6 +110,9 @@
      exit 1;;
  esac
  
@@ -198,7 +198,7 @@
  IFS="-" read field1 field2 field3 field4 <<EOF
 --- a/a/nspr/config/autoconf.mk.in
 +++ a/a/nspr/config/autoconf.mk.in
-@@ -67,7 +67,7 @@
+@@ -69,7 +69,7 @@
  MSC_VER               = @MSC_VER@
  AR            = @AR@
  AR_FLAGS      = @AR_FLAGS@
@@ -209,7 +209,7 @@
  RC            = @RC@
 --- a/a/nspr/configure
 +++ a/a/nspr/configure
-@@ -755,7 +755,7 @@
+@@ -2507,7 +2507,7 @@
  OBJDIR='$(OBJDIR_NAME)'
  OBJDIR_NAME=.
  OBJDIR_SUFFIX=OBJ
@@ -218,7 +218,7 @@
  NOSUCHFILE=/no-such-file
  LIBNSPR='-L$(dist_libdir) -lnspr$(MOD_MAJOR_VERSION)'
  LIBPLC='-L$(dist_libdir) -lplc$(MOD_MAJOR_VERSION)'
-@@ -3060,7 +3060,7 @@
+@@ -5571,7 +5571,7 @@
  LIB_SUFFIX=a
  DLL_SUFFIX=so
  ASM_SUFFIX=s
@@ -227,7 +227,7 @@
  PR_MD_ASFILES=
  PR_MD_CSRCS=
  PR_MD_ARCH_DIR=unix
-@@ -3904,7 +3904,7 @@
+@@ -6485,7 +6485,7 @@
      DSO_CFLAGS=-fPIC
      DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 
-all_load -install_name 
@__________________________________________________OOO/$@ 
-headerpad_max_install_names'
      _OPTIMIZE_FLAGS=-O2
@@ -238,7 +238,7 @@
      USE_PTHREADS=1
 --- a/a/nss/coreconf/ruleset.mk
 +++ a/a/nss/coreconf/ruleset.mk
-@@ -68,7 +68,7 @@
+@@ -45,7 +45,7 @@
  endif
  
  ifeq ($(MKPROG),)
@@ -249,7 +249,7 @@
  #
 --- a/a/nss/coreconf/Darwin.mk
 +++ a/a/nss/coreconf/Darwin.mk
-@@ -124,7 +124,7 @@
+@@ -116,7 +116,7 @@
     DSO_LDOPTS += --coverage
  endif
  
diff --git a/external/nss/nss-restore-manual-pre-dependencies.patch.1 
b/external/nss/nss-restore-manual-pre-dependencies.patch.1
index 06691b1ec957..ea034f0dc80f 100644
--- a/external/nss/nss-restore-manual-pre-dependencies.patch.1
+++ b/external/nss/nss-restore-manual-pre-dependencies.patch.1
@@ -68,7 +68,7 @@ summary:     Bug 1637083 Replace pre-dependency with shell 
hack r=rrelyea
        ck.h              \
 --- b/nss/manifest.mn  Wed May 13 19:00:40 2020 +0000
 +++ a/nss/manifest.mn  Tue May 12 21:33:43 2020 +0000
-@@ -23,6 +23,12 @@
+@@ -24,6 +24,12 @@
        # no real way to encode these in any sensible way
        $(MAKE) -C coreconf/nsinstall program
        $(MAKE) export
diff --git a/external/nss/nss-win32-make.patch.1 
b/external/nss/nss-win32-make.patch.1
index 7ba3df451ee6..6a3201a082a1 100644
--- a/external/nss/nss-win32-make.patch.1
+++ b/external/nss/nss-win32-make.patch.1
@@ -1,6 +1,6 @@
 --- nss/nss/coreconf/rules.mk.orig2    2014-06-03 15:30:01.667200000 +0200
 +++ nss/nss/coreconf/rules.mk  2014-06-03 15:30:14.537200000 +0200
-@@ -259,7 +259,7 @@
+@@ -174,7 +174,7 @@
  $(LIBRARY): $(OBJS) | $$(@D)/d
        rm -f $@
  ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
@@ -9,7 +9,7 @@
  else
        $(AR) cr $@ $(OBJS)
  endif
-@@ -297,7 +297,7 @@
+@@ -214,7 +214,7 @@
  ifdef NS_USE_GCC
        $(LINK_DLL) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) 
$(OS_LIBS) $(LD_LIBS) $(RES)
  else
diff --git a/external/nss/nss.aix.patch b/external/nss/nss.aix.patch
index 4b0c6bfb3261..10572f94717a 100644
--- a/external/nss/nss.aix.patch
+++ b/external/nss/nss.aix.patch
@@ -1,7 +1,7 @@
 diff -ru a/nspr/configure b/nspr/configure
 --- a/a/nspr/configure 2014-09-29 16:47:42.984012225 +0100
 +++ b/b/nspr/configure 2014-09-29 16:50:33.907375937 +0100
-@@ -6369,7 +6369,6 @@
+@@ -6325,7 +6325,6 @@
          AIX_LINK_OPTS='-brtl -bnso -berok'
          ;;
      esac
@@ -12,7 +12,7 @@ diff -ru a/nspr/configure b/nspr/configure
 diff -ru a/nspr/configure.in b/nspr/configure.in
 --- a/a/nspr/configure.in      2014-09-29 16:46:35.257394860 +0100
 +++ b/b/nspr/configure.in      2014-09-29 16:50:33.908375942 +0100
-@@ -1229,7 +1229,8 @@
+@@ -1180,7 +1180,8 @@
      AC_DEFINE(XP_UNIX)
      AC_DEFINE(AIX)
      AC_DEFINE(SYSV)
@@ -22,7 +22,7 @@ diff -ru a/nspr/configure.in b/nspr/configure.in
      AC_CHECK_HEADER(sys/atomic_op.h, AC_DEFINE(AIX_HAVE_ATOMIC_OP_H))
      case "${target_os}" in
      aix3.2*)
-@@ -1269,10 +1270,9 @@
+@@ -1220,10 +1221,9 @@
          AC_DEFINE(HAVE_SOCKLEN_T)
          AC_DEFINE(HAVE_FCNTL_FILE_LOCKING)
          USE_IPV6=1
@@ -48,7 +48,7 @@ diff -ru a/nspr/pr/src/Makefile.in b/nspr/pr/src/Makefile.in
 diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk
 --- a/a/nss/cmd/platlibs.mk    2014-09-29 16:47:42.987012253 +0100
 +++ b/b/nss/cmd/platlibs.mk    2014-09-29 16:50:33.910375955 +0100
-@@ -134,7 +134,7 @@
+@@ -171,7 +171,7 @@
        $(NULL)
  
  ifeq ($(OS_ARCH), AIX) 
@@ -57,7 +57,7 @@ diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk
  endif
  
  # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
-@@ -180,7 +180,7 @@
+@@ -217,7 +217,7 @@
        $(NULL)
  
  ifeq ($(OS_ARCH), AIX) 
diff --git a/external/nss/nss.bzmozilla1238154.patch 
b/external/nss/nss.bzmozilla1238154.patch
index 468ff810b9ca..425f38257892 100644
--- a/external/nss/nss.bzmozilla1238154.patch
+++ b/external/nss/nss.bzmozilla1238154.patch
@@ -1,7 +1,7 @@
 diff -ru a/nspr/configure b/nspr/configure
 --- a/a/nspr/configure 2019-01-26 12:23:06.589389910 +0100
 +++ b/b/nspr/configure 2019-01-26 12:26:56.566222293 +0100
-@@ -7127,7 +7127,7 @@
+@@ -6883,7 +6883,7 @@
  
          # Determine compiler version
  
diff --git a/external/nss/nss.cygwin64.in32bit.patch 
b/external/nss/nss.cygwin64.in32bit.patch
index b00761a0e85b..bce0f1d09403 100644
--- a/external/nss/nss.cygwin64.in32bit.patch
+++ b/external/nss/nss.cygwin64.in32bit.patch
@@ -3,7 +3,7 @@ on Cygwin 64bit and in 32bit mode
 diff -ru nss.orig/nss/Makefile nss/nss/Makefile
 --- a/nss.orig/nss/Makefile       2016-02-26 01:00:52.146713100 +0100
 +++ b/nss/nss/Makefile    2016-02-26 01:02:05.303560100 +0100
-@@ -59,6 +59,8 @@
+@@ -63,6 +63,8 @@
  # Translate coreconf build options to NSPR configure options.
  #
 
diff --git a/external/nss/nss.nowerror.patch b/external/nss/nss.nowerror.patch
index ff81a9b33539..bdf7a33a874c 100644
--- a/external/nss/nss.nowerror.patch
+++ b/external/nss/nss.nowerror.patch
@@ -1,7 +1,7 @@
 diff -ur nss.org/nss/coreconf/WIN32.mk nss/nss/coreconf/WIN32.mk
 --- a/nss.org/nss/coreconf/WIN32.mk    2016-04-13 11:33:09.322294523 +0200
 +++ b/nss/nss/coreconf/WIN32.mk        2016-04-13 11:33:27.744323969 +0200
-@@ -127,7 +127,7 @@
+@@ -121,7 +121,7 @@
                        -D_CRT_NONSTDC_NO_WARNINGS
      OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS
      ifndef NSS_ENABLE_WERROR
diff --git a/external/nss/nss.patch b/external/nss/nss.patch
index d9aaee5199bb..cc9eeed1b009 100644
--- a/external/nss/nss.patch
+++ b/external/nss/nss.patch
@@ -1,6 +1,6 @@
 --- a/a/nspr/configure 2017-08-29 23:44:13.686045013 +0530
 +++ b/b/nspr/configure 2017-08-29 23:46:53.774768655 +0530
-@@ -7034,7 +7034,7 @@
+@@ -6794,7 +6794,7 @@
      PR_MD_CSRCS=linux.c
      MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
      DSO_CFLAGS=-fPIC
@@ -11,7 +11,7 @@
                                     # combo is not yet good at debugging 
inlined
 --- a/nss.orig/nspr/pr/src/misc/prnetdb.c      2017-08-29 23:44:13.690045031 
+0530
 +++ b/nss/nspr/pr/src/misc/prnetdb.c   2017-08-29 23:47:03.810814019 +0530
-@@ -438,7 +438,7 @@
+@@ -441,7 +441,7 @@
      char *buf = *bufp;
      PRIntn buflen = *buflenp;
  
@@ -51,7 +51,7 @@
  
 --- a/nss.org/nss/coreconf/arch.mk     2017-08-29 23:44:13.646044832 +0530
 +++ b/nss/nss/coreconf/arch.mk 2017-08-29 23:45:51.494487134 +0530
-@@ -305,11 +305,17 @@
+@@ -284,11 +284,17 @@
      OBJDIR_NAME_COMPILER = $(COMPILER_TAG)
  endif
  OBJDIR_NAME_BASE = 
$(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(OBJDIR_NAME_COMPILER)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG)
@@ -83,16 +83,16 @@
  # The default implementation strategy for FreeBSD is pthreads.
 --- a/nss.org/nss/coreconf/Linux.mk    2017-08-29 23:44:13.642044814 +0530
 +++ b/nss/nss/coreconf/Linux.mk        2017-08-29 23:47:26.318915759 +0530
-@@ -147,7 +147,7 @@
+@@ -158,7 +158,7 @@
  # Also, -z defs conflicts with Address Sanitizer, which emits relocations
  # against the libsanitizer runtime built into the main executable.
  ZDEFS_FLAG            = -Wl,-z,defs
--DSO_LDOPTS            += $(if $(findstring 2.11.90.0.8,$(shell ld 
-v)),,$(ZDEFS_FLAG))
-+DSO_LDOPTS            += $(if $(findstring 2.11.90.0.8,$(shell ld 
-v)),,$(ZDEFS_FLAG)) $(if $(filter-out 
$(OS),ANDROID),-Wl$(COMMA)-z$(COMMA)origin '-Wl$(COMMA)-rpath$(COMMA)$$ORIGIN')
- LDFLAGS                       += $(ARCHFLAG) -z noexecstack
+-DSO_LDOPTS     += $(if $(findstring 2.11.90.0.8,$(shell $(LD) 
-v)),,$(ZDEFS_FLAG))
++DSO_LDOPTS     += $(if $(findstring 2.11.90.0.8,$(shell $(LD) 
-v)),,$(ZDEFS_FLAG)) $(if $(filter-out 
$(OS),ANDROID),-Wl$(COMMA)-z$(COMMA)origin '-Wl$(COMMA)-rpath$(COMMA)$$ORIGIN')
+ LDFLAGS                  += $(ARCHFLAG) -z noexecstack
  
  # On Maemo, we need to use the -rpath-link flag for even the standard system
-@@ -177,8 +177,13 @@
+@@ -188,8 +188,13 @@
  endif
  endif
  
@@ -108,7 +108,7 @@
  # dependencies in the same directory where it resides.
 --- a/nss.org/nss/coreconf/rules.mk    2017-08-29 23:44:13.646044832 +0530
 +++ b/nss/nss/coreconf/rules.mk        2017-08-29 23:47:37.442966042 +0530
-@@ -261,7 +261,7 @@
+@@ -176,7 +176,7 @@
  ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
        $(AR) $(subst /,\\,$(OBJS))
  else
@@ -119,7 +119,7 @@
  
 --- a/nss.org/nss/coreconf/SunOS5.mk   2017-08-29 23:44:13.646044832 +0530
 +++ b/nss/nss/coreconf/SunOS5.mk       2017-08-29 23:45:00.902258445 +0530
-@@ -48,8 +48,11 @@
+@@ -46,8 +46,11 @@
            # OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
        endif
  else
@@ -135,7 +135,7 @@
        ifndef BUILD_OPT
 --- a/nss.org/nss/coreconf/Werror.mk   2017-08-29 23:44:13.646044832 +0530
 +++ b/nss/nss/coreconf/Werror.mk       2017-08-29 23:44:23.994091608 +0530
-@@ -94,7 +94,8 @@
+@@ -96,7 +96,8 @@
      endif #ndef NSS_ENABLE_WERROR
  
      ifeq ($(NSS_ENABLE_WERROR),1)
diff --git a/external/nss/nss.utf8bom.patch.1 b/external/nss/nss.utf8bom.patch.1
index e8c56abefcde..f474adf6f932 100644
--- a/external/nss/nss.utf8bom.patch.1
+++ b/external/nss/nss.utf8bom.patch.1
@@ -1,7 +1,7 @@
 diff -ur nss.org/nss/lib/ckfw/builtins/certdata.perl 
nss/nss/lib/ckfw/builtins/certdata.perl
 --- nss.org/nss/lib/ckfw/builtins/certdata.perl        2016-03-31 
18:26:07.890190900 +0800
 +++ nss/nss/lib/ckfw/builtins/certdata.perl    2016-03-31 19:16:16.727269600 
+0800
-@@ -110,6 +110,9 @@
+@@ -122,6 +122,9 @@
  sub doprint {
  my $i;
  
@@ -11,7 +11,7 @@ diff -ur nss.org/nss/lib/ckfw/builtins/certdata.perl 
nss/nss/lib/ckfw/builtins/c
  print <<EOD
  /* THIS IS A GENERATED FILE */
  /* This Source Code Form is subject to the terms of the Mozilla Public
-@@ -119,6 +122,7 @@
+@@ -131,6 +134,7 @@
  #ifndef BUILTINS_H
  #include "builtins.h"
  #endif /* BUILTINS_H */
diff --git a/external/nss/nss.vs2015.patch b/external/nss/nss.vs2015.patch
index de4f8762fd5b..73cff7c833fb 100644
--- a/external/nss/nss.vs2015.patch
+++ b/external/nss/nss.vs2015.patch
@@ -1,7 +1,7 @@
 diff -ru nss.org/nss/coreconf/WIN32.mk nss/nss/coreconf/WIN32.mk
 --- a/nss.org/nss/coreconf/WIN32.mk    2016-02-12 15:36:18.000000000 +0100
 +++ b/nss/nss/coreconf/WIN32.mk        2016-02-26 00:42:43.170809600 +0100
-@@ -199,7 +199,7 @@
+@@ -192,7 +192,7 @@
      # Disable C4244: conversion from 'type1' to 'type2', possible loss of data
      # Disable C4018: 'expression' : signed/unsigned mismatch
      # Disable C4312: 'type cast': conversion from 'type1' to 'type2' of 
greater size
diff --git a/external/nss/nss.vs2015.pdb.patch 
b/external/nss/nss.vs2015.pdb.patch
index c66940132cdd..3b498f976ac6 100644
--- a/external/nss/nss.vs2015.pdb.patch
+++ b/external/nss/nss.vs2015.pdb.patch
@@ -1,7 +1,7 @@
 diff -ru nss.orig/nss/coreconf/WIN32.mk nss/nss/coreconf/WIN32.mk
 --- a/nss.orig/nss/coreconf/WIN32.mk   2016-03-04 08:30:16.306639400 +0100
 +++ b/nss/nss/coreconf/WIN32.mk        2016-03-04 08:31:17.987233200 +0100
-@@ -169,15 +169,15 @@
+@@ -163,15 +163,15 @@
        DLLFLAGS   += -OUT:$@
        ifdef MOZ_DEBUG_SYMBOLS
                ifdef MOZ_DEBUG_FLAGS
diff --git a/external/nss/nss.windows.patch b/external/nss/nss.windows.patch
index 901846e7bc1f..27a44045802e 100644
--- a/external/nss/nss.windows.patch
+++ b/external/nss/nss.windows.patch
@@ -1,6 +1,6 @@
 --- a/a/nspr/config/rules.mk   2008-12-03 00:24:39.000000000 +0100
 +++ b/b/nspr/config/rules.mk   2009-11-27 13:36:22.662753328 +0100
-@@ -415,7 +415,7 @@
+@@ -423,7 +423,7 @@
  
  ifdef NEED_ABSOLUTE_PATH
  # The quotes allow absolute paths to contain spaces.
@@ -11,7 +11,7 @@
  $(OBJDIR)/%.$(OBJ_SUFFIX): %.cpp
 --- a/a/nss/coreconf/rules.mk  2008-12-03 00:24:39.000000000 +0100
 +++ b/b/nss/coreconf/rules.mk  2009-11-27 13:36:22.662753328 +0100
-@@ -386,7 +386,7 @@
+@@ -280,7 +280,7 @@
  endif
  
  # The quotes allow absolute paths to contain spaces.
@@ -22,7 +22,7 @@
  ifdef USE_NT_C_SYNTAX
 --- a/a/nspr/pr/include/md/_win95.h
 +++ b/b/nspr/pr/include/md/_win95.h
-@@ -312,7 +312,7 @@
+@@ -317,7 +317,7 @@
  #define _MD_ATOMIC_ADD(ptr,val)    (InterlockedExchangeAdd((PLONG)ptr, 
(LONG)val) + val)
  #define _MD_ATOMIC_DECREMENT(x)       InterlockedDecrement((PLONG)x)
  #endif /* x86 */
diff --git a/external/nss/nss_macosx.patch b/external/nss/nss_macosx.patch
index 1e7599be6133..456bd62d509b 100644
--- a/external/nss/nss_macosx.patch
+++ b/external/nss/nss_macosx.patch
@@ -1,7 +1,7 @@
 diff -ru a/nspr/configure b/nspr/configure
 --- a/a/nspr/configure 2014-09-29 16:50:33.907375937 +0100
 +++ b/b/nspr/configure 2014-09-29 16:51:59.213931947 +0100
-@@ -6453,6 +6453,9 @@
+@@ -6448,6 +6448,9 @@
      AS='$(CC) -x assembler-with-cpp'
      CFLAGS="$CFLAGS -Wall -fno-common"
      case "${target_cpu}" in
@@ -11,7 +11,7 @@ diff -ru a/nspr/configure b/nspr/configure
          arm*)
              CPU_ARCH=arm
              ;;
-@@ -6578,7 +6579,7 @@
+@@ -6483,7 +6486,7 @@
  
  
      DSO_CFLAGS=-fPIC
@@ -23,7 +23,7 @@ diff -ru a/nspr/configure b/nspr/configure
 diff -ru a/nss/coreconf/Darwin.mk b/nss/coreconf/Darwin.mk
 --- a/a/nss/coreconf/Darwin.mk 2014-09-29 16:50:22.992304799 +0100
 +++ b/b/nss/coreconf/Darwin.mk 2014-09-29 16:51:59.214931953 +0100
-@@ -20,13 +24,17 @@
+@@ -20,13 +20,17 @@
  
  ifeq (,$(filter-out i%86,$(CPU_ARCH)))
  ifdef USE_64
@@ -41,7 +41,7 @@ diff -ru a/nss/coreconf/Darwin.mk b/nss/coreconf/Darwin.mk
  override CPU_ARCH     = x86
  endif
  else
-@@ -40,19 +48,20 @@
+@@ -33,19 +37,20 @@
  ifeq (arm,$(CPU_ARCH))
  # Nothing set for arm currently.
  else
@@ -66,7 +66,7 @@ diff -ru a/nss/coreconf/Darwin.mk b/nss/coreconf/Darwin.mk
          # GCC <= 3
          DARWIN_SDK_FRAMEWORKS = -F$(MACOS_SDK_DIR)/System/Library/Frameworks
          ifneq (,$(shell find $(MACOS_SDK_DIR)/Library/Frameworks -maxdepth 0))
-@@ -108,7 +120,7 @@
+@@ -108,7 +113,7 @@
  # May override this with different compatibility and current version numbers.
  DARWIN_DYLIB_VERSIONS = -compatibility_version 1 -current_version 1
  # May override this with -bundle to create a loadable module.
@@ -78,7 +78,7 @@ diff -ru a/nss/coreconf/Darwin.mk b/nss/coreconf/Darwin.mk
 diff -ru a/nss/Makefile b/nss/Makefile
 --- a/a/nss/Makefile   2014-09-29 16:50:22.990304789 +0100
 +++ b/b/nss/Makefile   2014-09-29 16:51:59.207931908 +0100
-@@ -72,6 +72,9 @@
+@@ -82,6 +82,9 @@
  ifeq ($(OS_TARGET),WIN95)
  NSPR_CONFIGURE_OPTS += --enable-win32-target=WIN95
  endif
diff --git a/external/nss/ubsan.patch.0 b/external/nss/ubsan.patch.0
index 059a9f3b2c0a..5f97d3e9d24e 100644
--- a/external/nss/ubsan.patch.0
+++ b/external/nss/ubsan.patch.0
@@ -1,3 +1,12 @@
+--- nss/lib/base/item.c
++++ nss/lib/base/item.c
+@@ -182,5 +182,5 @@
+         return PR_FALSE;
+     }
+ 
+-    return nsslibc_memequal(one->data, two->data, one->size, statusOpt);
++    return one->size == 0 || nsslibc_memequal(one->data, two->data, 
one->size, statusOpt);
+ }
 --- nss/lib/softoken/legacydb/pk11db.c
 +++ nss/lib/softoken/legacydb/pk11db.c
 @@ -65,7 +65,7 @@
@@ -18,7 +27,7 @@
                count * sizeof(lgdbSlotData);
  
      data->data = (unsigned char *)PORT_ZAlloc(dataLen);
-@@ -327,7 +327,7 @@
+@@ -329,7 +329,7 @@
      }
      if ((encoded->major == LGDB_DB_EXT1_VERSION_MAJOR) &&
          (encoded->minor >= LGDB_DB_EXT1_VERSION_MINOR)) {
diff --git a/external/openssl/UnpackedTarball_openssl.mk 
b/external/openssl/UnpackedTarball_openssl.mk
index 6f00cf7f7e44..82b4f593bd61 100644
--- a/external/openssl/UnpackedTarball_openssl.mk
+++ b/external/openssl/UnpackedTarball_openssl.mk
@@ -13,6 +13,8 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,openssl,$(OPENSSL_TARBALL),,openssl
 
 $(eval $(call gb_UnpackedTarball_add_patches,openssl,\
        external/openssl/openssl-no-multilib.patch.0 \
+       external/openssl/configurable-z-option.patch.0 \
+       external/openssl/openssl-no-_umul128-on-aarch64.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/openssl/configurable-z-option.patch.0 
b/external/openssl/configurable-z-option.patch.0
new file mode 100644
index 000000000000..99d46f75410d
--- /dev/null
+++ b/external/openssl/configurable-z-option.patch.0
@@ -0,0 +1,34 @@
+--- Configurations/10-main.conf.sav    2021-08-24 13:38:47.000000000 +0000
++++ Configurations/10-main.conf        2021-11-02 22:20:44.377653700 +0000
+@@ -13,7 +13,7 @@
+         } elsif ($disabled{asm}) {
+             # assembler is still used to compile uplink shim
+             $vc_win64a_info = { AS        => "ml64",
+-                                ASFLAGS   => "/nologo /Zi",
++                                ASFLAGS   => "/nologo $$(DEBUG_FLAGS_VALUE)",
+                                 asflags   => "/c /Cp /Cx",
+                                 asoutflag => "/Fo" };
+         } else {
+@@ -41,7 +41,7 @@
+         } elsif ($disabled{asm}) {
+             # not actually used, uplink shim is inlined into C code
+             $vc_win32_info = { AS        => "ml",
+-                               ASFLAGS   => "/nologo /Zi",
++                               ASFLAGS   => "/nologo $$(DEBUG_FLAGS_VALUE)",
+                                asflags   => "/Cp /coff /c /Cx",
+                                asoutflag => "/Fo",
+                                perlasm_scheme => "win32" };
+@@ -1252,10 +1252,10 @@
+                                 "UNICODE", "_UNICODE",
+                                 "_CRT_SECURE_NO_DEPRECATE",
+                                 "_WINSOCK_DEPRECATED_NO_WARNINGS"),
+-        lib_cflags       => add("/Zi /Fdossl_static.pdb"),
++        lib_cflags       => add("\$(DEBUG_FLAGS_VALUE)"),
+         lib_defines      => add("L_ENDIAN"),
+-        dso_cflags       => "/Zi /Fddso.pdb",
+-        bin_cflags       => "/Zi /Fdapp.pdb",
++        dso_cflags       => "\$(DEBUG_FLAGS_VALUE)",
++        bin_cflags       => "\$(DEBUG_FLAGS_VALUE)",
+         shared_ldflag    => "/dll",
+         shared_target    => "win-shared", # meaningless except it gives 
Configure a hint
+         thread_scheme    => "winthreads",
diff --git a/external/openssl/openssl-no-_umul128-on-aarch64.patch.1 
b/external/openssl/openssl-no-_umul128-on-aarch64.patch.1
new file mode 100644
index 000000000000..c7ca53bc574c
--- /dev/null
+++ b/external/openssl/openssl-no-_umul128-on-aarch64.patch.1
@@ -0,0 +1,58 @@
+From 98f9a401c3964c7ff0e6ca048685e28a2a6401d4 Mon Sep 17 00:00:00 2001
+From: Hubert Kario <hka...@redhat.com>
+Date: Wed, 8 Feb 2023 14:13:24 +0100
+Subject: [PATCH] rsa: add msvc intrinsic for non x64 platforms
+
+_umul128() is x86_64 (x64) only, while __umulh() works everywhere, but
+doesn't generate optimal code on x64
+
+Reviewed-by: Dmitry Belyavskiy <beld...@gmail.com>
+Reviewed-by: Paul Dale <pa...@openssl.org>
+Reviewed-by: Tomas Mraz <to...@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/20244)
+
+(cherry picked from commit 075652f224479dad2e64b92e791b296177af8705)
+---
+ crypto/bn/rsa_sup_mul.c | 24 +++++++++++++++++++++++-
+ 1 file changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/crypto/bn/rsa_sup_mul.c b/crypto/bn/rsa_sup_mul.c
+index 0e0d02e1946e..3b57161b4589 100644
+--- a/crypto/bn/rsa_sup_mul.c
++++ b/crypto/bn/rsa_sup_mul.c
+@@ -110,12 +110,34 @@ static ossl_inline void _mul_limb(limb_t *hi, limb_t 
*lo, limb_t a, limb_t b)
+     *lo = (limb_t)t;
+ }
+ #elif (BN_BYTES == 8) && (defined _MSC_VER)
+-/* https://learn.microsoft.com/en-us/cpp/intrinsics/umul128?view=msvc-170 */
++# if defined(_M_X64)
++/*
++ * on x86_64 (x64) we can use the _umul128 intrinsic to get one `mul`
++ * instruction to get both high and low 64 bits of the multiplication.
++ * https://learn.microsoft.com/en-us/cpp/intrinsics/umul128?view=msvc-140
++ */
++#include <intrin.h>
+ #pragma intrinsic(_umul128)
+ static ossl_inline void _mul_limb(limb_t *hi, limb_t *lo, limb_t a, limb_t b)
+ {
+     *lo = _umul128(a, b, hi);
+ }
++# elif defined(_M_ARM64) || defined (_M_IA64)
++/*
++ * We can't use the __umulh() on x86_64 as then msvc generates two `mul`
++ * instructions; so use this more portable intrinsic on platforms that
++ * don't support _umul128 (like aarch64 (ARM64) or ia64)
++ * https://learn.microsoft.com/en-us/cpp/intrinsics/umulh?view=msvc-140
++ */
++#include <intrin.h>
++static ossl_inline void _mul_limb(limb_t *hi, limb_t *lo, limb_t a, limb_t b)
++{
++    *lo = a * b;
++    *hi = __umulh(a, b);
++}
++# else
++# error Only x64, ARM64 and IA64 supported.
++# endif /* defined(_M_X64) */
+ #else
+ /*
+  * if the compiler doesn't have either a 128bit data type nor a "return
diff --git a/external/openssl/openssl-no-multilib.patch.0 
b/external/openssl/openssl-no-multilib.patch.0
index 07c45318ac25..3d0083ed4793 100644
--- a/external/openssl/openssl-no-multilib.patch.0
+++ b/external/openssl/openssl-no-multilib.patch.0
@@ -17,7 +17,7 @@
  # [no-]zlib     [don't] compile support for zlib compression.
  # zlib-dynamic  Like "zlib", but the zlib library is expected to be a shared
  #               library and will be loaded in run-time by the OpenSSL library.
-@@ -383,6 +384,7 @@
+@@ -393,6 +394,7 @@
      "mdc2",
      "msan",
      "multiblock",
@@ -25,7 +25,7 @@
      "nextprotoneg",
      "pinshared",
      "ocb",
-@@ -1754,6 +1756,10 @@
+@@ -1770,6 +1772,10 @@
              if (-f catfile($srcdir, "test", $_, "build.info"));
      }
  
diff --git a/external/openssl/opensslios.patch 
b/external/openssl/opensslios.patch
deleted file mode 100644
index 28af92dd473b..000000000000
--- a/external/openssl/opensslios.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- misc/openssl-0.9.8v/Configure
-+++ build/openssl-0.9.8v/Configure
-@@ -530,6 +530,9 @@
- # iPhoneOS/iOS
- "iphoneos-cross","llvm-gcc:-O3 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) 
-fomit-frame-pointer 
-fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR 
RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC 
-fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
- 
-+##### iOS in the LibreOffice case
-+"ios-aarch64","clang:-O3 -fomit-frame-pointer 
-DL_ENDIAN:::IOS::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL 
BF_PTR:${aarch64_asm}:::::",
-+
- ##### A/UX
- "aux3-gcc","gcc:-O2 -DTERMIO::(unknown):AUX:-lbsd:RC4_CHAR RC4_CHUNK 
DES_UNROLL BF_PTR:::",
- 
diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx
index b615830e4e56..3ac21d2d10a4 100644
--- a/sc/source/core/tool/interpr7.cxx
+++ b/sc/source/core/tool/interpr7.cxx
@@ -222,6 +222,7 @@ void ScInterpreter::ScFilterXML()
         case XPATH_STRING:
             
PushString(OUString::createFromAscii(reinterpret_cast<char*>(pXPathObj->stringval)));
             break;
+#if LIBXML_VERSION < 21000 || defined(LIBXML_XPTR_LOCS_ENABLED)
         case XPATH_POINT:
             PushNoValue();
             break;
@@ -231,6 +232,7 @@ void ScInterpreter::ScFilterXML()
         case XPATH_LOCATIONSET:
             PushNoValue();
             break;
+#endif
         case XPATH_USERS:
             PushNoValue();
             break;
diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c
index 155328bf9360..102f7f5e4396 100644
--- a/solenv/bin/concat-deps.c
+++ b/solenv/bin/concat-deps.c
@@ -1076,6 +1076,11 @@ static int process(struct hash* dep_hash, char* fn)
                     created_line = generate_phony_line(src_relative, "o");
                     rc = generate_phony_file(fn, created_line);
                 }
+                else if(strncmp(src_relative, "GenNasmObject/", 14) == 0)
+                {
+                    created_line = generate_phony_line(src_relative, "o");
+                    rc = generate_phony_file(fn, created_line);
+                }
                 else if(strncmp(src_relative, "CxxClrObject/", 13) == 0)
                 {
                     created_line = generate_phony_line(src_relative, "o");
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 1585e59b4729..a18a355a8506 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -166,9 +166,9 @@ endef
 # Overview of dependencies and tasks of LinkTarget
 #
 # target                      task                         depends on
-# LinkTarget                  linking                      AsmObject CObject 
CxxObject GenCObject GenCxxObject ObjCObject ObjCxxObject CxxClrObject 
GenCxxClrObject
+# LinkTarget                  linking                      AsmObject CObject 
CxxObject GenCObject GenCxxObject ObjCObject ObjCxxObject CxxClrObject 
GenCxxClrObject GenNasmObject
 #                                                          LinkTarget/headers
-# LinkTarget/dep              joined dep file              AsmObject/dep 
CObject/dep CxxObject/dep GenCObject/dep GenCxxObject/dep ObjCObject/dep 
ObjCxxObject/dep CxxClrObject/dep GenCxxClrObject/dep
+# LinkTarget/dep              joined dep file              AsmObject/dep 
CObject/dep CxxObject/dep GenCObject/dep GenCxxObject/dep ObjCObject/dep 
ObjCxxObject/dep CxxClrObject/dep GenCxxClrObject/dep GenNasmObject/dep
 #                                                          | LinkTarget/headers
 # LinkTarget/headers          all headers available
 #                             including own generated
@@ -181,6 +181,8 @@ endef
 #                              generated source
 # ObjCObject                  objective c compile          | LinkTarget/headers
 # ObjCxxObject                objective c++ compile        | LinkTarget/headers
+# GenNasmObject               nasm compile from            | LinkTarget/headers
+#                              generated source
 # CxxClrObject                C++ CLR compile              | LinkTarget/headers
 # GenCxxClrObject             C++ CLR compile from         | LinkTarget/headers
 #                              generated source
@@ -193,6 +195,7 @@ endef
 # GenCxxObject/dep            dependencies
 # ObjCObject/dep            dependencies
 # ObjCxxObject/dep            dependencies
+# GenNasmObject/dep           dependencies
 # CxxClrObject/dep            dependencies
 # GenCxxClrObject/dep         dependencies
 # AsmObject/dep               dependencies
@@ -510,6 +513,32 @@ $(call gb_ObjCObject_get_dep_target,%) :
 endif
 
 
+# GenNasmObject class
+
+gb_GenNasmObject_get_source = $(WORKDIR)/$(1)
+
+$(call gb_GenNasmObject_get_target,%) :
+       $(call gb_Output_announce,$*,$(true),ASM,3)
+       $(call gb_Trace_StartRange,$*,ASM)
+       test -f $(call gb_GenNasmObject_get_source,$*) || (echo "Missing 
generated source file $(call gb_GenNasmObject_get_source,$*)" && false)
+       mkdir -p $(dir $@) $(dir $(call gb_GenNasmObject_get_dep_target,$*)) && 
cd $(SRCDIR) && \
+           $(NASM) $(T_NASMFLAGS) $(T_NASMFLAGS_APPEND) -I$(dir $(call 
gb_GenNasmObject_get_source,$*)) \
+           $(call gb_GenNasmObject_get_source,$*) -o $@ && \
+           echo "$@ : $(call gb_GenNasmObject_get_source,$*)" > $(call 
gb_GenNasmObject_get_dep_target,$*)
+       $(call gb_Trace_EndRange,$*,ASM)
+
+ifeq ($(gb_FULLDEPS),$(true))
+$(dir $(call gb_GenNasmObject_get_dep_target,%)).dir :
+       $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
+
+$(dir $(call gb_GenNasmObject_get_dep_target,%))%/.dir :
+       $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
+
+$(call gb_GenNasmObject_get_dep_target,%) :
+       $(if $(wildcard $@),touch $@)
+
+endif
+
 # CxxClrObject class
 #
 
@@ -592,6 +621,9 @@ $(WORKDIR)/Clean/LinkTarget/% :
                $(foreach object,$(GENCXXOBJECTS),$(call 
gb_GenCxxObject_get_target,$(object))) \
                $(foreach object,$(GENCXXOBJECTS),$(call 
gb_GenCxxObject_get_dep_target,$(object))) \
                $(foreach object,$(GENCXXOBJECTS),$(call 
gb_GenCxxObject_get_dwo_target,$(object))) \
+               $(foreach object,$(GENNASMOBJECTS),$(call 
gb_GenNasmObject_get_target,$(object))) \
+               $(foreach object,$(GENNASMOBJECTS),$(call 
gb_GenNasmObject_get_dep_target,$(object))) \
+               $(foreach object,$(GENNASMOBJECTS),$(call 
gb_GenNasmObject_get_dwo_target,$(object))) \
                $(foreach object,$(GENCXXCLROBJECTS),$(call 
gb_GenCxxClrObject_get_target,$(object))) \
                $(foreach object,$(GENCXXCLROBJECTS),$(call 
gb_GenCxxClrObject_get_dep_target,$(object))) \
                $(foreach object,$(GENCXXCLROBJECTS),$(call 
gb_GenCxxClrObject_get_dwo_target,$(object))) \

... etc. - the rest is truncated

Reply via email to