Commit Graph

89 Commits

Author SHA1 Message Date
Saleem Abdulrasool
1dffb688d6 WinSDK: add DDE, OLE, LZ32 submodules
Further modularise the Windows SDK. This adds 3 new submodules to get
better coverage of the Windows SDK.
2025-03-03 13:44:51 -08:00
Saleem Abdulrasool
c3d825144c Merge pull request #74040 from STREGA/main
Revert remove cplusplus requirement on XAudio29
2024-05-31 14:33:20 -04:00
STREGA
d69790bde2 Revert remove cplusplus requirement on XAudio29 2024-05-30 22:48:07 -04:00
Saleem Abdulrasool
5919346b32 Platform: add UserEnv module to WinSDK
This allows access to the `GetUserProfileDirectoryW` API which is
required for the swift-foundation implementation on Windows.
2024-04-12 10:25:32 -07:00
Saleem Abdulrasool
1845538c50 Windows: add WER module to WinSDK
This adds the Windows Error Reporting module to the WinSDK to make it
available to Swift.
2024-02-28 11:23:22 -08:00
Saleem Abdulrasool
2d72906b97 Windows: include SDDL conversion headers
This is allows us to use `ConvertSidToStringSidW`.
2024-02-12 14:37:37 -08:00
Saleem Abdulrasool
203cace27f Platform: remove cplusplus requirement on XAudio29
The header is usable without C++ interop.  This should make it easier to
use the module in many cases.
2023-12-03 18:58:41 -08:00
Saleem Abdulrasool
cdc1a7b5bb Platform: add an explicit AppModel module for Windows
Extract and isolate the AppModel APIs into its own module.  This
corresponds to the contract boundary on Windows.
2023-10-06 12:13:35 -07:00
STREGA
2832492ca8 Fix incorrect library name 2023-09-29 21:00:04 -04:00
Saleem Abdulrasool
aface3a75f Platform: add missing header for OLE32
We should include `oleauto.h` in the OLE32 module.  This ensures that we
are able to access the BSTR APIs which are used extensively in OLE.
2023-09-28 12:05:05 -07:00
Saleem Abdulrasool
a0500be652 Platform: add URL Monikers to the WinSDK overlay
Add a module definition for importing the URL Monikers interfaces.  This
is in service of DocC.
2023-07-23 14:33:57 -07:00
STREGA
9cc41fa80d Add DirectInput 2023-06-23 14:33:44 -04:00
Saleem Abdulrasool
8a4c6225ec Windows: add wincred.h to the modulemap
This adds the Windows credentials API to the modulemap for the Windows
SDK module.
2023-04-14 16:47:26 -07:00
Saleem Abdulrasool
67ba46e591 Platform: add a new submodule to WinSDK
This adds the memoryapi submodule to WinSDK which isolates the memoryapi
contract.  This enables additional functions such as
`QueryVirtualMemoryRegion` to now be available.
2022-02-16 18:02:53 -08:00
Saleem Abdulrasool
e6c6c5207b Platform: add submodule to WinSDK for ProcessAPI
This adds the PSAPI submodule to WinSDK for use in swift-inspect.
2022-02-12 18:23:03 -08:00
Saleem Abdulrasool
a2c6d0c80b Platform: add a WinSDK submodule
This adds ToolHelp32 to the WinSDK module which is needed for
snapshotting process state.  This is useful for tooling like
swift-inspect.
2022-02-06 12:37:05 -08:00
Alex Taffe
715f1ecbcd Move WinUSB out of OS core 2021-05-25 09:07:11 -04:00
Alex Taffe
7ea15d5664 Fix typo 2021-05-24 17:16:07 -04:00
Alex Taffe
9a4a6d4587 Add winusb.h support 2021-05-24 17:13:22 -04:00
Saleem Abdulrasool
73edf071b5 Platform: correct link dependency for WinSDK.User
Add the User32 link dependency for uses of the User module.
2021-03-18 11:06:27 -07:00
Saleem Abdulrasool
621a4207f8 Platform: link against ComCtl32 when using Common Controls
This adds a missing link directive to the ComCtl32 module.  This allows
use of the module without requiring the user to explicitly add the
linked library to the target when building code against this module.
2021-02-27 12:28:45 -08:00
Saleem Abdulrasool
66a9ae44b4 Platform: add dxgidebug.h to _DXGI module
The debug header is used for enumeration of certain DXGI interfaces
related to debugging of the pipeline.  Add this to gain access to the
interfaces and some of the global GUIDs associated with it.
2021-01-27 09:53:04 -08:00
Saleem Abdulrasool
997cb0f671 Platform: add HLSL compiler to the WinSDK modulemap
The DirectX subsystem may require access to the HLSL compiler for
building the shaders before uploading to the GPU.  This is adds to the
modulemap the D3DCompiler module to get access to the compiler.
2021-01-24 13:10:54 -08:00
Saleem Abdulrasool
4084f7a5a6 Platform: add dxgi1_6 to the Direct3D module
There is no usermode header which has the DXGI1.6 interfaces included
unfortunately.  This adds the interfaces to the module which is required
for IDXGIAdapter4 interface.
2021-01-23 12:41:20 -08:00
Saleem Abdulrasool
e508b1ab14 Platform: extend the D3D v10 module
Add the extensions for the Direct3D v10 API to enable access to the
newer DXGISwapChain interfaces.  Additionally, correct the linking to
ensure that we pick up the v10 version of the import library.
2021-01-21 08:46:47 -08:00
Saleem Abdulrasool
86a8b1b4dc Platform: add Direct3D11 module
This adds the Direct3D v11 module for Windows.  This is required to gain
access to the DXGI interfaces, which homes the DXGISwapChain interface.
2021-01-20 15:28:27 -08:00
Saleem Abdulrasool
fc8cd455d0 Platform: add ActiveX module
Add the ActiveX module to the Windows SDK.  This is needed for the
IPropBag2 interface.
2021-01-09 15:18:16 -08:00
Saleem Abdulrasool
5bfbaadb43 WinSDK: use xinput instead of xinputuap
The UAP variant is included into the WinSDK module which then fails to
run.  Adjust the linkage.
2021-01-08 17:27:26 -08:00
Saleem Abdulrasool
715d81cf26 Platform: add a cplusplus requirement to XAudio
In some cases when building the `XAudio` module, we would end up going
down C++ paths:

