commit d1ed741bff7be58757d8135c4646b3875ab96183 Author: Nicolas Vigier boklm@torproject.org Date: Thu Aug 5 11:47:57 2021 +0200
Bug 40306: Update Windows toolchain to switch to mozilla91 --- projects/binutils/config | 5 - projects/clang/build | 2 +- projects/clang/config | 8 - projects/mingw-w64-clang/build | 28 +- projects/mingw-w64-clang/config | 7 +- projects/mingw-w64-clang/mingw-unknown.patch | 46 ++ projects/mingw-w64-clang/mingw-winrt.patch | 1028 +------------------------- projects/mingw-w64/config | 6 +- projects/ninja/build | 5 + projects/node/config | 4 + projects/rust/config | 2 +- projects/tor-browser/build | 10 +- projects/tor-browser/config | 6 +- projects/tor-browser/pe_checksum_fix.py | 6 +- rbm.conf | 7 +- 15 files changed, 120 insertions(+), 1050 deletions(-)
diff --git a/projects/binutils/config b/projects/binutils/config index 86aaf29..7eb4ac6 100644 --- a/projects/binutils/config +++ b/projects/binutils/config @@ -7,11 +7,6 @@ var: use_container: 1
targets: - # We use the windows-clang target for the binutils we use for building - # clang during windows builds. See projects/clang/config. - windows-clang: - var: - configure_opt: '--disable-multilib --enable-gold --enable-deterministic-archives --enable-plugins' windows: var: configure_opt: '--target=[% c("arch") %]-w64-mingw32 --disable-multilib --enable-deterministic-archives' diff --git a/projects/clang/build b/projects/clang/build index 41669b9..2f31dbf 100644 --- a/projects/clang/build +++ b/projects/clang/build @@ -12,7 +12,7 @@ export PATH="/var/tmp/dist/cmake/bin:$PATH" ln -s gcc /var/tmp/dist/gcc/bin/cc [% pc('python', 'var/setup', { python_tarfile => c('input_files_by_name/python') }) %] [% END -%] -[% IF c("var/linux") || c("var/android") || c("var/windows") -%] +[% IF c("var/linux") || c("var/android") -%] tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %] export PATH="/var/tmp/dist/binutils/bin:$PATH" [% END -%] diff --git a/projects/clang/config b/projects/clang/config index 038a44b..855c200 100644 --- a/projects/clang/config +++ b/projects/clang/config @@ -20,14 +20,6 @@ input_files: - name: binutils project: binutils enable: '[% c("var/linux") %] || [% c("var/android") %]' - # We build our own binutils as the one from buster has a regression: - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=953423 - # https://sourceware.org/bugzilla/show_bug.cgi?id=24458 - - name: binutils - project: binutils - enable: '[% c("var/windows") %]' - target_prepend: - - windows-clang - project: cmake name: cmake - project: clang-source diff --git a/projects/mingw-w64-clang/build b/projects/mingw-w64-clang/build index 974d2a9..00b1171 100644 --- a/projects/mingw-w64-clang/build +++ b/projects/mingw-w64-clang/build @@ -11,7 +11,7 @@ mkdir -p $builddir cd $builddir tar -xf $rootdir/mingw-w64-clang-[% c('version') %].tar.gz mv mingw-w64-clang-[% c('version') %] mingw-w64-clang -tar -xf $rootdir/[% c('input_files_by_name/clang-source') %] +tar -xf $rootdir/[% c('input_files_by_name/llvm-project') %] tar -xf $rootdir/[% c('input_files_by_name/llvm-mingw') %]
# Adding the wrappers and symlinks we need @@ -61,6 +61,7 @@ default_win32_winnt=0x601 cd $builddir/mingw-w64-clang patch -p1 < $rootdir/mingw-winrt.patch patch -p1 < $rootdir/mingw-dwrite_3.patch +patch -p1 < $rootdir/mingw-unknown.patch
cd mingw-w64-headers mkdir build && cd build @@ -92,7 +93,7 @@ make -j[% c("buildconf/num_procs") %] make -j[% c("buildconf/num_procs") %] install
# compiler-rt -cd $builddir/clang-source/projects/compiler-rt +cd $builddir/clang-source/compiler-rt mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER=$CC \ @@ -102,9 +103,9 @@ cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER_WORKS=1 \ -DCMAKE_C_COMPILER_TARGET=$compiler_rt_machine-windows-gnu \ -DCOMPILER_RT_DEFAULT_TARGET_ONLY=TRUE \ - $builddir/clang-source/projects/compiler-rt/lib/builtins + $builddir/clang-source/compiler-rt/lib/builtins make -j[% c("buildconf/num_procs") %] - rtdir=$distdir/lib/clang/[% pc("clang-source", "version") %]/lib/windows + rtdir=$distdir/lib/clang/[% pc("llvm-project", "version") %]/lib/windows mkdir -p $rtdir cp lib/windows/libclang_rt.builtins-$compiler_rt_machine.a $rtdir/
@@ -130,14 +131,14 @@ cmake -DCMAKE_BUILD_TYPE=Release \ -DLIBUNWIND_ENABLE_THREADS=TRUE \ -DLIBUNWIND_ENABLE_SHARED=FALSE \ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=FALSE \ - -DCMAKE_CXX_FLAGS="-Wno-dll-attribute-on-redeclaration -nostdinc++ -I$builddir/clang-source/projects/libcxx/include -DPSAPI_VERSION=2" \ + -DCMAKE_CXX_FLAGS="-Wno-dll-attribute-on-redeclaration -nostdinc++ -I$builddir/clang-source/libcxx/include -DPSAPI_VERSION=2" \ -DCMAKE_C_FLAGS="-Wno-dll-attribute-on-redeclaration" \ $builddir/clang-source/libunwind make -j[% c("buildconf/num_procs") %] make -j[% c("buildconf/num_procs") %] install
# libcxxabi -cd $builddir/clang-source/projects/libcxxabi +cd $builddir/clang-source/libcxxabi mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \ @@ -156,19 +157,16 @@ cmake -DCMAKE_BUILD_TYPE=Release \ -DLIBCXXABI_ENABLE_THREADS=ON \ -DLIBCXXABI_TARGET_TRIPLE=[% c("arch") %]-w64-mingw32 \ -DLIBCXXABI_ENABLE_SHARED=OFF \ - -DLIBCXXABI_LIBCXX_INCLUDES=$builddir/clang-source/projects/libcxx/include \ + -DLIBCXXABI_LIBCXX_INCLUDES=$builddir/clang-source/libcxx/include \ -DLLVM_NO_OLD_LIBSTDCXX=TRUE \ -DCXX_SUPPORTS_CXX11=TRUE \ -DCXX_SUPPORTS_CXX_STD=True \ -DCMAKE_CXX_FLAGS="-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_HAS_THREAD_API_WIN32" \ - $builddir/clang-source/projects/libcxxabi + $builddir/clang-source/libcxxabi make -j[% c("buildconf/num_procs") %] VERBOSE=1
# libcxx -# the build expects ../llvm to exist so we add a symlink -# See https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_req... -ln -s /var/tmp/build/clang-source /var/tmp/build/clang-source/projects/llvm -cd $builddir/clang-source/projects/libcxx +cd $builddir/clang-source/libcxx mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$distdir/[% c("arch") %]-w64-mingw32 \ @@ -194,10 +192,10 @@ cmake -DCMAKE_BUILD_TYPE=Release \ -DLIBCXX_ENABLE_FILESYSTEM=OFF \ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=TRUE \ -DLIBCXX_CXX_ABI=libcxxabi \ - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$builddir/clang-source/projects/libcxxabi/include \ - -DLIBCXX_CXX_ABI_LIBRARY_PATH=$builddir/clang-source/projects/libcxxabi/build/lib \ + -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$builddir/clang-source/libcxxabi/include \ + -DLIBCXX_CXX_ABI_LIBRARY_PATH=$builddir/clang-source/libcxxabi/build/lib \ -DCMAKE_CXX_FLAGS="-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS" \ - $builddir/clang-source/projects/libcxx + $builddir/clang-source/libcxx make -j[% c("buildconf/num_procs") %] VERBOSE=1 make -j[% c("buildconf/num_procs") %] install
diff --git a/projects/mingw-w64-clang/config b/projects/mingw-w64-clang/config index 080c75b..b589b53 100644 --- a/projects/mingw-w64-clang/config +++ b/projects/mingw-w64-clang/config @@ -1,7 +1,7 @@ # vim: filetype=yaml sw=2 filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' git_url: https://git.code.sf.net/p/mingw-w64/mingw-w64 -git_hash: 660e09f3cb20f181b6d6435cb623d65a3922a063 +git_hash: cdb052f1d4056cd510cb83197b55868427b87476 version: '[% c("abbrev") %]'
var: @@ -18,9 +18,10 @@ input_files: name: clang - project: cmake name: cmake - - project: clang-source - name: clang-source + - project: llvm-project + name: llvm-project - project: llvm-mingw name: llvm-mingw - filename: mingw-winrt.patch - filename: mingw-dwrite_3.patch + - filename: mingw-unknown.patch diff --git a/projects/mingw-w64-clang/mingw-unknown.patch b/projects/mingw-w64-clang/mingw-unknown.patch new file mode 100644 index 0000000..cca10e9 --- /dev/null +++ b/projects/mingw-w64-clang/mingw-unknown.patch @@ -0,0 +1,46 @@ +From ae5fe7a557873f05a4954f4b3a47e4b41053a406 Mon Sep 17 00:00:00 2001 +From: Tom Ritter tom@ritter.vg +Date: Tue, 29 Jun 2021 23:10:24 -0400 +Subject: [PATCH] Add back the IUnknown_QI functions + +--- + mingw-w64-headers/include/unknwn.h | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +diff --git a/mingw-w64-headers/include/unknwn.h b/mingw-w64-headers/include/unknwn.h +index d8c309071..968c41d61 100644 +--- a/mingw-w64-headers/include/unknwn.h ++++ b/mingw-w64-headers/include/unknwn.h +@@ -167,6 +167,29 @@ static FORCEINLINE ULONG IUnknown_Release(IUnknown* This) { + + #endif + ++HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy( ++ IUnknown* This, ++ REFIID riid, ++ void **ppvObject); ++void __RPC_STUB IUnknown_QueryInterface_Stub( ++ IRpcStubBuffer* This, ++ IRpcChannelBuffer* pRpcChannelBuffer, ++ PRPC_MESSAGE pRpcMessage, ++ DWORD* pdwStubPhase); ++ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy( ++ IUnknown* This); ++void __RPC_STUB IUnknown_AddRef_Stub( ++ IRpcStubBuffer* This, ++ IRpcChannelBuffer* pRpcChannelBuffer, ++ PRPC_MESSAGE pRpcMessage, ++ DWORD* pdwStubPhase); ++ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy( ++ IUnknown* This); ++void __RPC_STUB IUnknown_Release_Stub( ++ IRpcStubBuffer* This, ++ IRpcChannelBuffer* pRpcChannelBuffer, ++ PRPC_MESSAGE pRpcMessage, ++ DWORD* pdwStubPhase); + + #endif /* __IUnknown_INTERFACE_DEFINED__ */ + +-- +2.25.1 + diff --git a/projects/mingw-w64-clang/mingw-winrt.patch b/projects/mingw-w64-clang/mingw-winrt.patch index e7124e1..526844c 100644 --- a/projects/mingw-w64-clang/mingw-winrt.patch +++ b/projects/mingw-w64-clang/mingw-winrt.patch @@ -1,995 +1,30 @@ -commit 07fff0900d668fbd75e0ac0a6382a86d486cee88 -Author: Jacek Caban jacek@codeweavers.com -Date: Sun Mar 24 21:20:55 2019 +0100 +From 105a640ff423978987112d8f37edfbfc29c014f9 Mon Sep 17 00:00:00 2001 +From: Tom Ritter tom@ritter.vg +Date: Wed, 30 Jun 2021 09:25:45 -0400 +Subject: [PATCH] winrt headers
- winrt headers +--- + .../include/windows.foundation.metadata.h | 315 ++ + .../include/windows.foundation.numerics.h | 204 ++ + .../include/windows.graphics.directx.h | 343 ++ + .../include/windows.graphics.effects.h | 184 + + .../include/windows.ui.composition.h | 3212 +++++++++++++++++ + .../include/windows.ui.composition.interop.h | 31 + + mingw-w64-headers/include/windows.ui.core.h | 127 + + mingw-w64-headers/include/windows.ui.h | 72 + + 8 files changed, 4488 insertions(+) + create mode 100644 mingw-w64-headers/include/windows.foundation.metadata.h + create mode 100644 mingw-w64-headers/include/windows.foundation.numerics.h + create mode 100644 mingw-w64-headers/include/windows.graphics.directx.h + create mode 100644 mingw-w64-headers/include/windows.graphics.effects.h + create mode 100644 mingw-w64-headers/include/windows.ui.composition.h + create mode 100644 mingw-w64-headers/include/windows.ui.composition.interop.h + create mode 100644 mingw-w64-headers/include/windows.ui.core.h + create mode 100644 mingw-w64-headers/include/windows.ui.h
-diff --git a/mingw-w64-headers/include/intsafe.h b/mingw-w64-headers/include/intsafe.h -index 701d4cef..daaedb83 100644 ---- a/mingw-w64-headers/include/intsafe.h -+++ b/mingw-w64-headers/include/intsafe.h -@@ -411,5 +411,8 @@ __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongLongMult, ULONGLONG, mul) - __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongLongMult, LONGLONG, mul) - - #endif /* __GNUC__ >= 5 */ -+ -+#define SizeTToUInt32 UIntPtrToUInt -+ - #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ - #endif /* _INTSAFE_H_INCLUDED_ */ -diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h -index 6c4d3ec8..59797984 100644 ---- a/mingw-w64-headers/include/windows.foundation.h -+++ b/mingw-w64-headers/include/windows.foundation.h -@@ -1,11 +1,12 @@ --/*** Autogenerated by WIDL 1.5.31 from include/windows.foundation.idl - Do not edit ***/ -+/*** Autogenerated by WIDL 4.4 from windows.foundation.idl - Do not edit ***/ - -+#ifdef _WIN32 - #ifndef __REQUIRED_RPCNDR_H_VERSION__ - #define __REQUIRED_RPCNDR_H_VERSION__ 475 - #endif -- - #include <rpc.h> - #include <rpcndr.h> -+#endif - - #ifndef COM_NO_WINDOWS_H - #include <windows.h> -@@ -17,24 +18,18 @@ - - /* Forward declarations */ - --#ifndef __IAsyncInfo_FWD_DEFINED__ --#define __IAsyncInfo_FWD_DEFINED__ --typedef interface IAsyncInfo IAsyncInfo; --#endif -- --#ifndef __IASyncAction_FWD_DEFINED__ --#define __IASyncAction_FWD_DEFINED__ --typedef interface IASyncAction IASyncAction; --#endif -- --#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__ --#define __AsyncActionCompletedHandler_FWD_DEFINED__ --typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler; --#endif -- --#ifndef __IAsyncOperation_FWD_DEFINED__ --#define __IAsyncOperation_FWD_DEFINED__ --typedef interface IAsyncOperation IAsyncOperation; -+#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__ -+#define ____x_ABI_CWindows_CFoundation_CIStringable_FWD_DEFINED__ -+typedef interface __x_ABI_CWindows_CFoundation_CIStringable __x_ABI_CWindows_CFoundation_CIStringable; -+#ifdef __cplusplus -+namespace ABI { -+ namespace Windows { -+ namespace Foundation { -+ interface IStringable; -+ } -+ } -+} -+#endif /* __cplusplus */ - #endif - - /* Headers for imported files */ -@@ -45,667 +40,331 @@ typedef interface IAsyncOperation IAsyncOperation; - extern "C" { - #endif - --#ifndef __IAsyncInfo_FWD_DEFINED__ --#define __IAsyncInfo_FWD_DEFINED__ --typedef interface IAsyncInfo IAsyncInfo; --#endif -- --#ifndef __IAsyncAction_FWD_DEFINED__ --#define __IAsyncAction_FWD_DEFINED__ --typedef interface IAsyncAction IAsyncAction; --#endif -- --#ifndef __IAsyncOperation_FWD_DEFINED__ --#define __IAsyncOperation_FWD_DEFINED__ --typedef interface IAsyncOperation IAsyncOperation; --#endif -- --#ifndef __AsyncActionCompletedHandler_FWD_DEFINED__ --#define __AsyncActionCompletedHandler_FWD_DEFINED__ --typedef interface AsyncActionCompletedHandler AsyncActionCompletedHandler; --#endif -- --#ifndef __TypedEventHandler_FWD_DEFINED__ --#define __TypedEventHandler_FWD_DEFINED__ --typedef interface TypedEventHandler TypedEventHandler; --#endif -- --struct DateTime; -- --struct EventRegistrationToken; -- --#ifndef __IVectorView_FWD_DEFINED__ --#define __IVectorView_FWD_DEFINED__ --typedef interface IVectorView IVectorView; --#endif -- --#ifndef __IPropertySet_FWD_DEFINED__ --#define __IPropertySet_FWD_DEFINED__ --typedef interface IPropertySet IPropertySet; --#endif -- --typedef enum AsyncStatus { -- Started = 0, -- Completed = 1, -- Canceled = 2, -- Error = 3 --} AsyncStatus; --typedef struct DateTime { -- UINT64 UniversalTime; --} DateTime; --typedef struct EventRegistrationToken { -- UINT64 Value; --} EventRegistrationToken; --/***************************************************************************** -- * IAsyncInfo interface -- */ --#ifndef __IAsyncInfo_INTERFACE_DEFINED__ --#define __IAsyncInfo_INTERFACE_DEFINED__ -- --DEFINE_GUID(IID_IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); --#if defined(__cplusplus) && !defined(CINTERFACE) --MIDL_INTERFACE("00000036-0000-0000-c000-000000000046") --IAsyncInfo : public IInspectable --{ -- virtual HRESULT STDMETHODCALLTYPE get_Id( -- unsigned int *id) = 0; -- -- virtual HRESULT STDMETHODCALLTYPE get_Status( -- AsyncStatus *status) = 0; -- -- virtual HRESULT STDMETHODCALLTYPE get_ErrorCode( -- HRESULT *errorCode) = 0; -- -- virtual HRESULT STDMETHODCALLTYPE Cancel( -- ) = 0; -- -- virtual HRESULT STDMETHODCALLTYPE Close( -- ) = 0; -- --}; --#ifdef __CRT_UUID_DECL --__CRT_UUID_DECL(IAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) --#endif -+#ifdef __cplusplus -+} /* extern "C" */ -+namespace ABI { -+ namespace Windows { -+ namespace Foundation { -+ enum PropertyType { -+ PropertyType_Empty = 0, -+ PropertyType_UInt8 = 1, -+ PropertyType_Int16 = 2, -+ PropertyType_UInt16 = 3, -+ PropertyType_Int32 = 4, -+ PropertyType_UInt32 = 5, -+ PropertyType_Int64 = 6, -+ PropertyType_UInt64 = 7, -+ PropertyType_Single = 8, -+ PropertyType_Double = 9, -+ PropertyType_Char16 = 10, -+ PropertyType_Boolean = 11, -+ PropertyType_String = 12, -+ PropertyType_Inspectable = 13, -+ PropertyType_DateTime = 14, -+ PropertyType_TimeSpan = 15, -+ PropertyType_Guid = 16, -+ PropertyType_Point = 17, -+ PropertyType_Size = 18, -+ PropertyType_Rect = 19, -+ PropertyType_OtherType = 20, -+ PropertyType_UInt8Array = 1025, -+ PropertyType_Int16Array = 1026, -+ PropertyType_UInt16Array = 1027, -+ PropertyType_Int32Array = 1028, -+ PropertyType_UInt32Array = 1029, -+ PropertyType_Int64Array = 1030, -+ PropertyType_UInt64Array = 1031, -+ PropertyType_SingleArray = 1032, -+ PropertyType_DoubleArray = 1033, -+ PropertyType_Char16Array = 1034, -+ PropertyType_BooleanArray = 1035, -+ PropertyType_StringArray = 1036, -+ PropertyType_InspectableArray = 1037, -+ PropertyType_DateTimeArray = 1038, -+ PropertyType_TimeSpanArray = 1039, -+ PropertyType_GuidArray = 1040, -+ PropertyType_PointArray = 1041, -+ PropertyType_SizeArray = 1042, -+ PropertyType_RectArray = 1043, -+ PropertyType_OtherTypeArray = 1044 -+ }; -+ } -+ } -+} -+extern "C" { - #else --typedef struct IAsyncInfoVtbl { -- BEGIN_INTERFACE -- -- /*** IUnknown methods ***/ -- HRESULT (STDMETHODCALLTYPE *QueryInterface)( -- IAsyncInfo* This, -- REFIID riid, -- void **ppvObject); -- -- ULONG (STDMETHODCALLTYPE *AddRef)( -- IAsyncInfo* This); -- -- ULONG (STDMETHODCALLTYPE *Release)( -- IAsyncInfo* This); -- -- /*** IInspectable methods ***/ -- HRESULT (STDMETHODCALLTYPE *GetIids)( -- IAsyncInfo* This, -- ULONG *iidCount, -- IID **iids); -- -- HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( -- IAsyncInfo* This, -- HSTRING *className); -- -- HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( -- IAsyncInfo* This, -- TrustLevel *trustLevel); -- -- /*** IAsyncInfo methods ***/ -- HRESULT (STDMETHODCALLTYPE *get_Id)( -- IAsyncInfo* This, -- unsigned int *id); -- -- HRESULT (STDMETHODCALLTYPE *get_Status)( -- IAsyncInfo* This, -- AsyncStatus *status); -- -- HRESULT (STDMETHODCALLTYPE *get_ErrorCode)( -- IAsyncInfo* This, -- HRESULT *errorCode); -- -- HRESULT (STDMETHODCALLTYPE *Cancel)( -- IAsyncInfo* This); -- -- HRESULT (STDMETHODCALLTYPE *Close)( -- IAsyncInfo* This); -- -- END_INTERFACE --} IAsyncInfoVtbl; --interface IAsyncInfo { -- CONST_VTBL IAsyncInfoVtbl* lpVtbl; -+enum __x_ABI_CWindows_CFoundation_CPropertyType { -+ PropertyType_Empty = 0, -+ PropertyType_UInt8 = 1, -+ PropertyType_Int16 = 2, -+ PropertyType_UInt16 = 3, -+ PropertyType_Int32 = 4, -+ PropertyType_UInt32 = 5, -+ PropertyType_Int64 = 6, -+ PropertyType_UInt64 = 7, -+ PropertyType_Single = 8, -+ PropertyType_Double = 9, -+ PropertyType_Char16 = 10, -+ PropertyType_Boolean = 11, -+ PropertyType_String = 12, -+ PropertyType_Inspectable = 13, -+ PropertyType_DateTime = 14, -+ PropertyType_TimeSpan = 15, -+ PropertyType_Guid = 16, -+ PropertyType_Point = 17, -+ PropertyType_Size = 18, -+ PropertyType_Rect = 19, -+ PropertyType_OtherType = 20, -+ PropertyType_UInt8Array = 1025, -+ PropertyType_Int16Array = 1026, -+ PropertyType_UInt16Array = 1027, -+ PropertyType_Int32Array = 1028, -+ PropertyType_UInt32Array = 1029, -+ PropertyType_Int64Array = 1030, -+ PropertyType_UInt64Array = 1031, -+ PropertyType_SingleArray = 1032, -+ PropertyType_DoubleArray = 1033, -+ PropertyType_Char16Array = 1034, -+ PropertyType_BooleanArray = 1035, -+ PropertyType_StringArray = 1036, -+ PropertyType_InspectableArray = 1037, -+ PropertyType_DateTimeArray = 1038, -+ PropertyType_TimeSpanArray = 1039, -+ PropertyType_GuidArray = 1040, -+ PropertyType_PointArray = 1041, -+ PropertyType_SizeArray = 1042, -+ PropertyType_RectArray = 1043, -+ PropertyType_OtherTypeArray = 1044 - }; -- --#ifdef COBJMACROS --#ifndef WIDL_C_INLINE_WRAPPERS --/*** IUnknown methods ***/ --#define IAsyncInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) --#define IAsyncInfo_AddRef(This) (This)->lpVtbl->AddRef(This) --#define IAsyncInfo_Release(This) (This)->lpVtbl->Release(This) --/*** IInspectable methods ***/ --#define IAsyncInfo_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) --#define IAsyncInfo_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) --#define IAsyncInfo_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) --/*** IAsyncInfo methods ***/ --#define IAsyncInfo_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) --#define IAsyncInfo_get_Status(This,status) (This)->lpVtbl->get_Status(This,status) --#define IAsyncInfo_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode) --#define IAsyncInfo_Cancel(This) (This)->lpVtbl->Cancel(This) --#define IAsyncInfo_Close(This) (This)->lpVtbl->Close(This) --#else --/*** IUnknown methods ***/ --static FORCEINLINE HRESULT IAsyncInfo_QueryInterface(IAsyncInfo* This,REFIID riid,void **ppvObject) { -- return This->lpVtbl->QueryInterface(This,riid,ppvObject); --} --static FORCEINLINE ULONG IAsyncInfo_AddRef(IAsyncInfo* This) { -- return This->lpVtbl->AddRef(This); --} --static FORCEINLINE ULONG IAsyncInfo_Release(IAsyncInfo* This) { -- return This->lpVtbl->Release(This); --} --/*** IInspectable methods ***/ --static FORCEINLINE HRESULT IAsyncInfo_GetIids(IAsyncInfo* This,ULONG *iidCount,IID **iids) { -- return This->lpVtbl->GetIids(This,iidCount,iids); --} --static FORCEINLINE HRESULT IAsyncInfo_GetRuntimeClassName(IAsyncInfo* This,HSTRING *className) { -- return This->lpVtbl->GetRuntimeClassName(This,className); --} --static FORCEINLINE HRESULT IAsyncInfo_GetTrustLevel(IAsyncInfo* This,TrustLevel *trustLevel) { -- return This->lpVtbl->GetTrustLevel(This,trustLevel); --} --/*** IAsyncInfo methods ***/ --static FORCEINLINE HRESULT IAsyncInfo_get_Id(IAsyncInfo* This,unsigned int *id) { -- return This->lpVtbl->get_Id(This,id); --} --static FORCEINLINE HRESULT IAsyncInfo_get_Status(IAsyncInfo* This,AsyncStatus *status) { -- return This->lpVtbl->get_Status(This,status); --} --static FORCEINLINE HRESULT IAsyncInfo_get_ErrorCode(IAsyncInfo* This,HRESULT *errorCode) { -- return This->lpVtbl->get_ErrorCode(This,errorCode); --} --static FORCEINLINE HRESULT IAsyncInfo_Cancel(IAsyncInfo* This) { -- return This->lpVtbl->Cancel(This); --} --static FORCEINLINE HRESULT IAsyncInfo_Close(IAsyncInfo* This) { -- return This->lpVtbl->Close(This); --} - #endif --#endif -- --#endif -- --HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Id_Proxy( -- IAsyncInfo* This, -- unsigned int *id); --void __RPC_STUB IAsyncInfo_get_Id_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); --HRESULT STDMETHODCALLTYPE IAsyncInfo_get_Status_Proxy( -- IAsyncInfo* This, -- AsyncStatus *status); --void __RPC_STUB IAsyncInfo_get_Status_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); --HRESULT STDMETHODCALLTYPE IAsyncInfo_get_ErrorCode_Proxy( -- IAsyncInfo* This, -- HRESULT *errorCode); --void __RPC_STUB IAsyncInfo_get_ErrorCode_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); --HRESULT STDMETHODCALLTYPE IAsyncInfo_Cancel_Proxy( -- IAsyncInfo* This); --void __RPC_STUB IAsyncInfo_Cancel_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); --HRESULT STDMETHODCALLTYPE IAsyncInfo_Close_Proxy( -- IAsyncInfo* This); --void __RPC_STUB IAsyncInfo_Close_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); -- --#endif /* __IAsyncInfo_INTERFACE_DEFINED__ */ -- --/***************************************************************************** -- * IASyncAction interface -- */ --#ifndef __IASyncAction_INTERFACE_DEFINED__ --#define __IASyncAction_INTERFACE_DEFINED__ -- --DEFINE_GUID(IID_IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b); --#if defined(__cplusplus) && !defined(CINTERFACE) --MIDL_INTERFACE("5a648006-843a-4da9-865b-9d26e5dfad7b") --IASyncAction : public IInspectable --{ -- virtual HRESULT STDMETHODCALLTYPE put_Completed( -- AsyncActionCompletedHandler *handler) = 0; -- -- virtual HRESULT STDMETHODCALLTYPE get_Completed( -- AsyncActionCompletedHandler **handler) = 0; -- -- virtual HRESULT STDMETHODCALLTYPE GetResults( -- ) = 0; - --}; --#ifdef __CRT_UUID_DECL --__CRT_UUID_DECL(IASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b) --#endif -+#ifdef __cplusplus -+} /* extern "C" */ -+namespace ABI { -+ namespace Windows { -+ namespace Foundation { -+ struct Point { -+ FLOAT X; -+ FLOAT Y; -+ }; -+ } -+ } -+} -+extern "C" { - #else --typedef struct IASyncActionVtbl { -- BEGIN_INTERFACE -- -- /*** IUnknown methods ***/ -- HRESULT (STDMETHODCALLTYPE *QueryInterface)( -- IASyncAction* This, -- REFIID riid, -- void **ppvObject); -- -- ULONG (STDMETHODCALLTYPE *AddRef)( -- IASyncAction* This); -- -- ULONG (STDMETHODCALLTYPE *Release)( -- IASyncAction* This); -- -- /*** IInspectable methods ***/ -- HRESULT (STDMETHODCALLTYPE *GetIids)( -- IASyncAction* This, -- ULONG *iidCount, -- IID **iids); -- -- HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( -- IASyncAction* This, -- HSTRING *className); -- -- HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( -- IASyncAction* This, -- TrustLevel *trustLevel); -- -- /*** IASyncAction methods ***/ -- HRESULT (STDMETHODCALLTYPE *put_Completed)( -- IASyncAction* This, -- AsyncActionCompletedHandler *handler); -- -- HRESULT (STDMETHODCALLTYPE *get_Completed)( -- IASyncAction* This, -- AsyncActionCompletedHandler **handler); -- -- HRESULT (STDMETHODCALLTYPE *GetResults)( -- IASyncAction* This); -- -- END_INTERFACE --} IASyncActionVtbl; --interface IASyncAction { -- CONST_VTBL IASyncActionVtbl* lpVtbl; -+struct __x_ABI_CWindows_CFoundation_CPoint { -+ FLOAT X; -+ FLOAT Y; - }; -- --#ifdef COBJMACROS --#ifndef WIDL_C_INLINE_WRAPPERS --/*** IUnknown methods ***/ --#define IASyncAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) --#define IASyncAction_AddRef(This) (This)->lpVtbl->AddRef(This) --#define IASyncAction_Release(This) (This)->lpVtbl->Release(This) --/*** IInspectable methods ***/ --#define IASyncAction_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) --#define IASyncAction_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) --#define IASyncAction_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) --/*** IASyncAction methods ***/ --#define IASyncAction_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler) --#define IASyncAction_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler) --#define IASyncAction_GetResults(This) (This)->lpVtbl->GetResults(This) --#else --/*** IUnknown methods ***/ --static FORCEINLINE HRESULT IASyncAction_QueryInterface(IASyncAction* This,REFIID riid,void **ppvObject) { -- return This->lpVtbl->QueryInterface(This,riid,ppvObject); --} --static FORCEINLINE ULONG IASyncAction_AddRef(IASyncAction* This) { -- return This->lpVtbl->AddRef(This); --} --static FORCEINLINE ULONG IASyncAction_Release(IASyncAction* This) { -- return This->lpVtbl->Release(This); --} --/*** IInspectable methods ***/ --static FORCEINLINE HRESULT IASyncAction_GetIids(IASyncAction* This,ULONG *iidCount,IID **iids) { -- return This->lpVtbl->GetIids(This,iidCount,iids); --} --static FORCEINLINE HRESULT IASyncAction_GetRuntimeClassName(IASyncAction* This,HSTRING *className) { -- return This->lpVtbl->GetRuntimeClassName(This,className); --} --static FORCEINLINE HRESULT IASyncAction_GetTrustLevel(IASyncAction* This,TrustLevel *trustLevel) { -- return This->lpVtbl->GetTrustLevel(This,trustLevel); --} --/*** IASyncAction methods ***/ --static FORCEINLINE HRESULT IASyncAction_put_Completed(IASyncAction* This,AsyncActionCompletedHandler *handler) { -- return This->lpVtbl->put_Completed(This,handler); --} --static FORCEINLINE HRESULT IASyncAction_get_Completed(IASyncAction* This,AsyncActionCompletedHandler **handler) { -- return This->lpVtbl->get_Completed(This,handler); --} --static FORCEINLINE HRESULT IASyncAction_GetResults(IASyncAction* This) { -- return This->lpVtbl->GetResults(This); --} --#endif - #endif - --#endif -- --HRESULT STDMETHODCALLTYPE IASyncAction_put_Completed_Proxy( -- IASyncAction* This, -- AsyncActionCompletedHandler *handler); --void __RPC_STUB IASyncAction_put_Completed_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); --HRESULT STDMETHODCALLTYPE IASyncAction_get_Completed_Proxy( -- IASyncAction* This, -- AsyncActionCompletedHandler **handler); --void __RPC_STUB IASyncAction_get_Completed_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); --HRESULT STDMETHODCALLTYPE IASyncAction_GetResults_Proxy( -- IASyncAction* This); --void __RPC_STUB IASyncAction_GetResults_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); -- --#endif /* __IASyncAction_INTERFACE_DEFINED__ */ -- --/***************************************************************************** -- * AsyncActionCompletedHandler interface -- */ --#ifndef __AsyncActionCompletedHandler_INTERFACE_DEFINED__ --#define __AsyncActionCompletedHandler_INTERFACE_DEFINED__ -- --DEFINE_GUID(IID_AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7); --#if defined(__cplusplus) && !defined(CINTERFACE) --MIDL_INTERFACE("a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7") --AsyncActionCompletedHandler : public IUnknown --{ -- virtual HRESULT STDMETHODCALLTYPE Invoke( -- IInspectable *asyncAction, -- AsyncStatus status) = 0; -- -+#ifdef __cplusplus -+} /* extern "C" */ -+namespace ABI { -+ namespace Windows { -+ namespace Foundation { -+ struct Size { -+ FLOAT Width; -+ FLOAT Height; -+ }; -+ } -+ } -+} -+extern "C" { -+#else -+struct __x_ABI_CWindows_CFoundation_CSize { -+ FLOAT Width; -+ FLOAT Height; - }; --#ifdef __CRT_UUID_DECL --__CRT_UUID_DECL(AsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7) - #endif --#else --typedef struct AsyncActionCompletedHandlerVtbl { -- BEGIN_INTERFACE -- -- /*** IUnknown methods ***/ -- HRESULT (STDMETHODCALLTYPE *QueryInterface)( -- AsyncActionCompletedHandler* This, -- REFIID riid, -- void **ppvObject); -- -- ULONG (STDMETHODCALLTYPE *AddRef)( -- AsyncActionCompletedHandler* This); -- -- ULONG (STDMETHODCALLTYPE *Release)( -- AsyncActionCompletedHandler* This); -- -- /*** AsyncActionCompletedHandler methods ***/ -- HRESULT (STDMETHODCALLTYPE *Invoke)( -- AsyncActionCompletedHandler* This, -- IInspectable *asyncAction, -- AsyncStatus status); - -- END_INTERFACE --} AsyncActionCompletedHandlerVtbl; --interface AsyncActionCompletedHandler { -- CONST_VTBL AsyncActionCompletedHandlerVtbl* lpVtbl; -+#ifdef __cplusplus -+namespace ABI { -+ namespace Windows { -+ namespace Foundation { -+typedef struct Size Size; -+ } -+ } -+} -+#endif /* __cplusplus */ -+#ifdef __cplusplus -+} /* extern "C" */ -+namespace ABI { -+ namespace Windows { -+ namespace Foundation { -+ struct Rect { -+ FLOAT X; -+ FLOAT Y; -+ FLOAT Width; -+ FLOAT Height; -+ }; -+ } -+ } -+} -+extern "C" { -+#else -+struct __x_ABI_CWindows_CFoundation_CRect { -+ FLOAT X; -+ FLOAT Y; -+ FLOAT Width; -+ FLOAT Height; - }; -+#endif - --#ifdef COBJMACROS --#ifndef WIDL_C_INLINE_WRAPPERS --/*** IUnknown methods ***/ --#define AsyncActionCompletedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) --#define AsyncActionCompletedHandler_AddRef(This) (This)->lpVtbl->AddRef(This) --#define AsyncActionCompletedHandler_Release(This) (This)->lpVtbl->Release(This) --/*** AsyncActionCompletedHandler methods ***/ --#define AsyncActionCompletedHandler_Invoke(This,asyncAction,status) (This)->lpVtbl->Invoke(This,asyncAction,status) --#else --/*** IUnknown methods ***/ --static FORCEINLINE HRESULT AsyncActionCompletedHandler_QueryInterface(AsyncActionCompletedHandler* This,REFIID riid,void **ppvObject) { -- return This->lpVtbl->QueryInterface(This,riid,ppvObject); --} --static FORCEINLINE ULONG AsyncActionCompletedHandler_AddRef(AsyncActionCompletedHandler* This) { -- return This->lpVtbl->AddRef(This); --} --static FORCEINLINE ULONG AsyncActionCompletedHandler_Release(AsyncActionCompletedHandler* This) { -- return This->lpVtbl->Release(This); --} --/*** AsyncActionCompletedHandler methods ***/ --static FORCEINLINE HRESULT AsyncActionCompletedHandler_Invoke(AsyncActionCompletedHandler* This,IInspectable *asyncAction,AsyncStatus status) { -- return This->lpVtbl->Invoke(This,asyncAction,status); -+#ifdef __cplusplus -+} /* extern "C" */ -+namespace ABI { -+ namespace Windows { -+ namespace Foundation { -+ struct DateTime { -+ INT64 UniversalTime; -+ }; -+ } -+ } - } --#endif -+extern "C" { -+#else -+struct __x_ABI_CWindows_CFoundation_CDateTime { -+ INT64 UniversalTime; -+}; - #endif - -+#ifdef __cplusplus -+} /* extern "C" */ -+namespace ABI { -+ namespace Windows { -+ namespace Foundation { -+ struct TimeSpan { -+ INT64 Duration; -+ }; -+ } -+ } -+} -+extern "C" { -+#else -+struct __x_ABI_CWindows_CFoundation_CTimeSpan { -+ INT64 Duration; -+}; - #endif - --HRESULT STDMETHODCALLTYPE AsyncActionCompletedHandler_Invoke_Proxy( -- AsyncActionCompletedHandler* This, -- IInspectable *asyncAction, -- AsyncStatus status); --void __RPC_STUB AsyncActionCompletedHandler_Invoke_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); -- --#endif /* __AsyncActionCompletedHandler_INTERFACE_DEFINED__ */ -- - /***************************************************************************** -- * IAsyncOperation interface -+ * IStringable interface - */ --#ifndef __IAsyncOperation_INTERFACE_DEFINED__ --#define __IAsyncOperation_INTERFACE_DEFINED__ -+#ifndef ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ -+#define ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ - --DEFINE_GUID(IID_IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2); -+DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3); - #if defined(__cplusplus) && !defined(CINTERFACE) --MIDL_INTERFACE("9fc2b0bb-e446-44e2-aa61-9cab8f636af2") --IAsyncOperation : public IAsyncInfo --{ -- virtual HRESULT STDMETHODCALLTYPE put_Completed( -- AsyncActionCompletedHandler *handler) = 0; -- -- virtual HRESULT STDMETHODCALLTYPE get_Completed( -- AsyncActionCompletedHandler **handler) = 0; -- -- virtual IInspectable * STDMETHODCALLTYPE GetResults( -- ) = 0; -- --}; -+} /* extern "C" */ -+namespace ABI { -+ namespace Windows { -+ namespace Foundation { -+ MIDL_INTERFACE("96369f54-8eb6-48f0-abce-c1b211e627c3") -+ IStringable : public IInspectable -+ { -+ virtual HRESULT STDMETHODCALLTYPE ToString( -+ HSTRING *value) = 0; -+ -+ }; -+ } -+ } -+} -+extern "C" { - #ifdef __CRT_UUID_DECL --__CRT_UUID_DECL(IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2) -+__CRT_UUID_DECL(ABI::Windows::Foundation::IStringable, 0x96369f54, 0x8eb6, 0x48f0, 0xab,0xce, 0xc1,0xb2,0x11,0xe6,0x27,0xc3) - #endif - #else --typedef struct IAsyncOperationVtbl { -+typedef struct __x_ABI_CWindows_CFoundation_CIStringableVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( -- IAsyncOperation* This, -+ __x_ABI_CWindows_CFoundation_CIStringable *This, - REFIID riid, - void **ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( -- IAsyncOperation* This); -+ __x_ABI_CWindows_CFoundation_CIStringable *This); - - ULONG (STDMETHODCALLTYPE *Release)( -- IAsyncOperation* This); -+ __x_ABI_CWindows_CFoundation_CIStringable *This); - - /*** IInspectable methods ***/ - HRESULT (STDMETHODCALLTYPE *GetIids)( -- IAsyncOperation* This, -+ __x_ABI_CWindows_CFoundation_CIStringable *This, - ULONG *iidCount, - IID **iids); - - HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( -- IAsyncOperation* This, -+ __x_ABI_CWindows_CFoundation_CIStringable *This, - HSTRING *className); - - HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( -- IAsyncOperation* This, -+ __x_ABI_CWindows_CFoundation_CIStringable *This, - TrustLevel *trustLevel); - -- /*** IAsyncInfo methods ***/ -- HRESULT (STDMETHODCALLTYPE *get_Id)( -- IAsyncOperation* This, -- unsigned int *id); -- -- HRESULT (STDMETHODCALLTYPE *get_Status)( -- IAsyncOperation* This, -- AsyncStatus *status); -- -- HRESULT (STDMETHODCALLTYPE *get_ErrorCode)( -- IAsyncOperation* This, -- HRESULT *errorCode); -- -- HRESULT (STDMETHODCALLTYPE *Cancel)( -- IAsyncOperation* This); -- -- HRESULT (STDMETHODCALLTYPE *Close)( -- IAsyncOperation* This); -- -- /*** IAsyncOperation methods ***/ -- HRESULT (STDMETHODCALLTYPE *put_Completed)( -- IAsyncOperation* This, -- AsyncActionCompletedHandler *handler); -- -- HRESULT (STDMETHODCALLTYPE *get_Completed)( -- IAsyncOperation* This, -- AsyncActionCompletedHandler **handler); -- -- IInspectable * (STDMETHODCALLTYPE *GetResults)( -- IAsyncOperation* This); -+ /*** IStringable methods ***/ -+ HRESULT (STDMETHODCALLTYPE *ToString)( -+ __x_ABI_CWindows_CFoundation_CIStringable *This, -+ HSTRING *value); - - END_INTERFACE --} IAsyncOperationVtbl; --interface IAsyncOperation { -- CONST_VTBL IAsyncOperationVtbl* lpVtbl; -+} __x_ABI_CWindows_CFoundation_CIStringableVtbl; -+ -+interface __x_ABI_CWindows_CFoundation_CIStringable { -+ CONST_VTBL __x_ABI_CWindows_CFoundation_CIStringableVtbl* lpVtbl; - }; - - #ifdef COBJMACROS - #ifndef WIDL_C_INLINE_WRAPPERS - /*** IUnknown methods ***/ --#define IAsyncOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) --#define IAsyncOperation_AddRef(This) (This)->lpVtbl->AddRef(This) --#define IAsyncOperation_Release(This) (This)->lpVtbl->Release(This) -+#define __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -+#define __x_ABI_CWindows_CFoundation_CIStringable_AddRef(This) (This)->lpVtbl->AddRef(This) -+#define __x_ABI_CWindows_CFoundation_CIStringable_Release(This) (This)->lpVtbl->Release(This) - /*** IInspectable methods ***/ --#define IAsyncOperation_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) --#define IAsyncOperation_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) --#define IAsyncOperation_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) --/*** IAsyncInfo methods ***/ --#define IAsyncOperation_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) --#define IAsyncOperation_get_Status(This,status) (This)->lpVtbl->get_Status(This,status) --#define IAsyncOperation_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode) --#define IAsyncOperation_Cancel(This) (This)->lpVtbl->Cancel(This) --#define IAsyncOperation_Close(This) (This)->lpVtbl->Close(This) --/*** IAsyncOperation methods ***/ --#define IAsyncOperation_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler) --#define IAsyncOperation_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler) --#define IAsyncOperation_GetResults(This) (This)->lpVtbl->GetResults(This) -+#define __x_ABI_CWindows_CFoundation_CIStringable_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) -+#define __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) -+#define __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) -+/*** IStringable methods ***/ -+#define __x_ABI_CWindows_CFoundation_CIStringable_ToString(This,value) (This)->lpVtbl->ToString(This,value) - #else - /*** IUnknown methods ***/ --static FORCEINLINE HRESULT IAsyncOperation_QueryInterface(IAsyncOperation* This,REFIID riid,void **ppvObject) { -+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_QueryInterface(__x_ABI_CWindows_CFoundation_CIStringable* This,REFIID riid,void **ppvObject) { - return This->lpVtbl->QueryInterface(This,riid,ppvObject); - } --static FORCEINLINE ULONG IAsyncOperation_AddRef(IAsyncOperation* This) { -+static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_AddRef(__x_ABI_CWindows_CFoundation_CIStringable* This) { - return This->lpVtbl->AddRef(This); - } --static FORCEINLINE ULONG IAsyncOperation_Release(IAsyncOperation* This) { -+static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIStringable_Release(__x_ABI_CWindows_CFoundation_CIStringable* This) { - return This->lpVtbl->Release(This); - } - /*** IInspectable methods ***/ --static FORCEINLINE HRESULT IAsyncOperation_GetIids(IAsyncOperation* This,ULONG *iidCount,IID **iids) { -+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetIids(__x_ABI_CWindows_CFoundation_CIStringable* This,ULONG *iidCount,IID **iids) { - return This->lpVtbl->GetIids(This,iidCount,iids); - } --static FORCEINLINE HRESULT IAsyncOperation_GetRuntimeClassName(IAsyncOperation* This,HSTRING *className) { -+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *className) { - return This->lpVtbl->GetRuntimeClassName(This,className); - } --static FORCEINLINE HRESULT IAsyncOperation_GetTrustLevel(IAsyncOperation* This,TrustLevel *trustLevel) { -+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIStringable* This,TrustLevel *trustLevel) { - return This->lpVtbl->GetTrustLevel(This,trustLevel); - } --/*** IAsyncInfo methods ***/ --static FORCEINLINE HRESULT IAsyncOperation_get_Id(IAsyncOperation* This,unsigned int *id) { -- return This->lpVtbl->get_Id(This,id); --} --static FORCEINLINE HRESULT IAsyncOperation_get_Status(IAsyncOperation* This,AsyncStatus *status) { -- return This->lpVtbl->get_Status(This,status); --} --static FORCEINLINE HRESULT IAsyncOperation_get_ErrorCode(IAsyncOperation* This,HRESULT *errorCode) { -- return This->lpVtbl->get_ErrorCode(This,errorCode); --} --static FORCEINLINE HRESULT IAsyncOperation_Cancel(IAsyncOperation* This) { -- return This->lpVtbl->Cancel(This); --} --static FORCEINLINE HRESULT IAsyncOperation_Close(IAsyncOperation* This) { -- return This->lpVtbl->Close(This); --} --/*** IAsyncOperation methods ***/ --static FORCEINLINE HRESULT IAsyncOperation_put_Completed(IAsyncOperation* This,AsyncActionCompletedHandler *handler) { -- return This->lpVtbl->put_Completed(This,handler); --} --static FORCEINLINE HRESULT IAsyncOperation_get_Completed(IAsyncOperation* This,AsyncActionCompletedHandler **handler) { -- return This->lpVtbl->get_Completed(This,handler); --} --static FORCEINLINE IInspectable * IAsyncOperation_GetResults(IAsyncOperation* This) { -- return This->lpVtbl->GetResults(This); -+/*** IStringable methods ***/ -+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIStringable_ToString(__x_ABI_CWindows_CFoundation_CIStringable* This,HSTRING *value) { -+ return This->lpVtbl->ToString(This,value); - } - #endif - #endif - - #endif - --HRESULT STDMETHODCALLTYPE IAsyncOperation_put_Completed_Proxy( -- IAsyncOperation* This, -- AsyncActionCompletedHandler *handler); --void __RPC_STUB IAsyncOperation_put_Completed_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); --HRESULT STDMETHODCALLTYPE IAsyncOperation_get_Completed_Proxy( -- IAsyncOperation* This, -- AsyncActionCompletedHandler **handler); --void __RPC_STUB IAsyncOperation_get_Completed_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); --IInspectable * STDMETHODCALLTYPE IAsyncOperation_GetResults_Proxy( -- IAsyncOperation* This); --void __RPC_STUB IAsyncOperation_GetResults_Stub( -- IRpcStubBuffer* This, -- IRpcChannelBuffer* pRpcChannelBuffer, -- PRPC_MESSAGE pRpcMessage, -- DWORD* pdwStubPhase); -- --#endif /* __IAsyncOperation_INTERFACE_DEFINED__ */ -+#endif /* ____x_ABI_CWindows_CFoundation_CIStringable_INTERFACE_DEFINED__ */ - - /* Begin additional prototypes for all interfaces */ - -+ULONG __RPC_USER HSTRING_UserSize (ULONG *, ULONG, HSTRING *); -+unsigned char * __RPC_USER HSTRING_UserMarshal (ULONG *, unsigned char *, HSTRING *); -+unsigned char * __RPC_USER HSTRING_UserUnmarshal(ULONG *, unsigned char *, HSTRING *); -+void __RPC_USER HSTRING_UserFree (ULONG *, HSTRING *); - - /* End additional prototypes */ - diff --git a/mingw-w64-headers/include/windows.foundation.metadata.h b/mingw-w64-headers/include/windows.foundation.metadata.h new file mode 100644 -index 00000000..13262699 +index 000000000..132626999 --- /dev/null +++ b/mingw-w64-headers/include/windows.foundation.metadata.h @@ -0,0 +1,315 @@ @@ -1310,7 +345,7 @@ index 00000000..13262699 +#endif /* __windows_foundation_metadata_h__ */ diff --git a/mingw-w64-headers/include/windows.foundation.numerics.h b/mingw-w64-headers/include/windows.foundation.numerics.h new file mode 100644 -index 00000000..e20017ce +index 000000000..e20017ce6 --- /dev/null +++ b/mingw-w64-headers/include/windows.foundation.numerics.h @@ -0,0 +1,204 @@ @@ -1520,7 +555,7 @@ index 00000000..e20017ce +#endif /* __windows_foundation_numerics_h__ */ diff --git a/mingw-w64-headers/include/windows.graphics.directx.h b/mingw-w64-headers/include/windows.graphics.directx.h new file mode 100644 -index 00000000..4bc4cb44 +index 000000000..4bc4cb44b --- /dev/null +++ b/mingw-w64-headers/include/windows.graphics.directx.h @@ -0,0 +1,343 @@ @@ -1869,7 +904,7 @@ index 00000000..4bc4cb44 +#endif /* __windows_graphics_directx_h__ */ diff --git a/mingw-w64-headers/include/windows.graphics.effects.h b/mingw-w64-headers/include/windows.graphics.effects.h new file mode 100644 -index 00000000..7c6e62a5 +index 000000000..7c6e62a54 --- /dev/null +++ b/mingw-w64-headers/include/windows.graphics.effects.h @@ -0,0 +1,184 @@ @@ -2059,7 +1094,7 @@ index 00000000..7c6e62a5 +#endif /* __windows_graphics_effects_h__ */ diff --git a/mingw-w64-headers/include/windows.ui.composition.h b/mingw-w64-headers/include/windows.ui.composition.h new file mode 100644 -index 00000000..9410a3ce +index 000000000..9410a3ce6 --- /dev/null +++ b/mingw-w64-headers/include/windows.ui.composition.h @@ -0,0 +1,3212 @@ @@ -5277,7 +4312,7 @@ index 00000000..9410a3ce +#endif /* __windows_ui_composition_h__ */ diff --git a/mingw-w64-headers/include/windows.ui.composition.interop.h b/mingw-w64-headers/include/windows.ui.composition.interop.h new file mode 100644 -index 00000000..a82afdf1 +index 000000000..a82afdf1b --- /dev/null +++ b/mingw-w64-headers/include/windows.ui.composition.interop.h @@ -0,0 +1,31 @@ @@ -5314,7 +4349,7 @@ index 00000000..a82afdf1 + diff --git a/mingw-w64-headers/include/windows.ui.core.h b/mingw-w64-headers/include/windows.ui.core.h new file mode 100644 -index 00000000..a3c16ac2 +index 000000000..a3c16ac23 --- /dev/null +++ b/mingw-w64-headers/include/windows.ui.core.h @@ -0,0 +1,127 @@ @@ -5447,7 +4482,7 @@ index 00000000..a3c16ac2 +#endif /* __windows_ui_core_h__ */ diff --git a/mingw-w64-headers/include/windows.ui.h b/mingw-w64-headers/include/windows.ui.h new file mode 100644 -index 00000000..2e4abd54 +index 000000000..2e4abd547 --- /dev/null +++ b/mingw-w64-headers/include/windows.ui.h @@ -0,0 +1,72 @@ @@ -5523,3 +4558,6 @@ index 00000000..2e4abd54 +#endif + +#endif /* __windows_ui_h__ */ +-- +2.25.1 + diff --git a/projects/mingw-w64/config b/projects/mingw-w64/config index 6758997..3792a76 100644 --- a/projects/mingw-w64/config +++ b/projects/mingw-w64/config @@ -1,12 +1,12 @@ # vim: filetype=yaml sw=2 filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' git_url: https://git.code.sf.net/p/mingw-w64/mingw-w64 -git_hash: 660e09f3cb20f181b6d6435cb623d65a3922a063 +git_hash: cdb052f1d4056cd510cb83197b55868427b87476 version: '[% c("abbrev") %]' var: container: use_container: 1 - gcc_version: 9.3.0 + gcc_version: 10.3.0 deps: - automake - build-essential @@ -30,6 +30,6 @@ targets: input_files: - project: container-image - URL: 'https://ftp.gnu.org/gnu/gcc/gcc-%5B% c("var/gcc_version") %]/gcc-[% c("var/gcc_version") %].tar.xz' - sha256sum: 71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1 + sha256sum: 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344 - name: binutils project: binutils diff --git a/projects/ninja/build b/projects/ninja/build index 6500ca7..9fc0eaa 100644 --- a/projects/ninja/build +++ b/projects/ninja/build @@ -10,6 +10,11 @@ mkdir /var/tmp/build tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz cd /var/tmp/build/[% project %]-[% c('version') %]
+[% IF c("var/windows") -%] + # Starting with Debian Bullseye, /usr/bin/python does not exist, so + # we need to use python3 explicitly + sed -i 's/env python$/env python3/' configure.py +[% END -%] ./configure.py --bootstrap
mkdir $distdir diff --git a/projects/node/config b/projects/node/config index 30fce8d..ce058cf 100644 --- a/projects/node/config +++ b/projects/node/config @@ -12,6 +12,10 @@ targets: var: node_version: 10.23.1 node_hash: 88aa16f5af79615b183ca55ed81393763169e75d1fb96013cf1831895c6cedfa + windows: + var: + arch_deps: + - python2
input_files: - project: container-image diff --git a/projects/rust/config b/projects/rust/config index 01e1843..4995f1c 100644 --- a/projects/rust/config +++ b/projects/rust/config @@ -75,7 +75,7 @@ targets: - libssl-dev - pkg-config - zlib1g-dev - configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=[% c("arch") %]-pc-windows-gnu + configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-unknown-linux-gnu,[% c("arch") %]-pc-windows-gnu
input_files: - project: container-image diff --git a/projects/tor-browser/build b/projects/tor-browser/build index 1d2e35b..6deec70 100644 --- a/projects/tor-browser/build +++ b/projects/tor-browser/build @@ -226,14 +226,6 @@ popd
[% IF c("var/windows") %] - # We need to install a recent version of python-pefile so that it works - # in a x86_64 container: - # https://github.com/TheTorProject/tor-messenger-build/pull/10 - tar xf $rootdir/[% c('input_files_by_name/python-pefile') %] - cd $(echo [% c('input_files_by_name/python-pefile') %] | sed s/.tar.gz$//) - python setup.py install --user - cd .. - tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/nsis') %] export PATH="/var/tmp/dist/nsis/bin:$PATH"
@@ -288,7 +280,7 @@ cd $distdir makensis torbrowser.nsi # Working around NSIS braindamage mv torbrowser-install.exe torbrowser-install-tmp.exe - python $rootdir/pe_checksum_fix.py + python3 $rootdir/pe_checksum_fix.py mv torbrowser-install-tmp2.exe torbrowser-install.exe rm torbrowser-install-tmp.exe mv torbrowser-install.exe $OUTDIR/torbrowser-install[% IF c("var/windows-x86_64") %]-win64[% END %]-[% c("var/torbrowser_version") %]_${PKG_LOCALE}.exe diff --git a/projects/tor-browser/config b/projects/tor-browser/config index 09f77b2..a3f21d3 100644 --- a/projects/tor-browser/config +++ b/projects/tor-browser/config @@ -35,7 +35,7 @@ targets: windows: var: arch_deps: - - python-future + - python3-pefile windows-i686: var: mar_osname: win32 @@ -98,10 +98,6 @@ input_files: enable: '[% c("var/windows") %]' - filename: pe_checksum_fix.py enable: '[% c("var/windows") %]' - - name: python-pefile - URL: https://files.pythonhosted.org/packages/7e/9b/f99171190f04cd23768547dd34533b... - sha256sum: 675c35ee0e1677db9e80d2f48d8a7ff2cf38e6207e8cd5e2a2c6d126db025854 - enable: '[% c("var/windows") %]' # To generate a new keystore, see how-to-generate-keystore.txt - filename: android-qa.keystore enable: '[% c("var/android") %]' diff --git a/projects/tor-browser/pe_checksum_fix.py b/projects/tor-browser/pe_checksum_fix.py index 85d8fef..73cd009 100755 --- a/projects/tor-browser/pe_checksum_fix.py +++ b/projects/tor-browser/pe_checksum_fix.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3
# Copyright (c) 2015-2017, The Tor Project, Inc. # @@ -45,12 +45,12 @@ Thanks to a cypherpunk for this workaround idea.
import pefile;
-f = open('torbrowser-install-tmp.exe') +f = open('torbrowser-install-tmp.exe', 'rb') exe = f.read() f.close() remainder = len(exe) % 8 if remainder > 0: - exe += '\0' * (8 - remainder) + exe += bytes('\0' * (8 - remainder), 'utf-8') pef = pefile.PE(data=exe, fast_load=True) pef.OPTIONAL_HEADER.CheckSum = pef.generate_checksum() pef.write(filename='torbrowser-install-tmp2.exe') diff --git a/rbm.conf b/rbm.conf index b389872..c67fdc9 100644 --- a/rbm.conf +++ b/rbm.conf @@ -428,9 +428,11 @@ targets: torbrowser-windows-i686: - windows-i686 - windows + - ff91esr torbrowser-windows-x86_64: - windows-x86_64 - windows + - ff91esr windows-x86_64: arch: x86_64 var: @@ -451,7 +453,7 @@ targets: var: windows: 1 container: - suite: buster + suite: bullseye arch: amd64 configure_opt: '--host=[% c("arch") %]-w64-mingw32 CFLAGS="[% c("var/CFLAGS") %]" LDFLAGS="[% c("var/LDFLAGS") %]" [% c("var/configure_opt_project") %]' CFLAGS: '-fstack-protector-strong -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security [% c("var/flag_mwindows") %]' @@ -464,7 +466,8 @@ targets: snowflake: '[% c("var/alpha") || c("var/nightly") %]' deps: - build-essential - - python + - python3 + - python3-distutils - bison - automake - libtool
tbb-commits@lists.torproject.org