Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/winapi/   (Firefox Browser Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 34 kB image not shown  

Quelle  build.rs

  Sprache: Rust
 

// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use std::cell::Cell;
use std::collections::HashMap;
use std::env::var;
// (header name, &[header dependencies], &[library dependencies])
const DATA: &'static [(&'static str, &'static [&'static str], &'static [&'static str])] = &[
    // km
    ("d3dkmthk", &["basetsd""d3dukmdt""minwindef""ntdef""windef"], &[]),
    // mmos
    // shared
    ("basetsd", &[], &[]),
    ("bcrypt", &["minwindef""winnt"], &["bcrypt"]),
    ("bthdef", &["bthsdpdef""guiddef""minwindef""ntdef"], &[]),
    ("bthioctl", &["bthdef""bthsdpdef""minwindef""ntdef""winioctl"], &[]),
    ("bthsdpdef", &["guiddef""minwindef""ntdef"], &[]),
    ("bugcodes", &["ntdef"], &[]),
    ("cderr", &["minwindef"], &[]),
    ("cfg", &["minwindef"], &[]),
    ("d3d9", &["basetsd""d3d9caps""d3d9types""guiddef""minwindef""unknwnbase""windef""wingdi""winnt"], &["d3d9"]),
    ("d3d9caps", &["d3d9types""guiddef""minwindef""winnt"], &[]),
    ("d3d9types", &["basetsd""guiddef""minwindef""windef""winnt"], &[]),
    ("d3dkmdt", &["basetsd""minwindef""ntdef"], &[]),
    ("d3dukmdt", &["basetsd""guiddef""minwindef""ntdef"], &[]),
    ("dcomptypes", &["dxgitype""minwindef""winnt"], &[]),
    ("devguid", &[], &[]),
    ("devpkey", &["devpropdef"], &[]),
    ("devpropdef", &["guiddef""minwindef""winnt"], &[]),
    ("dinputd", &[], &[]),
    ("dxgi", &["basetsd""dxgiformat""dxgitype""guiddef""minwindef""unknwnbase""windef""winnt"], &["dxgi"]),
    ("dxgi1_2", &["basetsd""dxgi""dxgiformat""dxgitype""guiddef""minwinbase""minwindef""unknwnbase""windef""winnt"], &[]),
    ("dxgi1_3", &["dxgi""dxgi1_2""dxgiformat""guiddef""minwindef""unknwnbase""windef""winnt"], &["dxgi"]),
    ("dxgi1_4", &["basetsd""dxgi1_2""dxgi1_3""dxgiformat""dxgitype""guiddef""minwindef""unknwnbase""winnt"], &[]),
    ("dxgi1_5", &["basetsd""dxgi""dxgi1_2""dxgi1_3""dxgi1_4""dxgiformat""minwindef""unknwnbase""winnt"], &[]),
    ("dxgi1_6", &["basetsd""dxgi1_2""dxgi1_4""dxgi1_5""dxgitype""guiddef""minwindef""windef""winnt"], &[]),
    ("dxgiformat", &[], &[]),
    ("dxgitype", &["d3d9types""dxgiformat""minwindef"], &[]),
    ("enclaveapi", &["basetsd""minwinbase""minwindef""ntdef""winnt"], &["kernel32"]),
    ("evntprov", &["basetsd""guiddef""minwindef""winnt"], &[n style='color:blue'>"advapi32"]),
    ("evntrace", &["basetsd""evntcons""evntprov""guiddef""handleapi""minwindef""timezoneapi""vadefs""winnt""wmistr"], &["advapi32"]),
    ("guiddef", &[], &[]),
    ("hidclass", &["guiddef""minwindef""winioctl""winnt"], &[]),
    ("hidpi", &["hidusage""minwindef""ntdef""ntstatus""winnt"], &["hid"]),
    ("hidsdi", &["guiddef""hidpi""minwindef""winnt"], &[yle='color:blue'>"hid"]),
    ("hidusage", &["minwindef"], &[]),
    ("ifdef", &["basetsd""guiddef""ntdef"], &[]),
    ("ifmib", &["ifdef""ipifcons""minwindef""ntdef"], &[]),
    ("in6addr", &["minwindef"], &[]),
    ("inaddr", &["minwindef"], &[]),
    ("intsafe", &[], &[]),
    ("ipifcons", &["minwindef"], &[]),
    ("ipmib", &["ifdef""ifmib""minwindef""nldef""ntdef"], &[]),
    ("iprtrmib", &["ipmib""minwindef""ntdef"], &[]),
    ("ks", &[], &[]),
    ("ksmedia", &["minwindef"], &[]),
    ("ktmtypes", &["guiddef""minwindef""winnt"], &[]),
    ("lmcons", &["minwindef""winnt"], &[]),
    ("minwindef", &["basetsd""ntdef"], &[]),
    ("mmreg", &["guiddef""minwindef"], &[]),
    ("mprapidef", &[], &[]),
    ("mstcpip", &["basetsd""guiddef""in6addr""inaddr""minwindef""winnt""ws2def"], &["ntdll"]),
    ("mswsockdef", &["minwindef""winnt""ws2def"], &[]),
    ("netioapi", &["basetsd""guiddef""ifdef""ipifcons""minwindef""nldef""ntddndis""ntdef""ws2def""ws2ipdef"], &["iphlpapi"]),
    ("nldef", &["basetsd""minwindef""ntdef"], &[]),
    ("ntddndis", &["ifdef""minwindef"], &[]),
    ("ntddscsi", &["basetsd""minwindef""ntdef""winioctl""winnt"], &[]),
    ("ntddser", &["devpropdef"], &[]),
    ("ntdef", &["basetsd""guiddef"], &[]),
    ("ntstatus", &["ntdef"], &[]),
    ("qos", &["minwindef"], &[]),
    ("rpc", &[], &[]),
    ("rpcdce", &["guiddef""minwindef""rpc"], &[]),
    ("rpcndr", &[], &[]),
    ("sddl", &["basetsd""minwindef""winnt"], &["advapi32"]),
    ("sspi", &["basetsd""guiddef""minwindef""subauth""wincred""winnt"], &["credui""secur32"]),
    ("stralign", &["vcruntime""winnt"], &[>"kernel32"]),
    ("tcpestats", &["basetsd""ntdef"], &[]),
    ("tcpmib", &["basetsd""in6addr""minwindef""ntdef"], &[]),
    ("transportsettingcommon", &["guiddef"], &[]),
    ("tvout", &["guiddef""minwindef"], &[]),
    ("udpmib", &["basetsd""in6addr""minwindef""ntdef"], &[]),
    ("usb", &["minwindef""usbspec""winnt"], &[]),
    ("usbioctl", &["basetsd""guiddef""minwindef""ntdef""usb""usbiodef""usbspec""winioctl"], &[]),
    ("usbiodef", &["guiddef""minwindef""winioctl""winnt"], &[]),
    ("usbscan", &["ntdef""winioctl"], &[]),
    ("usbspec", &["basetsd""guiddef""minwindef""winnt"], &[]),
    ("windef", &["minwindef""winnt"], &[]),
    ("windot11", &["basetsd""minwindef""ntddndis""winnt""wlantypes"], &[]),
    ("windowsx", &["minwindef"], &[]),
    ("winerror", &["minwindef""wtypesbase"], &[]),
    ("winusbio", &["minwindef""usb"], &[]),
    ("wlantypes", &["basetsd""minwindef"], &[]),
    ("wmistr", &["basetsd""guiddef""minwindef""winnt"], &[]),
    ("wnnc", &["minwindef"], &[]),
    ("ws2def", &["basetsd""guiddef""inaddr""minwindef""vcruntime""winnt"], &[]),
    ("ws2ipdef", &["in6addr""inaddr""minwindef""ws2def"], &[]),
    ("wtypes", &["guiddef""minwindef""ntdef""rpcndr""wingdi""wtypesbase"], &[]),
    ("wtypesbase", &["minwindef""rpcndr""winnt"], &[]),
    // ucrt
    ("corecrt", &[], &[]),
    // um
    ("accctrl", &["guiddef""minwindef""winbase""winnt"], &[]),
    ("aclapi", &["accctrl""guiddef""minwindef""winnt"], &[style='color:blue'>"advapi32"]),
    ("adhoc", &["guiddef""minwindef""unknwnbase""winnt"], &[]),
    ("appmgmt", &["guiddef""minwindef""winnt"], &["advapi32"]),
    ("audioclient", &["audiosessiontypes""basetsd""guiddef""minwindef""mmreg""strmif""unknwnbase""winerror""winnt""wtypesbase"], &[]),
    ("audiosessiontypes", &["minwindef"], &[]),
    ("avrt", &["guiddef""minwindef""winnt"], &["avrt"]),
    ("bits", &["basetsd""guiddef""minwindef""unknwnbase""winnt"], &[]),
    ("bits10_1", &["basetsd""bits""bits2_0""bits3_0""bits5_0""minwindef""winnt"], &[]),
    ("bits1_5", &["basetsd""bits""rpcndr""winnt"], &[]),
    ("bits2_0", &["basetsd""bits""bits1_5""minwindef""winnt"], &[]),
    ("bits2_5", &["minwindef""rpcndr""unknwnbase""winnt"], &[]),
    ("bits3_0", &["basetsd""bits""bits2_0""guiddef""minwindef""unknwnbase""winnt"], &[]),
    ("bits4_0", &["basetsd""bits3_0""minwindef""unknwnbase""winnt"], &[]),
    ("bits5_0", &["basetsd""bits1_5""bits3_0""bits4_0""guiddef""minwindef""winnt"], &[]),
    ("bitscfg", &["guiddef""oaidl""unknwnbase""winnt""wtypes"], &["oleaut32"]),
    ("bitsmsg", &["minwindef"], &[]),
    ("bluetoothapis", &["bthdef""bthsdpdef""guiddef""minwinbase""minwindef""windef""winnt"], &["bthprops"]),
    ("bluetoothleapis", &["bthledef""minwindef""winerror""winnt"], &["bluetoothapis"]),
    ("bthledef", &["basetsd""guiddef""minwindef""winnt"], &[]),
    ("cfgmgr32", &["basetsd""cfg""devpropdef""guiddef""minwindef""winnt""winreg"], &["cfgmgr32"]),
    ("cguid", &[], &[]),
    ("combaseapi", &["basetsd""guiddef""minwindef""objidl""objidlbase""propidl""rpcdce""unknwnbase""winnt""wtypesbase"], &["ole32"]),
    ("coml2api", &["minwindef"], &[]),
    ("commapi", &["minwinbase""minwindef""winbase""winnt"], &[pan style='color:blue'>"kernel32"]),
    ("commctrl", &["basetsd""commoncontrols""guiddef""minwinbase""minwindef""vcruntime""windef""winnt""winuser"], &[>"comctl32"]),
    ("commdlg", &["basetsd""minwindef""prsht""unknwnbase""windef""wingdi""winnt""winuser"], &["comdlg32"]),
    ("commoncontrols", &["commctrl""guiddef""minwindef""unknwnbase""windef""winnt"], &["comctl32"]),
    ("consoleapi", &["minwindef""wincon""wincontypes""winnt"], &["kernel32"]),
    ("corsym", &["basetsd""objidlbase""unknwnbase""winnt"], &[]),
    ("d2d1", &["basetsd""d2dbasetypes""d3dcommon""dcommon""dwrite""dxgi""guiddef""minwindef""unknwnbase""wincodec""windef""winnt"], &[an style='color:blue'>"d2d1"]),
    ("d2d1_1", &["basetsd""d2d1""d2d1effectauthor""d2dbasetypes""dcommon""documenttarget""dwrite""dxgi""dxgiformat""guiddef""minwindef""objidlbase""unknwnbase""wincodec""winnt"], &["d2d1"]),
    ("d2d1_2", &["d2d1""d2d1_1""dxgi""minwindef""winnt"], &[an style='color:blue'>"d2d1"]),
    ("d2d1_3", &["basetsd""d2d1""d2d1_1""d2d1_2""d2d1effects""d2d1svg""dcommon""dwrite""dxgi""dxgitype""minwindef""ntdef""objidlbase""wincodec""winerror"], &["d2d1"]),
    ("d2d1effectauthor", &["basetsd""d2d1""d2d1_1""d2dbasetypes""d3dcommon""dxgiformat""guiddef""minwindef""ntdef""unknwnbase""wincodec"], &[]),
    ("d2d1effects", &[], &[]),
    ("d2d1effects_1", &[], &[]),
    ("d2d1effects_2", &[], &[]),
    ("d2d1svg", &["basetsd""d2d1""d2d1_1""guiddef""minwindef""ntdef""objidlbase""winerror"], &[]),
    ("d2dbasetypes", &["d3d9types""dcommon"], &[]),
    ("d3d", &[], &[]),
    ("d3d10", &["d3dcommon"], &[]),
    ("d3d10_1", &[], &[]),
    ("d3d10_1shader", &[], &[]),
    ("d3d10effect", &[], &[]),
    ("d3d10misc", &[], &[]),
    ("d3d10sdklayers", &[], &[]),
    ("d3d10shader", &["d3d10""d3dcommon""minwindef""unknwnbase""winnt"], &[]),
    ("d3d11", &["basetsd""d3dcommon""dxgi""dxgiformat""dxgitype""guiddef""minwindef""unknwnbase""windef""winnt"], &["d3d11"]),
    ("d3d11_1", &["basetsd""d3d11""d3dcommon""dxgiformat""dxgitype""guiddef""minwindef""unknwnbase""winnt"], &[]),
    ("d3d11_2", &["basetsd""d3d11""d3d11_1""dxgiformat""minwindef""winnt"], &[]),
    ("d3d11_3", &[], &[]),
    ("d3d11_4", &[], &[]),
    ("d3d11on12", &["d3d11""d3d12""d3dcommon""guiddef""minwindef""unknwnbase""winnt"], &["d3d11"]),
    ("d3d11sdklayers", &["basetsd""d3d11""dxgi""minwindef""unknwnbase""winnt"], &[]),
    ("d3d11shader", &["basetsd""d3dcommon""minwindef""unknwnbase""winnt"], &[]),
    ("d3d11tokenizedprogramformat", &["minwindef"], &[]),
    ("d3d12", &["basetsd""d3dcommon""dxgiformat""dxgitype""guiddef""minwinbase""minwindef""unknwnbase""windef""winnt"], &["d3d12"]),
    ("d3d12sdklayers", &["basetsd""d3d12""minwindef""unknwnbase""winnt"], &[]),
    ("d3d12shader", &["basetsd""d3dcommon""minwindef""unknwnbase""winnt"], &[]),
    ("d3dcommon", &["basetsd""minwindef""unknwnbase""winnt"], &[]),
    ("d3dcompiler", &["basetsd""d3d11shader""d3dcommon""guiddef""minwindef""winnt"], &["d3dcompiler"]),
    ("d3dcsx", &[], &[]),
    ("d3dx10core", &[], &[]),
    ("d3dx10math", &[], &[]),
    ("d3dx10mesh", &[], &[]),
    ("datetimeapi", &["minwinbase""minwindef""winnt"], &[yle='color:blue'>"kernel32"]),
    ("davclnt", &["minwindef""winnt"], &["netapi32"]),
    ("dbghelp", &["basetsd""guiddef""minwindef""vcruntime""winnt"], &["dbghelp"]),
    ("dbt", &["basetsd""guiddef""minwindef""winnt""winuser"], &[]),
    ("dcommon", &["basetsd""dxgiformat""minwindef""windef"], &[]),
    ("dcomp", &["d2d1""d2d1_1""d2d1effects""d2dbasetypes""d3d9types""d3dcommon""dcompanimation""dcomptypes""dxgi""dxgi1_2""dxgiformat""guiddef""minwinbase""minwindef""ntdef""unknwnbase""windef"], &["dcomp"]),
    ("dcompanimation", &["ntdef""unknwnbase"], &[]),
    ("dde", &["basetsd""minwindef"], &["user32"]),
    ("ddraw", &[], &[]),
    ("ddrawi", &[], &[]),
    ("ddrawint", &[], &[]),
    ("debugapi", &["minwinbase""minwindef""winnt"], &[='color:blue'>"kernel32"]),
    ("devicetopology", &["guiddef""minwindef""unknwnbase""windef""winnt""wtypes"], &[]),
    ("dinput", &[], &[]),
    ("dispex", &["basetsd""guiddef""minwindef""oaidl""servprov""unknwnbase""winerror""winnt""wtypes"], &[]),
    ("dmksctl", &[], &[]),
    ("dmusicc", &[], &[]),
    ("docobj", &["guiddef""minwindef""oaidl""unknwnbase""winnt"], &[]),
    ("documenttarget", &["basetsd""guiddef""ntdef""unknwnbase"], &[]),
    ("dot1x", &["eaptypes""guiddef""l2cmn""minwindef""winnt"], &[]),
    ("dpa_dsa", &["basetsd""minwindef""winnt"], &["comctl32"]),
    ("dpapi", &["minwindef""wincrypt""windef""winnt"], &[tyle='color:blue'>"crypt32"]),
    ("dsgetdc", &["guiddef""minwindef""ntsecapi""winnt""ws2def"], &["netapi32"]),
    ("dsound", &["guiddef""minwindef""mmsystem""unknwnbase""windef""winerror""winnt"], &["dsound"]),
    ("dsrole", &["guiddef""minwindef""winnt"], &["netapi32"]),
    ("dvp", &[], &[]),
    ("dwmapi", &["basetsd""minwindef""uxtheme""windef""winnt"], &["dwmapi"]),
    ("dwrite", &["basetsd""d2d1""dcommon""guiddef""minwindef""unknwnbase""windef""winerror""wingdi""winnt"], &["dwrite"]),
    ("dwrite_1", &["basetsd""dcommon""dwrite""minwindef""winnt"], &[]),
    ("dwrite_2", &["basetsd""d3d9types""dcommon""dwrite""dwrite_1""minwindef""unknwnbase""winnt"], &[]),
    ("dwrite_3", &["basetsd""dcommon""dwrite""dwrite_1""dwrite_2""minwindef""unknwnbase""wingdi""winnt"], &[]),
    ("dxdiag", &[], &[]),
    ("dxfile", &[], &[]),
    ("dxgidebug", &["basetsd""guiddef""minwindef""unknwnbase""winnt"], &["dxgi"]),
    ("dxva2api", &["basetsd""d3d9""d3d9types""guiddef""minwindef""unknwnbase""windef""winnt"], &["dxva2"]),
    ("dxvahd", &["d3d9""d3d9types""guiddef""minwindef""unknwnbase""windef""winnt"], &["dxva2"]),
    ("eaptypes", &["guiddef""minwindef""winnt"], &[]),
    ("endpointvolume", &["basetsd""guiddef""minwindef""unknwnbase""winnt"], &[]),
    ("errhandlingapi", &["basetsd""minwindef""winnt"], &[yle='color:blue'>"kernel32"]),
    ("evntcons", &["basetsd""evntprov""evntrace""guiddef""minwindef""winnt"], &["advapi32"]),
    ("exdisp", &["basetsd""docobj""oaidl""ocidl""winnt""wtypes"], &[]),
    ("fibersapi", &["minwindef""winnt"], &["kernel32"]),
    ("fileapi", &["minwinbase""minwindef""winnt"], &['color:blue'>"kernel32"]),
    ("functiondiscoverykeys_devpkey", &["wtypes"], &[]),
    ("gl-gl", &[], &["opengl32"]),
    ("handleapi", &["minwindef""winnt"], &["kernel32"]),
    ("heapapi", &["basetsd""minwinbase""minwindef""winnt"], &[pan style='color:blue'>"kernel32"]),
    ("highlevelmonitorconfigurationapi", &["minwindef""physicalmonitorenumerationapi""winnt"], &["dxva2"]),
    ("http", &["guiddef""minwinbase""minwindef""sspi""winnt""ws2def"], &["httpapi"]),
    ("imm", &["minwindef""windef"], &["imm32"]),
    ("interlockedapi", &["minwindef""winnt"], &["kernel32"]),
    ("ioapiset", &["basetsd""minwinbase""minwindef""winnt"], &[<span style='color:blue'>"kernel32"]),
    ("ipexport", &["basetsd""in6addr""ntdef"], &[]),
    ("iphlpapi", &["basetsd""ifdef""ifmib""ipexport""ipmib""iprtrmib""iptypes""minwinbase""minwindef""ntdef""tcpestats""tcpmib""udpmib""ws2def""ws2ipdef"], &["iphlpapi"]),
    ("iptypes", &["basetsd""corecrt""guiddef""ifdef""ipifcons""minwindef""nldef""ntdef""ws2def"], &[]),
    ("jobapi", &["minwindef""winnt"], &["kernel32"]),
    ("jobapi2", &["basetsd""minwinbase""minwindef""ntdef""winnt"], &["kernel32"]),
    ("knownfolders", &[], &[]),
    ("ktmw32", &["guiddef""minwinbase""minwindef""winnt"], &[an style='color:blue'>"ktmw32"]),
    ("l2cmn", &["guiddef""minwindef""winnt"], &[]),
    ("libloaderapi", &["basetsd""minwindef""winnt"], &[e='color:blue'>"kernel32""user32"]),
    ("lmaccess", &["basetsd""lmcons""minwindef""winnt"], &[ style='color:blue'>"netapi32"]),
    ("lmalert", &["lmcons""minwindef""winnt"], &["netapi32"]),
    ("lmapibuf", &["lmcons""minwindef"], &["netapi32"]),
    ("lmat", &["basetsd""lmcons""minwindef""winnt"], &[le='color:blue'>"netapi32"]),
    ("lmdfs", &["guiddef""lmcons""minwindef""winnt"], &[yle='color:blue'>"netapi32"]),
    ("lmerrlog", &["minwindef""winnt"], &[]),
    ("lmjoin", &["lmcons""minwindef""wincrypt""winnt"], &[style='color:blue'>"netapi32"]),
    ("lmmsg", &["lmcons""minwindef""winnt"], &["netapi32"]),
    ("lmremutl", &["lmcons""minwindef""winnt"], &["netapi32"]),
    ("lmrepl", &["lmcons""minwindef""winnt"], &["netapi32"]),
    ("lmserver", &["guiddef""lmcons""minwindef""winnt""winsvc"], &["advapi32""netapi32"]),
    ("lmshare", &["basetsd""guiddef""lmcons""minwindef""winnt"], &["netapi32"]),
    ("lmstats", &["lmcons""minwindef""winnt"], &["netapi32"]),
    ("lmsvc", &["lmcons""minwindef""winnt"], &["netapi32"]),
    ("lmuse", &["lmcons""minwindef""winnt"], &["netapi32"]),
    ("lmwksta", &["lmcons""minwindef""winnt"], &["netapi32"]),
    ("lowlevelmonitorconfigurationapi", &["minwindef""physicalmonitorenumerationapi""winnt"], &["dxva2"]),
    ("lsalookup", &["guiddef""minwindef""ntdef""winnt"], &[ style='color:blue'>"advapi32"]),
    ("memoryapi", &["basetsd""minwinbase""minwindef""winnt"], &["kernel32"]),
    ("minschannel", &["guiddef""minwindef""wincrypt""winnt"], &[]),
    ("minwinbase", &["basetsd""minwindef""ntstatus""winnt"], &[]),
    ("mmdeviceapi", &["guiddef""minwindef""propidl""propsys""unknwnbase""winnt""wtypes"], &["mmdevapi"]),
    ("mmeapi", &["basetsd""imm""minwindef""mmsystem""winnt"], &["winmm"]),
    ("mmsystem", &["basetsd""minwindef""mmreg""winnt"], &[]),
    ("msaatext", &[], &[]),
    ("mscat", &["guiddef""minwindef""mssip""wincrypt""winnt"], &[]),
    ("mschapp", &["basetsd""minwindef""winnt"], &["advapi32"]),
    ("mssip", &["guiddef""minwindef""mscat""wincrypt""winnt"], &["crypt32"]),
    ("mswsock", &["minwinbase""minwindef""mswsockdef""winnt""winsock2""ws2def"], &["mswsock"]),
    ("namedpipeapi", &["minwinbase""minwindef""winnt"], &[tyle='color:blue'>"advapi32""kernel32"]),
    ("namespaceapi", &["minwinbase""minwindef""ntdef""winnt"], &["kernel32"]),
    ("nb30", &["minwindef""winnt"], &["netapi32"]),
    ("ncrypt", &["basetsd""bcrypt""minwindef""winnt"], &[tyle='color:blue'>"ncrypt"]),
    ("ntlsa", &["basetsd""guiddef""lsalookup""minwindef""ntdef""ntsecapi""subauth""winnt"], &["advapi32"]),
    ("ntsecapi", &["basetsd""guiddef""lsalookup""minwindef""ntdef""sspi""subauth""winnt"], &["advapi32"]),
    ("oaidl", &["basetsd""guiddef""minwindef""rpcndr""unknwnbase""winnt""wtypes""wtypesbase"], &[]),
    ("objbase", &["combaseapi""minwindef""winnt"], &['color:blue'>"ole32"]),
    ("objidl", &["basetsd""guiddef""minwindef""ntdef""objidlbase""unknwnbase""windef""winnt""wtypes""wtypesbase"], &[]),
    ("objidlbase", &["basetsd""guiddef""minwindef""unknwnbase""winnt""wtypesbase"], &[]),
    ("ocidl", &["guiddef""minwindef""ntdef""oaidl""unknwnbase""wtypes""wtypesbase"], &[]),
    ("ole2", &["minwindef""oleidl""windef""winnt"], &[e='color:blue'>"ole32"]),
    ("oleauto", &["basetsd""minwinbase""minwindef""oaidl""winnt""wtypes""wtypesbase"], &["oleaut32"]),
    ("olectl", &["winerror""winnt"], &[]),
    ("oleidl", &["minwindef""ntdef""objidl""unknwnbase""windef"], &[]),
    ("opmapi", &["basetsd""d3d9""d3d9types""dxva2api""guiddef""minwindef""unknwnbase""windef""winnt"], &["dxva2"]),
    ("pdh", &["basetsd""guiddef""minwindef""windef""winnt"], &["pdh"]),
    ("perflib", &["basetsd""guiddef""minwinbase""minwindef""winnt"], &["advapi32"]),
    ("physicalmonitorenumerationapi", &["d3d9""minwindef""windef""winnt"], &["dxva2"]),
    ("playsoundapi", &["minwindef""winnt"], &["winmm"]),
    ("portabledevice", &["basetsd""wtypes"], &[]),
    ("portabledeviceapi", &["guiddef""minwindef""objidlbase""portabledevicetypes""propkeydef""unknwnbase""winnt"], &[]),
    ("portabledevicetypes", &["guiddef""minwindef""propidl""propkeydef""propsys""unknwnbase""winnt""wtypes"], &[]),
    ("powerbase", &["minwindef""winnt""winuser"], &["powrprof"]),
    ("powersetting", &["guiddef""minwindef""winnt""winuser"], &["powrprof"]),
    ("powrprof", &["guiddef""minwindef""winnt""winreg"], &[ style='color:blue'>"powrprof"]),
    ("processenv", &["minwindef""winnt"], &["kernel32"]),
    ("processsnapshot", &["basetsd""minwindef""winnt"], &[tyle='color:blue'>"kernel32"]),
    ("processthreadsapi", &["basetsd""guiddef""minwinbase""minwindef""winnt"], &["advapi32""kernel32"]),
    ("processtopologyapi", &["minwindef""winnt"], &["kernel32"]),
    ("profileapi", &["minwindef""winnt"], &["kernel32"]),
    ("propidl", &["guiddef""minwindef""ntdef""oaidl""objidlbase""unknwnbase""wtypes""wtypesbase"], &["ole32"]),
    ("propkey", &["minwindef""ntdef""wtypes"], &[]),
    ("propkeydef", &["guiddef""wtypes"], &[]),
    ("propsys", &["minwindef""propidl""propkeydef""unknwnbase""winnt""wtypes"], &[]),
    ("prsht", &["basetsd""minwindef""windef""winnt""winuser"], &["comctl32"]),
    ("psapi", &["basetsd""minwindef""winnt"], &["kernel32""psapi"]),
    ("realtimeapiset", &["basetsd""minwindef""winnt"], &[yle='color:blue'>"kernel32"]),
    ("reason", &["minwindef"], &[]),
    ("restartmanager", &["minwindef""winnt"], &["rstrtmgr"]),
    ("restrictederrorinfo", &["unknwnbase""winnt""wtypes"], &[]),
    ("rmxfguid", &[], &[]),
    ("rtinfo", &["basetsd"], &[]),
    ("sapi", &["guiddef""minwindef""sapi53""unknwnbase""winnt"], &[]),
    ("sapi51", &["guiddef""minwindef""mmreg""oaidl""objidlbase""rpcndr""servprov""unknwnbase""windef""winnt""wtypes""wtypesbase"], &[]),
    ("sapi53", &["guiddef""minwindef""oaidl""sapi51""unknwnbase""urlmon""winnt""wtypes"], &[]),
    ("sapiddk", &["guiddef""minwindef""sapi""sapiddk51""unknwnbase""winnt"], &[]),
    ("sapiddk51", &["guiddef""minwindef""mmreg""oaidl""objidlbase""sapi""unknwnbase""windef""winnt"], &[]),
    ("schannel", &["guiddef""minwindef""wincrypt""windef""winnt"], &[]),
    ("securityappcontainer", &["minwindef""winnt"], &['color:blue'>"kernel32"]),
    ("securitybaseapi", &["guiddef""minwinbase""minwindef""winnt"], &["advapi32""kernel32"]),
    ("servprov", &["guiddef""unknwnbase""winnt"], &[]),
    ("setupapi", &["basetsd""commctrl""devpropdef""guiddef""minwindef""prsht""spapidef""windef""winnt""winreg"], &[>"setupapi"]),
    ("shellapi", &["basetsd""guiddef""minwinbase""minwindef""processthreadsapi""windef""winnt""winuser"], &["shell32""shlwapi"]),
    ("shellscalingapi", &["minwindef""windef""winnt"], &[yle='color:blue'>"shcore"]),
    ("shlobj", &["guiddef""minwinbase""minwindef""shtypes""windef""winnt"], &["shell32"]),
    ("shobjidl", &["guiddef""minwindef""propsys""shobjidl_core""shtypes""unknwnbase""windef""winnt"], &[]),
    ("shobjidl_core", &["commctrl""guiddef""minwinbase""minwindef""objidl""propkeydef""propsys""shtypes""unknwnbase""windef""winnt"], &[]),
    ("shtypes", &["guiddef""minwindef""winnt"], &[]),
    ("softpub", &[], &[]),
    ("spapidef", &["minwindef""winnt"], &[]),
    ("spellcheck", &["minwindef""ntdef""objidlbase""unknwnbase""winerror"], &[]),
    ("sporder", &["guiddef""minwindef"], &["sporder"]),
    ("sql", &["sqltypes"], &["odbc32"]),
    ("sqlext", &["sql""sqltypes"], &[]),
    ("sqltypes", &["basetsd""guiddef""windef"], &[]),
    ("sqlucode", &["sqltypes"], &["odbc32"]),
    ("stringapiset", &["minwindef""winnls""winnt"], &[='color:blue'>"kernel32"]),
    ("strmif", &["winnt"], &[]),
    ("subauth", &["minwindef""winnt"], &[]),
    ("synchapi", &["basetsd""minwinbase""minwindef""winnt"], &[<span style='color:blue'>"kernel32", "synchronization"]),
    ("sysinfoapi", &["basetsd""minwinbase""minwindef""winnt"], &["kernel32"]),
    ("systemtopologyapi", &["minwindef""winnt"], &["kernel32"]),
    ("taskschd", &["minwinbase""minwindef""oaidl""unknwnbase""winnt""wtypes"], &[]),
    ("textstor", &[], &[]),
    ("threadpoolapiset", &["basetsd""minwinbase""minwindef""winnt"], &["kernel32"]),
    ("threadpoollegacyapiset", &["minwinbase""minwindef""winnt"], &["kernel32"]),
    ("timeapi", &["minwindef""mmsystem"], &["winmm"]),
    ("timezoneapi", &["minwinbase""minwindef""winnt"], &[yle='color:blue'>"advapi32""kernel32"]),
    ("tlhelp32", &["basetsd""minwindef""winnt"], &["kernel32"]),
    ("unknwnbase", &["guiddef""minwindef""winnt"], &[]),
    ("urlhist", &["docobj""guiddef""minwindef""unknwnbase""winnt""wtypesbase"], &[]),
    ("urlmon", &["minwindef""unknwnbase""winnt"], &[]),
    ("userenv", &["minwindef""winnt""winreg"], &["userenv"]),
    ("usp10", &["minwindef""ntdef""windef""winerror""wingdi""winnt"], &["usp10"]),
    ("utilapiset", &["minwindef""ntdef"], &["kernel32"]),
    ("uxtheme", &["commctrl""minwindef""windef""wingdi""winnt"], &["uxtheme"]),
    ("vsbackup", &["guiddef""minwindef""unknwnbase""vss""vswriter""winnt""wtypes"], &["vssapi"]),
    ("vss", &["guiddef""minwindef""unknwnbase""winnt"], &[]),
    ("vsserror", &["winnt"], &[]),
    ("vswriter", &["minwindef""unknwnbase""vss""winnt""wtypes"], &[]),
    ("wbemads", &["oaidl""wbemdisp""winerror""wtypes"], &[]),
    ("wbemcli", &["minwindef""oaidl""rpcndr""unknwnbase""winerror""winnt""wtypes"], &[]),
    ("wbemdisp", &["oaidl""unknwnbase""winerror""wtypes"], &[]),
    ("wbemprov", &["minwindef""oaidl""unknwnbase""wbemcli""winerror""winnt""wtypes"], &[]),
    ("wbemtran", &["guiddef""minwindef""unknwnbase""wbemcli""winerror""winnt""wtypes"], &[]),
    ("wct", &["basetsd""guiddef""minwindef""winnt"], &[le='color:blue'>"advapi32"]),
    ("werapi", &["minwindef""winnt"], &["kernel32""wer"]),
    ("winbase", &["basetsd""cfgmgr32""fileapi""guiddef""libloaderapi""minwinbase""minwindef""processthreadsapi""vadefs""windef""winnt"], &["kernel32"]),
    ("wincodec", &["basetsd""d2d1""d2d1_1""dcommon""dxgiformat""dxgitype""guiddef""minwindef""ntdef""objidlbase""ocidl""propidl""unknwnbase""windef""winerror""winnt"], &["windowscodecs"]),
    ("wincodecsdk", &["guiddef""minwindef""oaidl""objidl""objidlbase""ocidl""propidl""unknwnbase""wincodec""winnt""wtypes"], &[='color:blue'>"ole32""oleaut32""windowscodecs"]),
    ("wincon", &["minwinbase""minwindef""wincontypes""windef""wingdi""winnt"], &["kernel32"]),
    ("wincontypes", &["minwindef""winnt"], &[]),
    ("wincred", &["minwindef""sspi""windef""winnt"], &[le='color:blue'>"advapi32""credui"]),
    ("wincrypt", &["basetsd""bcrypt""guiddef""minwinbase""minwindef""ncrypt""vcruntime""winnt"], &["advapi32""crypt32""cryptnet"]),
    ("windowsceip", &["minwindef"], &["kernel32"]),
    ("winefs", &["basetsd""minwinbase""minwindef""wincrypt""winnt"], &["advapi32"]),
    ("winevt", &["basetsd""guiddef""minwinbase""minwindef""vcruntime""winnt"], &["wevtapi"]),
    ("wingdi", &["basetsd""minwindef""windef""winnt"], &[tyle='color:blue'>"gdi32""msimg32""opengl32""winspool"]),
    ("winhttp", &["basetsd""minwinbase""minwindef""winnt"], &[pan style='color:blue'>"winhttp"]),
    ("wininet", &["basetsd""minwinbase""minwindef""ntdef""windef""winineti""winnt"], &["wininet"]),
    ("winineti", &["minwindef"], &[]),
    ("winioctl", &["basetsd""devpropdef""guiddef""minwindef""winnt"], &[]),
    ("winnetwk", &["basetsd""minwindef""windef""winerror""winnt"], &["mpr"]),
    ("winnls", &["basetsd""guiddef""minwinbase""minwindef""winnt"], &["kernel32"]),
    ("winnt", &["basetsd""excpt""guiddef""ktmtypes""minwindef""ntdef""vcruntime"], &["kernel32"]),
    ("winreg", &["basetsd""minwinbase""minwindef""reason""winnt"], &["advapi32"]),
    ("winsafer", &["basetsd""guiddef""minwindef""wincrypt""windef""winnt"], &["advapi32"]),
    ("winscard", &["basetsd""guiddef""minwindef""rpcdce""windef""winnt""winsmcrd"], &["winscard"]),
    ("winsmcrd", &["minwindef""winioctl"], &[]),
    ("winsock2", &["basetsd""guiddef""inaddr""minwinbase""minwindef""qos""winbase""windef""winerror""winnt""ws2def""wtypesbase"], &[ style='color:blue'>"ws2_32"]),
    ("winspool", &["guiddef""minwinbase""minwindef""vcruntime""windef""winerror""wingdi""winnt"], &["winspool"]),
    ("winsvc", &["minwindef""winnt"], &["advapi32"]),
    ("wintrust", &["guiddef""minwindef""ntdef""wincrypt""windef"], &["wintrust"]),
    ("winusb", &["minwinbase""minwindef""usb""usbspec""winnt""winusbio"], &["winusb"]),
    ("winuser", &["basetsd""guiddef""limits""minwinbase""minwindef""vadefs""windef""wingdi""winnt"], &["user32"]),
    ("winver", &["minwindef""winnt"], &["kernel32""version"]),
    ("wlanapi", &["devpropdef""eaptypes""guiddef""l2cmn""minwindef""windef""windot11""winnt""wlantypes"], &["wlanapi"]),
    ("wlanihv", &["basetsd""dot1x""eaptypes""guiddef""l2cmn""minwindef""windot11""winnt""winuser""wlanihvtypes""wlantypes""wlclient"], &[]),
    ("wlanihvtypes", &["eaptypes""guiddef""minwindef""winnt""wlantypes"], &[]),
    ("wlclient", &["guiddef""minwindef""windot11""winnt"], &[]),
    ("wow64apiset", &["minwindef""winnt"], &["kernel32"]),
    ("wpdmtpextensions", &["wtypes"], &[]),
    ("ws2bth", &["bthdef""bthsdpdef""guiddef""minwindef""winnt""ws2def"], &[]),
    ("ws2spi", &["basetsd""guiddef""minwindef""vcruntime""windef""winnt""winsock2""ws2def""wtypesbase"], &["ws2_32"]),
    ("ws2tcpip", &["guiddef""minwinbase""minwindef""mstcpip""vcruntime""winerror""winnt""winsock2""ws2def""wtypesbase"], &["fwpuclnt""ws2_32"]),
    ("wtsapi32", &["minwindef""ntdef"], &[>"wtsapi32"]),
    ("xinput", &["guiddef""minwindef""winnt"], &["xinput"]),
    // vc
    ("excpt", &[], &[]),
    ("limits", &[], &[]),
    ("vadefs", &[], &[]),
    ("vcruntime", &[], &[]),
    // winrt
    ("activation", &["inspectable""winnt"], &[]),
    ("hstring", &["winnt"], &[]),
    ("inspectable", &["guiddef""hstring""minwindef""unknwnbase""winnt"], &[]),
    ("roapi", &["activation""basetsd""guiddef""hstring""inspectable""objidl""winnt"], &["runtimeobject"]),
    ("robuffer", &["objidl""winnt"], &["runtimeobject"]),
    ("roerrorapi", &["basetsd""hstring""minwindef""restrictederrorinfo""unknwnbase""winnt"], &["runtimeobject"]),
    ("winstring", &["basetsd""hstring""minwindef""winnt"], &[an style='color:blue'>"runtimeobject"]),
];
struct Header {
    required: bool,
    included: Cell<bool>,
    dependencies: &'static [&'static str],
    libraries: &'static [&'static str],
}
struct Graph(HashMap<&'static str, Header>);
impl Graph {
    fn generate() -> Graph {
        Graph(DATA.iter().map(|&(name, dependencies, libraries)| {
            let header = Header {
                required: false,
                included: Cell::new(false),
                dependencies: dependencies,
                libraries: libraries,
            };
            (name, header)
        }).collect())
    }
    fn identify_required(&mut self) {
        for (name, header) in &mut self.0 {
            if let Ok(_) = var(&format!("CARGO_FEATURE_{}", name.to_uppercase())) {
                header.required = true;
                header.included.set(true);
            }
        }
    }
    fn check_everything(&self) {
        if let Ok(_) = var("CARGO_FEATURE_EVERYTHING") {
            for (_, header) in &self.0 {
                header.included.set(true);
            }
        }
    }
    fn resolve_dependencies(&self) {
        let mut done = false;
        while !done {
            done = true;
            for (_, header) in &self.0 {
                if header.included.get() {
                    for dep in header.dependencies {
                        let dep = &self.0.get(dep).expect(dep);
                        if !dep.included.get() {
                            done = false;
                            dep.included.set(true);
                        }
                    }
                }
            }
        }
    }
    fn emit_features(&self) {
        for (name, header) in &self.0 {
            if header.included.get() && !header.required {
                println!("cargo:rustc-cfg=feature=\"{}\"", name);
            }
        }
    }
    fn emit_libraries(&self) {
        let mut libs = self.0.iter().filter(|&(_, header)| {
            header.included.get()
        }).flat_map(|(_, header)| {
            header.libraries.iter()
        }).collect::<Vec<_>>();
        libs.sort();
        libs.dedup();
        // FIXME Temporary hacks until build script is redesigned.
        libs.retain(|&&lib| match &*var("TARGET").unwrap() {
            "aarch64-pc-windows-msvc" | "aarch64-uwp-windows-msvc" | "thumbv7a-pc-windows-msvc" => {
                if lib == "opengl32" { false }
                else { true }
            },
            _ => true,
        });
        let prefix = library_prefix();
        let kind = library_kind();
        for lib in libs {
            println!("cargo:rustc-link-lib={}={}{}", kind, prefix, lib);
        }
    }
}
fn library_prefix() -> &'static str {
    if var("TARGET").map(|target|
        target == "i686-pc-windows-gnu" || target == "x86_64-pc-windows-gnu"
    ).unwrap_or(false) && var("WINAPI_NO_BUNDLED_LIBRARIES").is_err() {
        "winapi_"
    } else {
        ""
    }
}
fn library_kind() -> &'static str {
    if var("WINAPI_STATIC_NOBUNDLE").is_ok() {
        "static-nobundle"
    } else {
        "dylib"
    }
}
fn try_everything() {
    let mut graph = Graph::generate();
    graph.identify_required();
    graph.check_everything();
    graph.resolve_dependencies();
    graph.emit_features();
    graph.emit_libraries();
}
fn main() {
    println!("cargo:rerun-if-changed=build.rs");
    println!("cargo:rerun-if-env-changed=WINAPI_NO_BUNDLED_LIBRARIES");
    println!("cargo:rerun-if-env-changed=WINAPI_STATIC_NOBUNDLE");
    let target = var("TARGET").unwrap();
    let target: Vec<_> = target.split('-').collect();
    if target.get(2) == Some(&"windows") {
        try_everything();
    }
}

Messung V0.5 in Prozent
C=98 H=98 G=97

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet am  2026-06-18) ¤

*© Formatika GbR, Deutschland






Normalansicht

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.