From owner-freebsd-current@FreeBSD.ORG Sun Jan 6 14:57:35 2013 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id EF22D578; Sun, 6 Jan 2013 14:57:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id B1B922E8; Sun, 6 Jan 2013 14:57:35 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:b477:ff2d:fc59:6c40] (unknown [IPv6:2001:7b8:3a7:0:b477:ff2d:fc59:6c40]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id F00815C37; Sun, 6 Jan 2013 15:57:33 +0100 (CET) Message-ID: <50E990DD.5040605@FreeBSD.org> Date: Sun, 06 Jan 2013 15:57:33 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20121128 Thunderbird/18.0 MIME-Version: 1.0 To: Erik Cederstrand Subject: Re: LLVM 3.2: official stable port is still LLVM 3.1. Basesystem missing important LLVM pieces! References: <50E97457.7050809@zedat.fu-berlin.de> <0900DD62-3A21-4D77-8B5B-7976ACB3921B@cederstrand.dk> In-Reply-To: <0900DD62-3A21-4D77-8B5B-7976ACB3921B@cederstrand.dk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Current FreeBSD , "O. Hartmann" , Ports FreeBSD X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 14:57:36 -0000 On 2013-01-06 15:16, Erik Cederstrand wrote: ... > I think the real problem is that LLVM and the related tools are build in one go, so you can't easily build llvm-config and others for the base version of LLVM. Well, it would be easy enough to build llvm-config, but what should its output be? We do not install llvm/clang headers or libraries into the system, so llvm-config would not give any meaningful -I or -L flags. :) > llvm-config needs shared libraries that are not installed in base because they supposedly require a prohibitive amount of build time. Again, build time is not the problem. The libraries are already built, but in static form; making them dynamic would not be that difficult, but installing them would add another maintenance and compatibility burden. > The LLVM port could be split up instead. There could be a devel/llvm-libs port that installed the shared libs for the base LLVM, and then a devel/llvm-config, devel/scan-build or devel/mclinker port that depends on the former port. Yes, this seems to be the proper approach. But, as far as I understand, the ports system cannot yet do one work tree build, and package that up in different packages, such as -libs, -devel, and so on. > This might require that a larger part of the LLVM source tree is imported into src/contrib, though. I am not sure what you mean by this. Why would the ports require something in the base system, other than a compiler?