Hi Martin,
> Hi Mato,
>
> I don't really follow all the build system complexities. Do you have any
> opinion on MSVC + static linking issue?
Given he has not answered, thought I'd put in a couple extra
comments.
> >> 1. Don't look for "_WIN32": use the guaranteed "_MSC_VER" so
> >> folks with
> >> unique build requirements don't have to screw with adding an
> >>
> >> _WIN32 is for the platform, _MSC_VER is for Visual Studio. Visual
> Studio
> >> isn't the only compiler for Win32/Win64 and _MSC_VER will break on
> those
> >> other compilers, for example MinGW and Cygwin.
> >
> > True, I just have a habit of being very explicit about things. In
> >this case I've tested the change for VC and someone with the other
> compilers
> >could test it for others on a branch, if/when all happy, I'd suggest not
> >using _WIN32 still and in config.h or somewhere detecting the known
> >compilers and then defining ZMQ_WIN32 or something along those lines.
> Leave
> >a pragma error or warning for unknown compilers which says "untested".
This is VERY different than *nix systems where you have variations
beyond count and require things like Autoconf to setup for the given
distribution. The only variation on Windows is which compiler and tool
chain you happen to be using and of course 32/64 bit variations. As such,
being specific is basically like using autoconf, detect the things that
"can" vary and correct for them.
NOTE: to be complete: The only other variations beyond the above
are generally going to be os version specific such as XP versus Vista versus
7 etc and this project should not have any dependencies which care about
version. (Well, unless you count pre-XP platforms.") Otherwise the only
thing we need to say is that we don't support pre-XP and be done with it.
> >> _MSC_VER should only be for fruity #pragmas and particulars of MSVC,
> such
> >> as lack of C99 headers, broken inline, etc.
> >>
> >> MSVC is very retarded with static libraries, Winsock for example
> doesn't
> >> work properly unless you have WIN32 defined and even MSVC 2010
> >> conveniently removes it from the default configuration compared to
> >> application targets.
> >
> > Totally agree with the retarded statement. VC and most Win32
> >compilers for that matter, have a serious set of failures due to the
All of this is secondary nonsense and easily fixed with the specific
detection and setup I suggested. It is often important to remind folks that
Win32/64 has VERY few variations compared to *Nix installations. Window's
has no need of something like Autoconf because there are only a couple
variations you need to deal with and mostly they "are" specific to the
compiler and not the API's.
KB
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev