Re: [PATCH] HP-UX traditionally has no sys/select.h
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 24, 2008, 18:03 UTC
- Message-ID
- <alpine.LSU.1.00.0801241758130.5731@racer.site>
- In-Reply-To
- <20080124175300.GI30676@schiele.dyndns.org>
Hi,
On Thu, 24 Jan 2008, Robert Schiele wrote:
> The select stuff is already in sys/time.h on traditional HP-UX > systems thus we should not include sys/select.h there because older > releases don't have it.
Thank you for your patch.
Show 14 quoted lines
> diff --git a/git-compat-util.h b/git-compat-util.h > index b6ef544..77de915 100644 > --- a/git-compat-util.h > +++ b/git-compat-util.h > @@ -68,7 +68,9 @@ > #include <sys/poll.h> > #include <sys/socket.h> > #include <sys/ioctl.h> > +#ifndef __hpux > #include <sys/select.h> > +#endif > #include <assert.h> > #include <regex.h> > #include <netinet/in.h>
We try to avoid using constructs like this. Rather, we have a section in the Makefile which sets things like NO_IPV6=YesPlease, OLD_ICONV=UnfortunatelyYes, etc.
Later in the Makefile, dependent on this Makefile variable, symbols are defined. In the source code, we check for these symbols.
It is not only a matter of being able to reuse the same symbol for another platform/setup, it is also a nice way of documentation.
In your case, I suggest NO_SYS_SELECT_H=UnfortunatelyYes.
Thanks, Dscho