os_win32.h has these two defines #define S_IXGRP S_IXUSR #define S_IXOTH S_IXUSR
They are used only here char FileInfo::typeIndicator() const { ... if (S_ISREG(buf_.st_mode) && (buf_.st_mode & (S_IEXEC | S_IXGRP| S_IXOTH))) .... } where S_IEXEC is a synonym for S_IXUSR and S_IXUSR 00100 owner has execute permission S_IXGRP 00010 group has execute permission S_IXOTH 00001 others have execute permission What should we do to enable this to work on Windows? configure tests to generate HAVE_S_IXGRP, HAVE_S_IXOTH, followed by this block of code: #ifndef HAVE_S_IXGRP #define S_IXGRP S_IXUSR #endif #ifndef HAVE_S_IXOTH #define S_IXOTH S_IXUSR #endif Where should this block go? In FileInfo.C itself (there's lots of similar, nasty preprocessor stuff going on in FileInfo.C) or appended to the bottom of config.h itself? (The AH_BOTTOM stuff in configure.ac) Or given that there's already so much preprocessor stuff in FileInfo.C, perhaps it would be simplest to just have this in FileInfo.C. No configure stuff needed at all. #ifndef S_IXGRP #define S_IXGRP S_IXUSR #endif #ifndef S_IXOTH #define S_IXOTH S_IXUSR #endif Thoughts on how best to proceed? -- Angus