Alex Burger
2009-04-27 01:11:09 UTC
For the binary release of 5.5 I would like to use Microsoft Visual C++
2008 instead of MSVC 6. The reasons for this are:
1) We can provide both 32-bit and 64-bit binaries. It should be
possible with MSVC 6, but I have never tried it.
2) The EULA for MSVC 2008 allows the distribution of the required DLLs
(MSVCR90.DLL etc). This used to be an issue with MSVC 2002 although it
was probably just a misunderstanding of the EULA.
3) MSVC 6 is missing _strtoui64 (strtoull) which is needed for
pass/pass_persist integer64 and counter64. _strtoui64 was introduced in
MSVC 2002 (7.x).
4) I don't think we need to support Windows NT anymore and we certainly
don't need to support Windows 9x. The MSVC 2008 DLLs support Windows
2000 SP4, 2003, XP and Vista.
For #2, we can either distribute the Microsoft DLLs (1.4Meg) or require
that the user install the 'Microsoft Visual C++ 2008 Redistributable
Package' from the Microsoft web site. It's probably easier to just
include the DLLs.
If we want to continue with support for MSVC 6 then #3 needs to be fixed
although I don't think there is much need to support it in 5.5 or
higher. Reasons for not supporting MSVC 6 are:
1) It's old - it came out in 1998 (gcc 2.x days)
2) #3 above
3) The latest Platform SDKs require MSVC 2005 SP1 or higher
4) MSVC 2008 Express is free from Microsoft
I'd also like to remove support for compiling without the SDK. The SDK
is free to download and all the newer MSVC's include it so there is
really no reason to be compiling without it. The SDK is needed for
winExtDll and many of the mibII files. All Windows binaries I have
created in the past have been compiled with the SDK.
I don't plan on changing anything in 5.4.
Anyone have any concerns?
Alex
2008 instead of MSVC 6. The reasons for this are:
1) We can provide both 32-bit and 64-bit binaries. It should be
possible with MSVC 6, but I have never tried it.
2) The EULA for MSVC 2008 allows the distribution of the required DLLs
(MSVCR90.DLL etc). This used to be an issue with MSVC 2002 although it
was probably just a misunderstanding of the EULA.
3) MSVC 6 is missing _strtoui64 (strtoull) which is needed for
pass/pass_persist integer64 and counter64. _strtoui64 was introduced in
MSVC 2002 (7.x).
4) I don't think we need to support Windows NT anymore and we certainly
don't need to support Windows 9x. The MSVC 2008 DLLs support Windows
2000 SP4, 2003, XP and Vista.
For #2, we can either distribute the Microsoft DLLs (1.4Meg) or require
that the user install the 'Microsoft Visual C++ 2008 Redistributable
Package' from the Microsoft web site. It's probably easier to just
include the DLLs.
If we want to continue with support for MSVC 6 then #3 needs to be fixed
although I don't think there is much need to support it in 5.5 or
higher. Reasons for not supporting MSVC 6 are:
1) It's old - it came out in 1998 (gcc 2.x days)
2) #3 above
3) The latest Platform SDKs require MSVC 2005 SP1 or higher
4) MSVC 2008 Express is free from Microsoft
I'd also like to remove support for compiling without the SDK. The SDK
is free to download and all the newer MSVC's include it so there is
really no reason to be compiling without it. The SDK is needed for
winExtDll and many of the mibII files. All Windows binaries I have
created in the past have been compiled with the SDK.
I don't plan on changing anything in 5.4.
Anyone have any concerns?
Alex