Boris,
Thanks for your feedback. My primary purpose was to make sure that you
made this choice with a purpose.
More...
On Feb 25, 2008, at 1:27 PM, Boris Kolpackov wrote:
Hi James,
James Berry <[EMAIL PROTECTED]> writes:
With this change you've made Mac prefer using a sockets based
netaccessor over either curl or the macosnative netaccessor, either
of
which I'd think is more functional than sockets.
Thanks for reviewing the changes. The idea of by default preferring
socket net accessor over curl on all platforms is that we don't want
to silently introduce extra dependencies for Xerces-C++ library just
because the user happened to have libcurl installed. Users who want
extra functionality of curl can always request it explicitly.
To me, the big difference between socket and curl is that curl should
give https support out of the box, while socket won't. I'm not sure
how big a deal this is to our common user.
On Mac OS X, libcurl is present in the base system going back 2-3
major releases, so in this case no "extra" dependencies are dragged in.
Now as for why not preferring cfurl over socket on OS X (with
neither adding any extra dependencies, ASAIK), is that I got an
impression that the OS X-specific APIs that are used are deprecated
and/or not safe in certain circumstances (see, for example, the
recent "Xerces crashes after fork on OS X 10.5" thread on c-dev).
I am by no means a Mac OS X expert but I think it makes sense to
move away from OS X-specific APIs to POSIX unless there are
significant advantages in using these APIs. Are there any such
advantages?
For those reasons, indeed, I definitely prefer the curl netaccessor on
Mac OS X (which had higher priority than cfurl before your change, and
still does now) rather than cfurl (which may still have a use on older
systems where curl is not present).
Okay: given that background, I'm fine with whatever you decide. I
think it comes down to a question of whether the default build should
have support for https, ftp, etc, when it's easy to do so. Your reason
for not having it seems to be that, well, some systems won't have it.
A lowest-common-denominator approach?
Thanks for all your effort to (finally, hopefully) get 3.0 out the
door. I feel bad that I didn't have the stamina to do so 3 or so years
ago!
James
Thanks,
Boris
--
Boris Kolpackov, Code Synthesis Tools
Open source XML data binding for C++: http://codesynthesis.com/products/xsd
Mobile/embedded validating XML parsing: http://codesynthesis.com/products/xsde
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]