Wireshark mailing list archives
Re: [Wireshark-commits] rev 50204: /trunk/ /trunk/: configure.ac
From: Guy Harris <guy () alum mit edu>
Date: Fri, 28 Jun 2013 10:56:38 -0700
On Jun 28, 2013, at 5:20 AM, Jeff Morriss <jeff.morriss.ws () gmail com> wrote:
On 06/28/13 04:36, guy () wireshark org wrote:http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=50204 User: guy Date: 2013/06/28 01:36 AM Log: AC_PROG_CXX doesn't actually check whether what it finds is a real live C++ compiler (it might not be one on, for example, OS X, due to "cc" being a C compiler, "CC" referring to "cc" due to the case-insensitivity of the default OS X file system, and "CC" being one of the names checked for in AC_PROG_CXX), so if we really need a C++ compiler, test it with a program that a C compiler won't compile.Presumably this change can/should be pushed upstream to the autoconf folks?
Or, at least, suggested. I suspect if you have, on your system, no C compiler, but have a shell script #! /bin/sh echo "Hello, world!" named "cc", AC_PROG_CC will cheerfully choose it as your C compiler. I've filed a bug on it, but I suggested that this might be a somewhat artificial problem; if you have a UN*X with a case-insensitive file system, you're probably on OS X, and you probably have c++/g++, which will be checked before CC. This came up when I had a glitch when I did CC=clang ./configure --with-gtk2 --with-qt The underlying problem is that 1) in Xcode 4.6.3, llvm-gcc (including g++) doesn't support -Wvla, but clang (including clang++) does; 2) that configuration causes clang to be picked as the C compiler and g++ to be picked as the C++ compiler, and causes the C++ compiler to be used; 3) our "add this option if the compiler supports it" autoconf macro, if not told to add it only to CFLAGS or CXXFLAGS, will check whether the C compiler supports it and, if so, add it both to CFLAGS and CXXFLAGS (i.e., it assumes the C and C++ compilers are siblings). I forget what I was doing, when debugging that problem, that got me to think we needed to make sure we didn't end up with cc as the C++ compiler. I'm not sure what we should do about CC=clang ./configure --with-gtk2 --with-qt We could make the "add this option if the compiler supports it" test it separately with the C and C++ compilers, and add it to CFLAGS and/or CXXFLAGS based on the results of both tests; that'd fix the -Wvla problem (and other problems of that sort), and might let us simplify the "add this option if the compiler supports it" code (by having a "add this option to CFLAGS if the C compiler supports it" macro, an "add this option to CXXFLAGS if the C++ compiler supports it", and an "add this option to CFLAGS if the C compiler supports it and CXXFLAGS if the C++ compiler supports it" macro that just runs the previous two; the former two can be used for the C-specific and C++-specific options). It still doesn't warn you that you've only specified one alternative compiler, and probably really wanted to override the default for both, however. ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Re: [Wireshark-commits] rev 50204: /trunk/ /trunk/: configure.ac Jeff Morriss (Jun 28)
- Re: [Wireshark-commits] rev 50204: /trunk/ /trunk/: configure.ac Guy Harris (Jun 28)