```
C:\Program Files (x86)\Windows Kits\10\/Include/10.0.17763.0/um/xaudio2.h:61:26: error: 'uuid' attribute is not supported in C
    interface __declspec(uuid("2B02E3CF-2E0B-4ec3-BE45-1B2A3FE7210D")) IXAudio2;
                             ^
<module-includes>:29:10: note: in file included from <module-includes>:29:
         ^
```

Although this works with newer SDKs, it does not work with older SDKs.
Filter out the module for the time being with a requirement on `C++`.
This should be possible to use with `-enable-cxx-interop`.
2021-01-05 14:47:02 -08:00
Saleem Abdulrasool
96b6760276 Merge pull request #35249 from egorzhdan/winsdk-xaml
WinSDK: add XAML hosting submodule
2021-01-05 08:49:24 -08:00
Egor Zhdan
6970054b63 WinSDK: add XAML hosting submodule
This exposes `IDesktopWindowXamlSourceNative` interface, which is used for embedding WinUI XAML controls into Win32 apps
2021-01-02 17:04:14 +03:00
Saleem Abdulrasool
c5bc227ac7 Platform: add DirectX mappings
Add the module definitions for:
- Direct3D v12
- XAudio 2.9
- XInput 1.4

Additionally, add the following, unusable modules:
- DXCore

