Date: Thu, 12 Sep 2013 21:46:16 -0500 From: Jimmy Kelley <ljboiler@gmail.com> To: freebsd-gnome@freebsd.org Subject: (fwd) Re: webkit-gtk2 patches for clang/libc++ Message-ID: <20130913024616.GA7528@jmobile.jimmy.localnet>
next in thread | raw e-mail | index | archive | help
I was trying to build webkit-gtk2 with a gcc port since it wasn't working with clang, and ran into a problem with it reporting a missing libstdc++ (this is on 10-CURRENT with the recent removal of gcc from base system, so I've install the gcc46 port). After figuring out how to turn on debugging in the gnome-libtool used to build everything, I found that there appears to be a bug in there: as it puts together the command needed to link the shared libraries, it substitutes $CC for the tool to use to do the actual linking, and CC is hardcoded ="cc" or "c++"; the result is that after compiling with GCC, the linking stage is done with clang. The following patch fixes webkit, but I think the real problem is with devel/libtool. Index: Makefile =================================================================== --- Makefile (revision 327022) +++ Makefile (working copy) @@ -91,6 +91,8 @@ # disable static library. @${REINPLACE_CMD} -e 's|^build_old_libs=yes|build_old_libs=no|' \ ${WRKDIR}/gnome-libtool + @${REINPLACE_CMD} -e 's|^\(archive[^=]*_cmds="..\)CC|\1base_compiler|' \ + ${WRKDIR}/gnome-libtool @${REINPLACE_CMD} -e 's|/usr/bin/gcc|${CC}|' \ ${WRKSRC}/Source/WebCore/dom/make_names.pl \ ${WRKSRC}/Source/WebCore/css/make-css-file-arrays.pl \ Jimmy >On 11-9-2013 11:01, Stefan Farfeleder wrote: >> Hi, >> >> I managed to compile webkit-gtk2 with clang/libc++ using the following >> patches: >> >> - The first one contains the relevant bits from two upstream changes >> http://trac.webkit.org/changeset/139553/trunk/Source/WTF/wtf/Atomics.h >> http://trac.webkit.org/changeset/139921/trunk/Source/WTF/wtf/Atomics.h > >I already had this part on patches I was working on. > >> - The second one is a hack to work around the ctype.h function #defines >> which cause compilation errors because C++ headers with inline >> functions are included afterwards. >> >> - The third and fourth are simple inclusions of missing headers. > >These I didn't have and I committed these together with the above. >Thanks for your submission! > >-Koop > >> Regards, >> Stefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130913024616.GA7528>