Re: CMake build doesn't define 'WINNT', but apr headers check for it anyway

2014-01-16 Thread Jeff Trawick
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

2013-12-05 Thread Jeff Trawick
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

2013-12-05 Thread Gregg Smith

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

2013-12-05 Thread William A. Rowe Jr.
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.