Bug 126431 - [GTK] configure errors out when building with libc++
Summary: [GTK] configure errors out when building with libc++
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Zan Dobersek
URL:
Keywords:
Depends on: 126325
Blocks: 126492
  Show dependency treegraph
 
Reported: 2014-01-03 09:00 PST by Jeremy Huddleston Sequoia
Modified: 2014-01-06 11:59 PST (History)
3 users (show)

See Also:


Attachments
Patch (2.79 KB, patch)
2014-01-06 01:34 PST, Zan Dobersek
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Huddleston Sequoia 2014-01-03 09:00:09 PST
In webkit-gtk-2.3.3 (compared to 2.2.3), CheckSystemAndBasicDependencies.m4 was updated to error out if anything other than libstdc++ >= 4.8.1 is used.  This causes configure to error out when using libc++, but libc++ should work fine.

--- Source/autotools/CheckSystemAndBasicDependencies.m4.orig	2014-01-03 08:55:20.000000000 -0800
+++ Source/autotools/CheckSystemAndBasicDependencies.m4	2014-01-03 08:57:19.000000000 -0800
@@ -123,14 +123,6 @@ elif test "$cxx_compiler" = "clang++"; t
     OLD_CXXFLAGS="$CXXFLAGS"
     CXXFLAGS="-std=c++11"
     AC_LANG_PUSH([C++])
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
-#include <type_traits>
-#if defined(__GLIBCXX__) && __GLIBCXX__ >= 20130531
-bool libstdcxxTest = std::is_trivially_destructible<bool>::value;
-#else
-#error libstdc++ >= 4.8.1 is required
-#endif
-])], [], [AC_MSG_ERROR([libstdc++ >= 4.8.1 is required as the standard library used with the Clang compiler.])])
     AC_LANG_POP([C++])
     CXXFLAGS="$OLD_CXXFLAGS"
 fi
Comment 1 Jeremy Huddleston Sequoia 2014-01-03 09:03:45 PST
Note that we're using the above as a workaround.  I was just providing it to indicate the source of the problem.  It's obviously not suited for integration as you likely just want to error out if libstdc++ older than 4.8.1 is used.

I suggest you change that to:

#if defined(__GLIBCXX__) && __GLIBCXX__ < 20130531
#error libstdc++ < 4.8.1 is not supported
#endif
Comment 2 Jeremy Huddleston Sequoia 2014-01-03 10:28:55 PST
Related to #126325
Comment 3 Zan Dobersek 2014-01-05 05:09:46 PST
The solution to this bug depends on bug #126325.
Comment 4 Zan Dobersek 2014-01-06 01:34:54 PST
Created attachment 220421 [details]
Patch
Comment 5 Zan Dobersek 2014-01-06 11:59:09 PST
Comment on attachment 220421 [details]
Patch

Clearing flags on attachment: 220421

Committed r161359: <http://trac.webkit.org/changeset/161359>
Comment 6 Zan Dobersek 2014-01-06 11:59:14 PST
All reviewed patches have been landed.  Closing bug.