From owner-freebsd-toolchain@FreeBSD.ORG Tue Sep 11 15:56:25 2012 Return-Path: Delivered-To: toolchain@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B0999106566C; Tue, 11 Sep 2012 15:56:25 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-oa0-f54.google.com (mail-oa0-f54.google.com [209.85.219.54]) by mx1.freebsd.org (Postfix) with ESMTP id 35F398FC1C; Tue, 11 Sep 2012 15:56:25 +0000 (UTC) Received: by oagm1 with SMTP id m1so441969oag.13 for ; Tue, 11 Sep 2012 08:56:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; bh=3aT2z9cqaiVxgP6JrAzjd+ER3HoIU1sysJ9ckO08Eho=; b=SbQBYccBJosp20yJh7zczSuBxV3RWWjMYcYupd7DwgMjN+4egTcCOe1gwedlNnOqGV p9SZfB0BGa3OAlDg4H0e1Kssj/bBpv9UfbHgODssICT4hJ4i0c7LRxMDSLvXS3yRmseC 3zM7ykPpKBerufyxH5x7m9ucaqgIxoZcZIoMib/kzVpOFzWdtTTbtAX7umi5bfFoZxBG n4DoiMKMyjHK82GFe88rnwneNKNLqt9CJcVANbbZx2DNM1nUQyWKELSDJ0V+Jh5qpcuk SThMdRSb9ihERBGdcVqIieJo8UODCQVfWVqOJzQMJD+S2grCB/eTwcZTxkBG+kf3Xi6C 0aeQ== Received: by 10.60.32.33 with SMTP id f1mr19260803oei.71.1347378984742; Tue, 11 Sep 2012 08:56:24 -0700 (PDT) Received: from fuji-wireless.local (c-24-19-191-56.hsd1.wa.comcast.net. [24.19.191.56]) by mx.google.com with ESMTPS id jd10sm16632081obb.13.2012.09.11.08.56.21 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 11 Sep 2012 08:56:24 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: text/plain; charset=us-ascii From: Garrett Cooper In-Reply-To: Date: Tue, 11 Sep 2012 08:56:21 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <20120910211207.GC64920@lor.one-eyed-alien.net> <20120911104518.GF37286@deviant.kiev.zoral.com.ua> <20120911120649.GA52235@freebsd.org> <20120911122122.GJ37286@deviant.kiev.zoral.com.ua> To: Daniel Eischen X-Mailer: Apple Mail (2.1278) Cc: toolchain@freebsd.org, current@freebsd.org Subject: Re: Clang as default compiler November 4th X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Sep 2012 15:56:25 -0000 On Sep 11, 2012, at 8:35 AM, Daniel Eischen wrote: > On Tue, 11 Sep 2012, Konstantin Belousov wrote: >=20 >> On Tue, Sep 11, 2012 at 02:06:49PM +0200, Roman Divacky wrote: >>>=20 >>> We currently dont compile 4680 ports (out of 23857). Top 10 ports = that prevent >>> the most other ports from compiling together prevent 2222 ports from >>> compilation. So if we fixed those 10 ports we could be at around = 2500 ports >>> not compiling. Thats quite far from your claim of forking 20k = programs. >>=20 >> Sorry, I cannot buy the argument. How many patches there are already >> in the ports tree to cope with clang incompatibility with gcc ? You = may >> declare that all of them are application bugs, but it completely = misses >> the point. >=20 > [ snip ] >=20 >>> I believe majority of the broken ports is broken because their = maintainer >>> never saw them being broken with clang just because it's not the = default >>> compiler. Thus by making it the default majority of the problems = would just >>> go away. >>=20 >> Can you, please, read what I wrote ? Fixing _ports_ to compile with >> clang is plain wrong. Upstream developers use gcc almost always for >> development and testing. Establishing another constant cost on the >> porting work puts burden on the ports submitters, maintainers and = even >> ports users. >=20 > This is a good point! Alternate compilers are being used on other OS distributions, like Arch = Linux, Gentoo Linux, etc, so encouraging external developers to = correct/simplify their Makefiles and build infrastructures is a good = thing (and plus, it makes switching to other compilers like icc, pcc, = etc easier). You're going to run into almost the same problem when trying to get = stuff to cross-compile for multiple targets, so there's no reason why = FreeBSD/Linux should not strive to get others to hardcode less. I wouldn't consider ports to be a stopgap for the clang switchover as = much as correctness/performance. Broken third-party software can be = fixed, but if the underlying foundation doesn't deliver sane code or = severely regresses performance (runtime is more important than building = IMO because I'd rather have code take a little while longer to compile = if the end-result runs faster, and ultimately runtime performance = affects build performance), then there's no point in trying to switch = over yet. Thanks, -Garrett=