Loading docs/INSTALL +42 −12 Original line number Diff line number Diff line Loading @@ -249,19 +249,49 @@ Win32 MSVC 6 caveats -------------- If you use MSVC 6 it is required that you use the MS PSDK: If you use MSVC 6 it is required that you use the February 2003 edition PSDK: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm The headers and libs provided with MSVC 6 are now more than 10 years old and not sufficient for a build of libcurl / curl with common features! Without the PSDK you will run into these issues: - LDAPv3 is not supported --> breaks compilation - IPv6 support is incomplete --> breaks compilation - socklen_t type is missing --> breaks compilation If you really need to compile without PSDK then you can workaround these issues by disabling LDAP and IPv6 support, and adding a line: typedef int socklen_t; to the winsock2.h header. This is however not recommended, and you should use the PSDK whenever possible! Building any software with MSVC 6 without having PSDK installed is just asking for trouble down the road once you have released it, you might notice the problems in the first corner or ten miles ahead, depending mostly on your choice of static vs dynamic runtime and third party libraries. Anyone using software built in such way will at some point regret having done so. When someone uses MSVC 6 without PSDK he is using a compiler back from 1998. If the compiler has been updated with the installation of a service pack as those mentioned in http://support.microsoft.com/kb/194022 the compiler can be safely used to read source code, translate and make it object code. But, even with the service packs mentioned above installed, the resulting software generated in such an environment will be using outdated system header files and libraries with bugs and security issues which have already been addressed and fixed long time ago. In order to make use of the updated system headers and fixed libraries for MSVC 6, it is required that 'Platform SDK', PSDK from now onwards, is installed. The specific PSDK that must be installed for MSVC 6 is the February 2003 edition, which is the latest one supporting the MSVC 6 compiler, this PSDK is also known as 'Windows Server 2003 PSDK' and can be downloaded from http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm So, building curl and libcurl with MSVC 6 without PSDK is absolutely discouraged for the benefit of anyone using software built in such environment. And it will not be supported in any way, as we could just be hunting bugs which have already been fixed way back in 2003. When building with MSVC 6 we attempt to detect if PSDK is not being used, and if this is the case the build process will fail hard with an error message stating that the February 2003 PSDK is required. This is done to protect the unsuspecting and avoid PEBKAC issues. Additionally it might happen that a die hard MSVC hacker still wants to build curl and libcurl with MSVC 6 without PSDK installed, even knowing that this is a highly discouraged and unsupported build environment. In this case the brave of heart will be able to build in such an environment with the requisite of defining preprocessor symbol ALLOW_MSVC6_WITHOUT_PSDK in lib/config-win32.h and knowing that LDAP and IPv6 support will be missing. MSVC from command line ---------------------- Loading Loading
docs/INSTALL +42 −12 Original line number Diff line number Diff line Loading @@ -249,19 +249,49 @@ Win32 MSVC 6 caveats -------------- If you use MSVC 6 it is required that you use the MS PSDK: If you use MSVC 6 it is required that you use the February 2003 edition PSDK: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm The headers and libs provided with MSVC 6 are now more than 10 years old and not sufficient for a build of libcurl / curl with common features! Without the PSDK you will run into these issues: - LDAPv3 is not supported --> breaks compilation - IPv6 support is incomplete --> breaks compilation - socklen_t type is missing --> breaks compilation If you really need to compile without PSDK then you can workaround these issues by disabling LDAP and IPv6 support, and adding a line: typedef int socklen_t; to the winsock2.h header. This is however not recommended, and you should use the PSDK whenever possible! Building any software with MSVC 6 without having PSDK installed is just asking for trouble down the road once you have released it, you might notice the problems in the first corner or ten miles ahead, depending mostly on your choice of static vs dynamic runtime and third party libraries. Anyone using software built in such way will at some point regret having done so. When someone uses MSVC 6 without PSDK he is using a compiler back from 1998. If the compiler has been updated with the installation of a service pack as those mentioned in http://support.microsoft.com/kb/194022 the compiler can be safely used to read source code, translate and make it object code. But, even with the service packs mentioned above installed, the resulting software generated in such an environment will be using outdated system header files and libraries with bugs and security issues which have already been addressed and fixed long time ago. In order to make use of the updated system headers and fixed libraries for MSVC 6, it is required that 'Platform SDK', PSDK from now onwards, is installed. The specific PSDK that must be installed for MSVC 6 is the February 2003 edition, which is the latest one supporting the MSVC 6 compiler, this PSDK is also known as 'Windows Server 2003 PSDK' and can be downloaded from http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm So, building curl and libcurl with MSVC 6 without PSDK is absolutely discouraged for the benefit of anyone using software built in such environment. And it will not be supported in any way, as we could just be hunting bugs which have already been fixed way back in 2003. When building with MSVC 6 we attempt to detect if PSDK is not being used, and if this is the case the build process will fail hard with an error message stating that the February 2003 PSDK is required. This is done to protect the unsuspecting and avoid PEBKAC issues. Additionally it might happen that a die hard MSVC hacker still wants to build curl and libcurl with MSVC 6 without PSDK installed, even knowing that this is a highly discouraged and unsupported build environment. In this case the brave of heart will be able to build in such an environment with the requisite of defining preprocessor symbol ALLOW_MSVC6_WITHOUT_PSDK in lib/config-win32.h and knowing that LDAP and IPv6 support will be missing. MSVC from command line ---------------------- Loading