Alexandre Julliard wrote:
Shachar Shemesh <wine-patches(a)shemesh.biz>
writes:
After much talk, the patch seems ready for commit.
Since there are many
systems with slightly older glibc that have the header but do not have
the implementation in glibc, or that have a stub implementation that is
guaranteed to fail, we are calling the kernel functions directly. This
also allows compiling on older systems than the code actually ships to.
Accordingly, the autoconf checks for epoll_create in glibc were dropped.
That's wrong; if the libc function exists you should use it, direct
system calls should only be used as a fallback.
But what to do if the library functions exist during compilation, and do
not during runtime? Merely linking with them will cause wineserver not
to load, claiming that it requires "GLIBC version 3.2.3". Some wine uses
(crossover office being one of them) require you to compile once and run
almost everywhere, which run counter to this behavior.
And when using system
calls you must not depend on the libc header, you have to define the
structures yourself.
Just yank the definitions from the header? I can do that, the license is
compatible. However, I think it's pointless. Most systems will have that
header, and for those who don't, we will have a fallback. What's wrong
with using the header if it's there?
Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
http://www.lingnu.com/