Bruce Korb
2015-05-19 23:23:10 UTC
Hi Bruce, Eric,
Excuse me for writing to you directly... Is there a mailing list for sharutils
discussion? I couldn't really find one...
"bug-gnu-***@gnu.org"Excuse me for writing to you directly... Is there a mailing list for sharutils
discussion? I couldn't really find one...
But since I don't carefully monitor it, you are better off cc-ing me directly.
http://lists.gnu.org/archive/html/info-gnu/2015-02/msg00002.html
http://www.gnu.org/software/sharutils/
I'm confused as to where this is coming from. Anyway, after grubbing around a bit,
https://www.sourceware.org/bugzilla/show_bug.cgi?id=11312
wherein our glibc maintainer suggested that all adaptations belong in Windowsso the One True Libc Source can be as absolutely efficient as possible. *sigh*.
1) Turn the popen support for binary mode into a runtime check and fallback to
using non-binary mode if it fails as unsupported.
Just use an #if defined(_WIN32) || defined(_WIN64), yes?using non-binary mode if it fails as unsupported.
2) Use a configure check to detect whether the host OS *requires* binary mode
for that particular popen call. It seems the patch was introduced for
cygwin, unfortunately I don't really have access to a cygwin machine to
check whether that makes a difference and to propose a check here. In the
that's a possibility?
I have no idea. I don't have access to very many platforms.for that particular popen call. It seems the patch was introduced for
cygwin, unfortunately I don't really have access to a cygwin machine to
check whether that makes a difference and to propose a check here. In the
that's a possibility?
3) If we keep a configure check that possibly requires running a program
(either current case or proposal #2), then introduce an autoconf cache
variable for it, so that at least it is possible to override the check by
passing something like gl_cv_popen_supports_binary=yes in the ./configure
command line. Also, ideally, use the third case of AC_RUN_IFELSE which is
triggered when cross-compiling to default it to something sane (I'd say "no"
which is fine as long as someone cross-compiling for cygwin can still
override it, perhaps it's possible to use some config.guess magic to detect
cygwin and default it differently there.)
Either #3 or a variation on #1 that goes to the extra somersaults IFF the target(either current case or proposal #2), then introduce an autoconf cache
variable for it, so that at least it is possible to override the check by
passing something like gl_cv_popen_supports_binary=yes in the ./configure
command line. Also, ideally, use the third case of AC_RUN_IFELSE which is
triggered when cross-compiling to default it to something sane (I'd say "no"
which is fine as long as someone cross-compiling for cygwin can still
override it, perhaps it's possible to use some config.guess magic to detect
cygwin and default it differently there.)
is a Windows platform. I think we can pretty well agree that we're only talking
Windows here.