From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8576 invoked by alias); 18 Dec 2001 17:48:42 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 6015 invoked from network); 18 Dec 2001 17:47:23 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 18 Dec 2001 17:47:23 -0000 Received: from porcupine.cygnus.com (cse.cygnus.com [205.180.230.236]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id JAA07491 for ; Tue, 18 Dec 2001 09:47:20 -0800 (PST) Received: from porcupine.cygnus.com (law@localhost) by porcupine.cygnus.com (8.11.6/8.11.6) with ESMTP id fBIHkuO17107 for ; Tue, 18 Dec 2001 10:46:56 -0700 X-Mailer: exmh version 2.4 06/23/2000 with nmh-1.0.4 To: gdb-patches@sources.redhat.com Reply-to: law@redhat.com From: law@redhat.com Subject: Update for AC_PROG_STDC_CC fix Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 18 Dec 2001 09:48:00 -0000 Message-ID: <17106.1008697616@porcupine.cygnus.com> X-SW-Source: 2001-12/txt/msg00443.txt.bz2 Per Alex's message, the right thing to do is to put a copy of AM_PROG_CC_STDC into acinclude.m4, fix it, and run aclocal.m4 to propagage the changes into aclocal.m4. Here's the patch to do this. As with the previous patch, I'll hold off installing until I hear from one of the gdb maintainers. * acinclude.m4 (AM_PROG_CC_STDC): New macro to override the broken one in automake. Uses -Ae, not -Aa to put HP compiler into ANSI with extensions mode. * aclocal.m4: Rebuilt. Index: acinclude.m4 =================================================================== RCS file: /cvs/src/src/gdb/acinclude.m4,v retrieving revision 1.2 diff -c -3 -p -r1.2 acinclude.m4 *** acinclude.m4 2000/09/12 04:23:30 1.2 --- acinclude.m4 2001/12/18 17:44:13 *************** dnl CY_GNU_GETTEXT into aclocal.m4. *** 866,868 **** --- 866,954 ---- ifelse(yes,no,[ AC_DEFUN([CY_GNU_GETTEXT],) ]) + + # @defmac AC_PROG_CC_STDC + # @maindex PROG_CC_STDC + # @ovindex CC + # If the C compiler in not in ANSI C mode by default, try to add an option + # to output variable @code{CC} to make it so. This macro tries various + # options that select ANSI C on some system or another. It considers the + # compiler to be in ANSI C mode if it handles function prototypes correctly. + # + # If you use this macro, you should check after calling it whether the C + # compiler has been set to accept ANSI C; if not, the shell variable + # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source + # code in ANSI C, you can make an un-ANSIfied copy of it by using the + # program @code{ansi2knr}, which comes with Ghostscript. + # @end defmac + + AC_DEFUN(AM_PROG_CC_STDC, + [AC_REQUIRE([AC_PROG_CC]) + AC_BEFORE([$0], [AC_C_INLINE]) + AC_BEFORE([$0], [AC_C_CONST]) + dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require + dnl a magic option to avoid problems with ANSI preprocessor commands + dnl like #elif. + dnl FIXME: can't do this because then AC_AIX won't work due to a + dnl circular dependency. + dnl AC_BEFORE([$0], [AC_PROG_CPP]) + AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C) + AC_CACHE_VAL(am_cv_prog_cc_stdc, + [am_cv_prog_cc_stdc=no + ac_save_CC="$CC" + # Don't try gcc -ansi; that turns off useful extensions and + # breaks some systems' header files. + # AIX -qlanglvl=ansi + # Ultrix and OSF/1 -std1 + # HP-UX -Ae -D_HPUX_SOURCE + # SVR4 -Xc -D__EXTENSIONS__ + for ac_arg in "" -qlanglvl=ansi -std1 "-Ae -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" + do + CC="$ac_save_CC $ac_arg" + AC_TRY_COMPILE( + [#include + #include + #include + #include + /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ + struct buf { int x; }; + FILE * (*rcsopen) (struct buf *, struct stat *, int); + static char *e (p, i) + char **p; + int i; + { + return p[i]; + } + static char *f (char * (*g) (char **, int), char **p, ...) + { + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; + } + int test (int i, double x); + struct s1 {int (*f) (int a);}; + struct s2 {int (*f) (double a);}; + int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); + int argc; + char **argv; + ], [ + return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ], + [am_cv_prog_cc_stdc="$ac_arg"; break]) + done + CC="$ac_save_CC" + ]) + if test -z "$am_cv_prog_cc_stdc"; then + AC_MSG_RESULT([none needed]) + else + AC_MSG_RESULT($am_cv_prog_cc_stdc) + fi + case "x$am_cv_prog_cc_stdc" in + x|xno) ;; + *) CC="$CC $am_cv_prog_cc_stdc" ;; + esac + ]) +