DXCore requires C++ Support (C++11 or newer to be precise) and is not
yet available until C++ interop can be made to work fully.
2021-01-01 10:41:24 -08:00
stevapple
281ae3c2a6 Add WinSDK.WinSafer 2020-12-21 22:44:28 +08:00
Saleem Abdulrasool
760a4e4951 Platform: add SensorsAPI to the WinSDK modulemap
The SensorsAPI headers are not part of the Windows umbrella header and
do not get pulled into the module through some transitive set.
Explicitly list the SensorsAPIs contract into the WinSDK modulemap to
allow use of the api contract from Swift.
2020-11-11 08:27:02 -08:00
Saleem Abdulrasool
67aef95f62 platform: add WIC (Windows Imaging Component) to the SDK
The Windows Imaging Component does not get included by any of the other
headers.  Explicitly add a submodule for the component.
2020-11-05 10:23:12 -08:00
Saleem Abdulrasool
62d788c08d stdlib: add AppNotify.h to the Shell module
This header is a standalone header part of the shell subsystem which
allows application to get notification related to application
suspension.
2020-11-02 22:24:53 -08:00
Egor Zhdan
246fe46aa7 Merge pull request #34422 from egorzhdan/winsdk
WinSDK: prevent windows.h from hijacking imm.h
2020-10-24 22:38:00 +03:00
Saleem Abdulrasool
74144e4788 Platform: extract WLANAPI module on Windows
The WLAN APIs are used for the native WiFi implementation and is not as
generally useful.  Extract it into a submodule.
2020-10-21 11:33:15 -07:00
Egor Zhdan
a4a1ff6442 WinSDK: prevent windows.h from hijacking imm.h
Both `immdev.h` & `windows.h` include `imm.h`, and sometimes this header gets assigned to the module containing `windows.h` (currently `WinSDK.WinSock2`) instead of the Internationalization submodule
2020-10-18 15:14:09 +03:00
Saleem Abdulrasool
a757d7bd5c Merge pull request #34344 from egorzhdan/winsdk
WinSDK: extract System.MCX submodule
2020-10-17 18:25:07 -07:00
Egor Zhdan
e893ecfaf0 WinSDK: extract System.MCX submodule
Currently this header gets included into `WinSDK.WinSock2` via `windows.h`
2020-10-17 18:08:24 +03:00
Saleem Abdulrasool
78bc6aae36 Platform: link against Pathcch.lib when using pathcch.h
The MSDN documentation indicates that you should link against the
`Pathcch.lib` import library when using functions from `pathcch.h` which
can also be verified by use functions failing to link due to unresolved
symbols.  Add the missing linking to enable autolinking for `WinSDK`.
2020-10-14 14:34:33 -07:00
Egor Zhdan
681805ddca WinSDK: extract Networking submodule
Currently winnetwk.h gets included via windows.h
2020-10-11 16:59:11 +03:00
Egor Zhdan
ec9f5a2311 WinSDK: extract WinNT into a separate submodule 2020-10-10 18:57:56 +03:00
Egor Zhdan
3708e7bbd5 WinSDK: extract Security submodule with winscard.h
Currently this header gets included into `WinSDK.WinSock2` via windows.h
2020-10-07 14:13:05 +03:00
Egor Zhdan
6a431085de Merge pull request #34147 from egorzhdan/winsdk-ioctl
WinSDK: extract System submodule
2020-10-03 19:52:42 +03:00
Egor Zhdan
ae9715ac03 WinSDK: extract System submodule with winioctl.h
Currently this header gets included into `WinSDK.WinSock2` via windows.h & winscard.h
2020-10-02 20:38:17 +03:00
Egor Zhdan
f158e6afce Merge pull request #34085 from egorzhdan/winsdk-version
WinSDK: extract version into a separate submodule
2020-09-26 12:41:37 +03:00
Egor Zhdan
70a6d2c7c5 WinSDK: extract version into a separate submodule
Currently winver.h gets included into `WinSDK.WinSock2`, however its usages might not be related to sockets, and it requires linking against `Version.Lib`
2020-09-25 22:07:37 +03:00
Egor Zhdan
30f7b9ecef WinSDK: extract Performance submodule
Currently some of the headers get included into `WinSDK.WinSock2` via windows.h
2020-09-24 15:05:08 +03:00