bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: groff-1.17 and Compaq OSF/1 5.0


From: Werner LEMBERG
Subject: Re: groff-1.17 and Compaq OSF/1 5.0
Date: Fri, 20 Jul 2001 17:00:00 +0200 (CEST)

[I'm sending this to bug-autoconf also -- maybe this can be fixed in a
 forthcoming release of autoconf.]

From: "Nelson H. F. Beebe" <address@hidden>
Subject: groff-1.17 and Compaq OSF/1 5.0
Date: Fri, 20 Jul 2001 08:32:58 -0600 (MDT)

> A build of groff-1.17 on Compaq OSF/1 5.0 with native C and C++
> compilers produced this failure:
> 
> [...]
>       cxx: Error: groff.cc, line 125: too many arguments in function call
>         while ((opt = getopt_long(argc, argv,
>       ----------------------------^
> 
> Examination of the preprocessor output showed that getopt_long had
> this prototype:
> 
>       extern int getopt_long ();
> 
> Thus, the lack of arguments led to the reject of the call at line 125.
> The declaration of getopt_long in src/include/getopt.h is controlled
> by the conditional
> 
>       #if defined __STDC__ && __STDC__
>       ...
>       #else
>       ...
>       #endif
> 
> A simple test program shows how __STDC__ is defined by the Compaq C++
> compiler:
> 
>       % cat foo.cc
>       #if defined(__STDC__)
>       int stdc = __STDC__;
>       #else
>       int kandr = 1;
>       #endif
> 
>       % cxx -E foo.cc
>       #line 1 "foo.cc"
>       int kandr = 1;
> 
> On a Sun Solaris 2.7 system, I get this:
> 
>       % CC  -E foo.cc
>       #2 "foo.cc"
>       int stdc = 0 ;
> 
>       % g++ -E foo.cc
>       # 1 "foo.cc"
>       int stdc = 1;
> 
> Thus, on OSF/1 for C++ compilation with cxx, it is necessary to have
> -D__STDC__=1 in the compilation options.  The C compiler, cc, does not
> permit this to be defined, so I changed the top-level Makefile to read
> 
>       CCC=cxx  -D__STDC__=1

Isn't this something what autoconf should handle properly?


    Werner



reply via email to

[Prev in Thread] Current Thread [Next in Thread]