Mail Archives: cygwin/2006/01/17/00:31:27
On Mon, Jan 16, 2006 at 10:49:38PM -0600, * * wrote:
> On 1/16/06, Peter Ekberg <peda AT lysator DOT liu DOT se> wrote:
> > On Mon, Jan 09, 2006 at 10:58:00AM +0100, Peter Ekberg wrote:
> > > Hello!
> > >
> > > I recently tried to build a package that was using cpp for other
> > > purposes than preprocessing C files. Its configure script was
> > > looking for a way to not have cpp predefine anything, and it
> > > specifically tried the -undef option, but failed. From reading the
> > > docs, I couldn't figure out why. Here's a quote from "info cpp":
> > >
> > > '-undef'
> > > Do not predefine any system-specific or GCC-specific macros. The
> > > standard predefined macros remain defined. *Note Standard
> > > Predefined Macros::.
>
> Apparently some macros must remain defined. What macros specifically
> did you notice still defined that you would consider "system-specific"
> (i.e. __cygwin__ or __CYGWIN__ or CYGWIN) or "gcc-specific"?
Well, "cpp -undef -mD < /dev/null" gives me this list:
#define __unix 1
#define __STDC_HOSTED__ 1
#define __unix__ 1
#define unix 1
#define __CYGWIN__ 1
#define __CYGWIN32__ 1
I would consider all but __STDC_HOSTED__ system/gcc-specific. Which
should be apparent if you read the "*Note Standard Predefined Macros"
in the above quote, as that's the only define listed in the note.
In my specific case, the configure script is looking for a way to
not have "unix" defined.
FWIW, the provided patch fixes all of the above, so that the output
from the above command is:
#define __STDC_HOSTED__ 1
It seems I'm not the only one with this problem, even though cpp now
seems to be in better shape in this regard:
http://www.cygwin.com/ml/cygwin/2002-05/msg01613.html
Cheers,
Peter
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -