Commit Graph

89 Commits

Author SHA1 Message Date
Saleem Abdulrasool
846f522b22 Merge pull request #34032 from egorzhdan/winsdk-printing
WinSDK: extract Printing submodule
2020-09-23 18:11:20 -07:00
Saleem Abdulrasool
5405585cf9 Merge pull request #34034 from egorzhdan/winsdk-media
WinSDK: extract Multimedia submodule
2020-09-23 18:10:54 -07:00
Egor Zhdan
42dcb6948b WinSDK: extract Multimedia submodule
Some of the headers in the Multimedia subsystem were not included in any other submodule of WinSDK. This change adds them to WinSDK.
2020-09-22 22:22:43 +03:00
Egor Zhdan
7ba7d9b5c1 WinSDK: extract Printing submodule
Currently winspool.h gets included into `WinSDK.WinSock2` via windows.h
2020-09-22 21:51:20 +03:00
Egor Zhdan
c1e43c7768 WinSDK: add console API headers
`WinSDK.core.console` only specified `consoleapi.h` header, while `consoleapi2.h` & `consoleapi3.h` were included in the WinSock2 submodule since these headers are included by `windows.h`
2020-09-20 18:26:24 +03:00
Saleem Abdulrasool
d18ed438c1 Platform: correct linked import library name
When linking on a case sensitive file system, the import library must be
named with the matching case.  The import library is named
`ComDlg32.Lib` in the SDK, adjust the case.
2020-09-16 11:05:10 -07:00
Egor Zhdan
37349a3401 Merge pull request #33958 from egorzhdan/winsdk-controls
WinSDK: extract Controls submodule
2020-09-16 11:39:43 +03:00
Egor Zhdan
62b56f3adc WinSDK: extract Controls submodule
Currently commdlg.h gets included into `WinSDK.WinSock2`, however its usages might not be related to sockets
2020-09-14 22:23:41 +03:00
Egor Zhdan
b63dbbc3f0 WinSDK: extract Internationalization submodule
Currently winnls.h & imm.h get included into `WinSDK.WinSock2`, however their usages might not be related to sockets
2020-09-13 23:02:31 +03:00
Shoaib Meenai
b8e96841b5 [stdlib] Correct shell32 casing
This allows links to succeed on a case-sensitive file system.
2020-09-10 12:16:18 -07:00
Daniel Duan
3fe7abee19 WinSDK: add Shell32 (#33849)
This header and .lib features useful APIs such as [SHFileOperation](https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shfileoperationw), which seems to be the preferred way to manipulate file systems for certain things.
2020-09-09 22:52:20 -07:00
Saleem Abdulrasool
fbdd1ebf46 Platform: improve WinSDK modulemap to repair build
The WinSDK module failed to expose WinBase properly for reuse, which the
newer clang seems to object to (via an assertion).  Add a separate
module for WinBase which allows reuse of the definitions without causing
conflicts.  This caused some additional fallout requiring the creation
of the WinSVC submodule (service handling, part of security and
identity) and splitting up the legacy WinSock header from the WinSock2
module.  This allows building Foundation again on Windows.
2020-09-04 21:58:58 -07:00
Saleem Abdulrasool
133554c19b Windows: add DWMAPI to modulemap
Add an entry for the DWM API to the WinSDK headers.  Without this the
DWM APIs are not available.
2020-08-02 15:57:50 -07:00
Saleem Abdulrasool
bf9ae4bb25 Platform: add RichEdit to modulemap
Add RichEdit to the module map file for WinSDK.
2020-05-25 18:26:53 -07:00
Saleem Abdulrasool
904f6aa1ec Windows: add combase to the WinSDK.core module
Ensure that this header properly gets modularized into its own module.
2020-04-29 18:42:11 -07:00
Saleem Abdulrasool
15ce9a8c6b WinSDK: extract WinRPC into a module
Add a module representing RpcRT4.  This is needed for interfacing with
certain COM interfaces.
2020-04-26 10:25:41 -07:00
Saleem Abdulrasool
6bad5a7bb3 Windows: add a WinGDI submodule
Extract the WinGDI into a submodule to handle the Gdi32 autolinking
requirement as well as to isolate the types.
2020-04-18 10:39:02 -07:00
Saleem Abdulrasool
b9e3109fe8 Platform: add ShellCore to WinSDK modulemap
Add the ShellCore module to the Windows SDK modulemap.
2020-04-12 21:37:41 -07:00
Martin Boehme
3ccecc6819 Remove [extern_c] attribute from WinSDK module.
I've verified that all of the header files in this module already
contain their own `extern "C"` blocks that are activated if compiling as
C++.

The additional [extern_c] attribute causes problems for some headers,
like PathCch.h, that define additional overloads of functions when
compiled as C++. The "global" [extern_c] essentially switches off name
mangling with these overloads, which causes them to conflict with the
functions they are overloading.

See here for more context:
https://github.com/apple/swift/pull/30233#issuecomment-601594221

See here for an example of failures caused by the [extern_c]:
https://ci-external.swift.org/job/swift-PR-windows/869/console

(Search for "PathCch.h".)
2020-03-20 10:45:38 +01:00
Saleem Abdulrasool
559dc2a516 WinSDK: further extend the WinSock module
Add the new `afunix.h` header to the WinSock module which was introduced
in the 10.0.17134 release.
2020-03-09 09:54:59 -07:00
Saleem Abdulrasool
4fcd65a411 WinSDK: extend the WinSock module further
This enables the use of `TransmitFile` more fully by adding the
Microsoft extensions to the WinSock module.
2020-03-08 13:14:24 -07:00
Saleem Abdulrasool
a2ceae970b Platform: fix library link names
This adjusts the library link names so that linking works properly on
case sensitive file systems (e.g. ext4) when cross-linking.
2019-07-16 10:26:42 -07:00
Saleem Abdulrasool
84f9eed9c8 Platform: extend WinSDK further
This extends the WinSDK module definition further to better modularise
the headers.  This should improve the header organisation as well as
setup additional autolink rules.
2019-07-14 13:54:37 -07:00
Saleem Abdulrasool
d3babb3737 Platform: start using autolink on Windows
Be more aggressive about using the autolinking functionality of modules
on Windows.  This makes it easier to use WinSDK in Swift as the link
dependencies are implicitly taken care of.
2019-07-09 22:59:07 -07:00
Saleem Abdulrasool
5d2be1acc7 Windows: expose ConsoleAPI
This exposes the Windows 10 ConsoleAPI from the module.
2019-04-20 17:02:09 -07:00
Saleem Abdulrasool
19cd786ca6 platform: correct case for WinSDK module (NFC)
This adjusts the case so that it can build on case sensitive file
systems (e.g. ext4).
2019-03-31 13:07:42 -07:00
Saleem Abdulrasool
fc3014c9d7 platform: add ACLAPI to WinSDK
This is needed to implement chmod-like functionality on Windows.  Ensure
that the ACL APIs are available to swift.
2019-03-30 21:40:10 -07:00
Saleem Abdulrasool
14d771436c WinSDK: add some constants from CommCtrl
This exposes the common control window class name constants to the Swift
side enabling the use of these constants to create Windows.
2019-03-10 21:23:59 -07:00
Saleem Abdulrasool
bba46b9a14 WinSDK: improve module map further
Split out the User32 interfaces from the previously owning module
(WinSock2).  This improves the debugging experience and more accurately
reflects the module structure but should not impact the ability to build
the swift runtime.
2019-02-16 14:21:34 -08:00
Saleem Abdulrasool
d4660ef8c2 Windows: extend WinSDK module further
This extends the WinSDK modulemap to cover Winsock2 and IPHelp API Set.
These are used in Foundation.
2019-02-02 18:50:20 -08:00
Saleem Abdulrasool
c1da7a206a WinSDK: extend the module definition for Foundation
Update the module definition to extend it to support stack symbolication
for use in Foundation.
2019-01-26 10:52:10 -08:00
Saleem Abdulrasool
fe37d7752a Platform: extend WinSDK module
Update the module definitions to include ShellAPI and Path API Set.
These are used by Foundation for FileManager.
2019-01-06 20:26:56 -08:00
Saleem Abdulrasool
a3814052f2 winsdk: add the Heap API set 2019-01-03 17:43:01 -08:00
swift-ci
93d6eb9478 Merge pull request #21442 from compnerd/module-map 2018-12-19 14:57:52 -08:00
Saleem Abdulrasool
0bdf536c8a Platform: improve WinSDK coverage further
Additional APISets are required to implement the Foundation API surface.
Expand the module to include that.  Unfortunately, I have not been able
to get the ImageHelp or the DebugHelp APIs or the RTLSupport APISet
covered under the module.  Those are required to get stack captures to
work.
2018-12-19 13:53:15 -08:00
Saleem Abdulrasool
e86c1714a2 stdlib: extend WinSDK module for Foundation
When building foundation, we end up including the interlocked module
through CoreFoundation.  Extend the modulemap for this.
2018-12-18 15:17:17 -08:00
Saleem Abdulrasool
df5712d1fd platform: widen winsdk modulemap
Add NamedPipe API Set for LibcExtras.
2018-12-16 22:11:07 -08:00
Xiaodi Wu
9fe28c6e55 [gardening] Fix header comments [NFC] 2018-12-02 15:38:41 -05:00
Saleem Abdulrasool
8b8198aaae stdlib: add modulemap for WinSDK
This is needed to build the threading extras.
2018-11-26 13:10:00 -08:00