From owner-freebsd-gnome@FreeBSD.ORG Fri Sep 13 02:46:21 2013 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 441DC7F1 for ; Fri, 13 Sep 2013 02:46:21 +0000 (UTC) (envelope-from ljboiler@gmail.com) Received: from mail-qc0-x234.google.com (mail-qc0-x234.google.com [IPv6:2607:f8b0:400d:c01::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 079082FE5 for ; Fri, 13 Sep 2013 02:46:20 +0000 (UTC) Received: by mail-qc0-f180.google.com with SMTP id p19so478073qcv.11 for ; Thu, 12 Sep 2013 19:46:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; bh=nPCJ4cQAfv/WLE7WAibaJVwKwW83qhZgTRsbC0Xwdhs=; b=jqAMWmA2FPk0NeRlbuhIbu8lT5jdeEtxn1VtH1JlOba6c+oYWHcJJ0138FJyG17vVY rdJ8DaKR7yA51hjVCk7lWcryXYyl/TAV8Mbn7G1HrJ/7GsmPHlumLAeVQZAvSjq6EvlA dxn8B8OCKyn4GCkjU9Cnz+jTSezP0vnRSMv0loM4+cpT2nxfOeXP75Pzpoaw1yUHwc29 FYYPLL4++1I1TZBpI4qt9Qlez+28jH0dDZBFqBNHmFTrl6PG1K2FB91qR1pqX1SY9uXi /chu2d3yfnlfvXVGSI03yFwu+KkLRl1VSogwillqlc7fVCwIXUE+e6/gsfS3A3XmfHHd O/MA== X-Received: by 10.49.97.42 with SMTP id dx10mr20086426qeb.47.1379040380002; Thu, 12 Sep 2013 19:46:20 -0700 (PDT) Received: from jmobile.jimmy.local (71-81-196-43.dhcp.stls.mo.charter.com. [71.81.196.43]) by mx.google.com with ESMTPSA id h6sm14198919qej.4.1969.12.31.16.00.00 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 12 Sep 2013 19:46:19 -0700 (PDT) Received: by jmobile.jimmy.local (sSMTP sendmail emulation); Thu, 12 Sep 2013 21:46:17 -0500 Date: Thu, 12 Sep 2013 21:46:16 -0500 From: Jimmy Kelley To: freebsd-gnome@freebsd.org Subject: (fwd) Re: webkit-gtk2 patches for clang/libc++ Message-ID: <20130913024616.GA7528@jmobile.jimmy.localnet> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Sep 2013 02:46:21 -0000 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