autoconf
[Top][All Lists]
Advanced

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

Re: AC_COMPILE_ELSEIF and AC_LINK_ELSEIF misdetections


From: Jeffrey Walton
Subject: Re: AC_COMPILE_ELSEIF and AC_LINK_ELSEIF misdetections
Date: Thu, 26 Jul 2018 13:17:44 -0400

On Thu, Jul 26, 2018 at 11:55 AM, Zack Weinberg <address@hidden> wrote:
> On Thu, Jul 26, 2018 at 11:47 AM, Jeffrey Walton <address@hidden> wrote:
>>
>> AC_COMPILE_ELSEIF and AC_LINK_ELSEIF often misdetects which results in
>> bad configurations and broken compiles on AIX with XL C/C++ and
>> Solaris with SunCC. We found we can't use the macros.
>
> Could you please supply a short, self-contained configure.ac that
> shows the problem?  I don't think I understand the issue from your
> description.

Here's the AIX equivalent using IBM XL C/C++. I'm working from GCC119
on the compile farm (gcc119.fsffrance.org).

    $ cat configure.ac
    AC_INIT([Test], [1.0])
    AC_PROG_CXX

    SAVED_CXXFLAGS="$CXXFLAGS"
    CXXFLAGS="-qrtti-nonsense"
    AC_MSG_CHECKING([for -qrtti-nonsense])
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
      [AC_MSG_RESULT([yes])],
      [AC_MSG_RESULT([no])]
    )
    CXXFLAGS="$SAVED_CXXFLAGS"

And the result:

    $ CXX=xlC ./configure
    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... no
    checking whether xlC accepts -g... yes
    checking for -qrtti-nonsense... checking for gcc... gcc
    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
    yes

And an XLC test program:

    $ cat test.cxx
    int main (int argc, char* argv)
    {
      return 0;
    }

And the result:

    $ xlC -qrtti-nonsense test.cxx -o test.exe
    1540-5200 (W) The option "rtti-nonsense" is not supported.

    $ echo $?
    0



reply via email to

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