Tom Lane wrote:
Hmm ... so what should I do with mysql? Since approximately
forever,
upstream has recommended using -fno-exceptions (and also
-felide-constructors -fno-rtti) in CXXFLAGS. I now realize that it's
a bit silly to do that when the plain-C files (of which there are
plenty) are being built with -fexceptions because of Fedora's standard
RPM_OPT_FLAGS. I also note that the recommendation to do that seems to
have disappeared from their manual as of mysql 5.5 ... although their
own RPM specfile is still doing it.
Seems like I should either drop the nonstandard CXXFLAGS, or hack CFLAGS
to remove -fexceptions.
FWIW, exactly the same thing is happening in all of KDE, and everything
building against kdelibs-devel using CMake (unless the package adds the
KDE4_ENABLE_EXCEPTIONS macro to its compiler flags). FindKDE4Internal.cmake
sets -fno-exceptions for C++, but not for C, so -fexceptions gets set for C
files and -fno-exceptions for C++ files.
We may want to drop the "-fno-exceptions -DQT_NO_EXCEPTIONS" from the
default CMAKE_CXX_FLAGS (or maybe add -fno-exceptions to the CMAKE_C_FLAGS).
(Qt is already built with exception support these days because QtWebKit
requires it. qt3/kdelibs3 is yet another can of worms, of course.)
Kevin Kofler