Re: CMake build doesn't define 'WINNT', but apr headers check for it anyway
On Thu, Dec 5, 2013 at 9:13 AM, Bert Huijben b...@qqmail.nl wrote: Hi, On Windows apr_arch_misc.h checks for the ‘WINNT’ define, which was unconditionally defined on Windows before the CMake build. But now it is no longer defined. This enables some additional dynamic load operations that could fail in some cases (See “Race condition in APR_DECLARE_LATE_DLL_FUNC() implementation”). There's also a potential for other breakage, e.g., by not using Unicode FS operations. Even libaprutil.rc looks for WINNT. I'm not sure that it can find it, though; I guess that was copied from libapr.rc without creating a way to define it. We could fix this by defining WINNT, but we might as well just remove the check as we don’t support systems older than NT 4.0 anyway.. Bert I thought we didn't either, but the support was never removed from the traditional Windows build system or from the code. -- Born in Roswell... married an alien... http://emptyhammock.com/
Re: CMake build doesn't define 'WINNT', but apr headers check for it anyway
On Thu, Dec 5, 2013 at 9:13 AM, Bert Huijben b...@qqmail.nl wrote: Hi, On Windows apr_arch_misc.h checks for the ‘WINNT’ define, which was unconditionally defined on Windows before the CMake build. But now it is no longer defined. This enables some additional dynamic load operations that could fail in some cases (See “Race condition in APR_DECLARE_LATE_DLL_FUNC() implementation”). We could fix this by defining WINNT, but we might as well just remove the check as we don’t support systems older than NT 4.0 anyway.. Bert Thanks! Visual Studio project file maintainers, can I just remove the /D WINNT everywhere? I hate to leave that dangling. (Obviously the C code will be changed to stop referencing it too :) ) -- Born in Roswell... married an alien... http://emptyhammock.com/
Re: CMake build doesn't define 'WINNT', but apr headers check for it anyway
G. On 12/5/2013 9:23 AM, Gregg Smith wrote: On 12/5/2013 6:48 AM, Jeff Trawick wrote: On Thu, Dec 5, 2013 at 9:13 AM, Bert Huijben b...@qqmail.nl mailto:b...@qqmail.nl wrote: Hi, On Windows apr_arch_misc.h checks for the ‘WINNT’ define, which was unconditionally defined on Windows before the CMake build. But now it is no longer defined. This enables some additional dynamic load operations that could fail in some cases (See “Race condition in APR_DECLARE_LATE_DLL_FUNC() implementation”). We could fix this by defining WINNT, but we might as well just remove the check as we don’t support systems older than NT 4.0 anyway.. Bert Thanks! Visual Studio project file maintainers, can I just remove the /D WINNT everywhere? I hate to leave that dangling. (Obviously the C code will be changed to stop referencing it too :) ) There's no reason to support 9x, we just want all the WINNT code. Once all the 9x stuff is gone, we can drop the define.
Re: CMake build doesn't define 'WINNT', but apr headers check for it anyway
On Thu, 05 Dec 2013 09:24:24 -0800 Gregg Smith g...@gknw.net wrote: Once all the 9x stuff is gone, we can drop the define. Precisely. And that would be a version-major/minor change, imho. In the interim, simply -D (ugh... /D it) WINNT. Problem solved. Leave it there for someone to discover 7 years from now and ask why an unused macro has been defined.