Ryan Malloy a7f62e5d7e Add Silicon Labs CP210x manufacturing library source
- Library source from AN721SW (cp210xmanufacturing_1.0.tar.gz)
- Manufacturing tool source (cp210xsmt)
- Builds 64-bit shared library with: make LIB_ARCH=64
- Datasheets and app notes in docs/
2026-01-30 10:31:39 -07:00

89 lines
3.2 KiB
C

/*++
VER_LEGALCOPYRIGHT_STR
Module Name:
silabs_sdkddkversion.h
Abstract:
A top-level, across all repos, authoritative, Master include file for versioning Windows SDK/DDK.
Environment:
User or kernel mode
--*/
//
#if (_MSC_VER > 1000)
#pragma once
#endif
#ifndef HOST_COMMON_INCLUDE_SILABS_SDKDDKVERSION_H_INCLUDED_BVHHTNCO7E
#define HOST_COMMON_INCLUDE_SILABS_SDKDDKVERSION_H_INCLUDED_BVHHTNCO7E
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
// "If you define NTDDI_VERSION, you must also define _WIN32_WINNT." -- MSDN
#include <WinSDKVer.h>
#if ! defined(_WIN32_WINNT)
#if defined(_M_ARM)
#define _WIN32_WINNT _WIN32_WINNT_WIN10
#else
#define _WIN32_WINNT _WIN32_WINNT_WIN7
#endif
#endif // ! defined(_WIN32_WINNT)
#if ! defined(WINVER)
#define WINVER _WIN32_WINNT
#endif // ! defined(WINVER)
#if ! defined(NTDDI_VERSION)
#if defined(_M_ARM)
#define NTDDI_VERSION NTDDI_WIN10
#else
#define NTDDI_VERSION NTDDI_WIN7
#endif
#endif // ! defined(NTDDI_VERSION)
#if WINVER != _WIN32_WINNT
#error "Unexpected: WINVER and _WIN32_WINNT expected to be the same"
#endif // defined(NTDDI_VERSION) && ! defined(_WIN32_WINNT)
// "If you define NTDDI_VERSION, you must also define _WIN32_WINNT." -- MSDN
#if defined(NTDDI_VERSION) && ! defined(_WIN32_WINNT)
#error "If you define NTDDI_VERSION, you must also define _WIN32_WINNT."
#endif // defined(NTDDI_VERSION) && ! defined(_WIN32_WINNT)
#include <SdkDdkVer.h>
#include <windows.h>
// On x86 and x64, Windows 7 is the minimum target operating system.
// Note: For historical reasons, x64 is defined as AMD64, not to be confused with ARM64 :(
// _WIN32_WINNT and WINVER == _WIN32_WINNT_WIN7; NTDDI_VERSION == NTDDI_WIN7
// On ARM, Windows 10 is the minimum target operating system
// _WIN32_WINNT and WINVER == _WIN32_WINNT_WIN10; NTDDI_VERSION == NTDDI_WIN10
#if defined(i386) || defined(_X86_) || defined(AMD64) || defined(_AMD64_) || defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64)
#if ! ((_WIN32_WINNT == _WIN32_WINNT_WIN7) && (WINVER == _WIN32_WINNT_WIN7))
//#error "On x86 and x64, Windows 7 is the minimum target operating system"
#pragma message("Fix me: On x86 and x64, Windows 7 is the minimum target operating system")
#endif // ! ((_WIN32_WINNT == _WIN32_WINNT_WIN7) && (WINVER == _WIN32_WINNT_WIN7))
#if NTDDI_VERSION != NTDDI_WIN7
//#error "On x86 and x64, Windows 7 is the minimum target operating system"
#pragma message("Fix me: On x86 and x64, Windows 7 is the minimum target operating system")
#endif // NTDDI_VERSION != NTDDI_WIN7
#elif defined(ARM) || defined(_ARM_) || defined(ARM64) || defined(_ARM64_) || defined(_M_ARM)
#if (_WIN32_WINNT != _WIN32_WINNT_WIN10) && (WINVER != _WIN32_WINNT_WIN10)
#error "On ARM, Windows 10 is the minimum target operating system"
#endif // (_WIN32_WINNT != _WIN32_WINNT_WIN10) && (WINVER != _WIN32_WINNT_WIN10)
#if NTDDI_VERSION != NTDDI_WIN10
#error "On ARM, Windows 10 is the minimum target operating system"
#endif // NTDDI_VERSION != NTDDI_WIN10
#else
#error "Unexpected/unhandled CPU architecture"
#endif
#endif // !defined(HOST_COMMON_INCLUDE_SILABS_SDKDDKVERSION_H_INCLUDED_BVHHTNCO7E)