Subject: Re: bug#18238: Fix for DOS build when using more accurate config[.h].in

From: Eli Zaretskii <[email-masked]>
Date: Sun, 10 Aug 2014 22:35:58 +0300

> Date: Sun, 10 Aug 2014 21:28:34 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> > Date: Sun, 10 Aug 2014 19:20:48 +0100
> > From: Reuben Thomas <[email-masked]>
> > Cc: [email-masked]
> > 
> > > I don't see why the suggested code is better than the existing one.
> > > HAVE_GETRLIMIT means more than its name says, as you point out, so
> > > DJGPP is correct in not defining one.
> > >
> > 
> > I think I was unclear, sorry: DJGPP does define getrlimit. It is only the
> > MSDOS config.in that says it is not defined. If you run ./configure, then
> > it detects getrlimit, and defines HAVE_GETRLIMIT.
> 
> Then it's a bug in the configure test for getrlimit: it should not
> only test for the existence of the function, but also for RLIMIT_AS
> and RLIMIT_DATA it actually needs.

Alternatively, you could leave the configure test alone, and instead
test for RLIMIT_* constants in the conditional, like this:

 #if defined HAVE_GETRLIMIT && defined RLIMIT_DATA && defined RLIMIT_AS
  ...

etc.  This is what emacs.c does with HAVE_SETRLIMIT.