bug-autoconf
[Top][All Lists]
Advanced

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

AC_PROG_CC_* shouldn't append multiple options


From: Adrian Bunk
Subject: AC_PROG_CC_* shouldn't append multiple options
Date: Thu, 20 Sep 2012 16:27:18 +0300
User-agent: Mutt/1.5.21 (2010-09-15)

This example contains a small hack in AC_PROG_CC_C11 to emulate the 
situation when [1] will be fixed.

<--  snip  -->

$ autoconf --version
autoconf (GNU Autoconf) 2.69.22-787a
...
$ cat configure.ac
AC_INIT

AC_PROG_CC_C99
AC_PROG_CC_C11
$ ./configure 
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for gcc option to accept ISO C99... -std=gnu99
checking for gcc -std=gnu99 option to accept ISO C11... -std=gnu11
$ grep ^CC config.log 
CC='gcc -std=gnu99 -std=gnu11'
$ 

<--  snip  -->


I don't think this chaining of options is a desired and always working 
situation, and I would be completely non-surprised it e.g. an AIX 
compiler would choke on "-qlanglvl=extc89 -qlanglvl=extc99" and
never reach any mode higher than C89.

Note that this not an exotic situation since AC_PROG_CC_C99 and 
AC_PROG_CC_C11, and therefore also AC_PROG_CC_STDC, first run
the C89 check and add options for C89 if needed
(through AC_PROG_CC I assume),
and only after that run any C99/C11 checks.


cu
Adrian

[1] http://lists.gnu.org/archive/html/bug-autoconf/2012-09/msg00007.html

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




reply via email to

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