|
1 dnl This Source Code Form is subject to the terms of the Mozilla Public |
|
2 dnl License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 dnl file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 dnl Identify which version of the SDK we're building with |
|
6 dnl Windows Server 2008 and newer SDKs have WinSDKVer.h, get the version |
|
7 dnl from there |
|
8 AC_DEFUN([MOZ_FIND_WINSDK_VERSION], [ |
|
9 MOZ_CHECK_HEADERS([winsdkver.h]) |
|
10 if test "$ac_cv_header_winsdkver_h" = "yes"; then |
|
11 dnl Get the highest _WIN32_WINNT and NTDDI versions supported |
|
12 dnl Take the higher of the two |
|
13 dnl This is done because the Windows 7 beta SDK reports its |
|
14 dnl NTDDI_MAXVER to be 0x06000100 instead of 0x06010000, as it should |
|
15 AC_CACHE_CHECK(for highest Windows version supported by this SDK, |
|
16 ac_cv_winsdk_maxver, |
|
17 [cat > conftest.h <<EOF |
|
18 #include <winsdkver.h> |
|
19 #include <sdkddkver.h> |
|
20 |
|
21 #if (NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT_MAXVER) > NTDDI_MAXVER) |
|
22 #define WINSDK_MAXVER NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT_MAXVER) |
|
23 #else |
|
24 #define WINSDK_MAXVER NTDDI_MAXVER |
|
25 #endif |
|
26 |
|
27 WINSDK_MAXVER |
|
28 EOF |
|
29 ac_cv_winsdk_maxver=`$CPP conftest.h 2>/dev/null | tail -n1` |
|
30 rm -f conftest.h |
|
31 ]) |
|
32 MOZ_WINSDK_MAXVER=${ac_cv_winsdk_maxver} |
|
33 else |
|
34 dnl Any SDK which doesn't have WinSDKVer.h is too old. |
|
35 AC_MSG_ERROR([Your SDK does not have WinSDKVer.h. It is probably too old. Please upgrade to a newer SDK or try running the Windows SDK Configuration Tool and selecting a newer SDK. See https://developer.mozilla.org/En/Windows_SDK_versions for more details on fixing this.]) |
|
36 fi |
|
37 ]) |