From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C6BF6138330 for ; Mon, 29 Aug 2016 07:26:41 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 00134E0BAE; Mon, 29 Aug 2016 07:26:28 +0000 (UTC) Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 974EBE0B4D for ; Mon, 29 Aug 2016 07:26:27 +0000 (UTC) Received: by mail-wm0-f48.google.com with SMTP id q128so14081475wma.1 for ; Mon, 29 Aug 2016 00:26:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=JfIz+20To60lhAk0OPybZuMm8QEIZG8wHsUQJLe0RPk=; b=jEZKe5B9ANnN8bVBNp8H94+40plqPwBUnpwHIf5MscMBMhG3teb6VNRXVglnnp4CoZ 7pXzX8Lmc3lJhzaqXWbKwPJINyofpe6Coc25tye3h1UY3QnOKl30iD7CLR8+vsgcRc7C rITcPH1gDft3wFAqG6BWAapaV8Nw8CBsUdYt5MGHdK6ZT4bSp3dXUcwk/ztrYUYuGCHg WhYB2L1R2mjguQ783ioeaqPYOk6xxeyPHBDvfiR9hU0EbcVxrJW4tTcqwdC5XEQFfCQ2 MeVW1yP9W1VZEaqt0EpIkg5wxp6inXCxn83Id3ZLAAzK4u6VFYw8Y/NDcoNw+DNxlYFs AI7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=JfIz+20To60lhAk0OPybZuMm8QEIZG8wHsUQJLe0RPk=; b=h0MNih1IgoeHO7ouYIMhnk11w4an38eWf6SSWhsbOGJbJNYqdUObrpmAQUYpXLtNzC OZ2oW9HWBRT1Z+ZVgoUIrlLx+RVFoZIhhOG/ioBFYn/cY841ZMc5R8q/lpNZaJ4OnZkY BZbrnmG7X/2G/STIHmF1l6R2ZyoncrxisGFX9UahDQpCWpMcfRjwsmX+7KmX159/GDQP BJU/ZY2xCRADq+EV0Cdrq/sPx44zIisYA5E5ZJG1verjLB9vru6G0EyV0k3Um7qEwoDS HePAWfjbhTW8y3M53nVyrUrx49I8O117sh7XUCCa1rYowTPOk8VMf2ZbMNM4cuO3Lg5q 9Vyw== X-Gm-Message-State: AE9vXwOyvh7hKsN/pZqfuzBb9O2RC4BYgb8pLPRBDyOMounTpiVaELfkgeSkNmhBxlTvDw== X-Received: by 10.28.48.149 with SMTP id w143mr8701627wmw.54.1472455585989; Mon, 29 Aug 2016 00:26:25 -0700 (PDT) Received: from gentoo-tp.home ([2a02:908:f324:d600:7f48:4e13:2f55:5898]) by smtp.gmail.com with ESMTPSA id o2sm32868999wjo.3.2016.08.29.00.26.24 for (version=TLS1_2 cipher=AES128-GCM-SHA256 bits=128/128); Mon, 29 Aug 2016 00:26:24 -0700 (PDT) Date: Mon, 29 Aug 2016 09:26:25 +0200 From: Jeremi Piotrowski To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Is there a reason why LLVM/Clang ebuilds don't support "mutislot"? Message-ID: <20160829072625.GA31106@gentoo-tp.home> References: Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-Archives-Salt: e3fdd280-a3c7-43b9-be76-f57c3abd372b X-Archives-Hash: a378b79a27a753ce780a9c14934bc50b On Sun, Aug 28, 2016 at 11:58:03PM -0400, P Levine wrote: > Other distros like Ubuntu support the installation of multiple versions of > LLVM/Clang side by side. One of the things Clang is really good at is > support for the most recently approved upcoming features of the C++17 > standard. The best support for testing such features is with the latest > sys-devel/llvm-9999. However if I want to compile Mesa against a stable > version LLVM/Clang as well, I don't get that option. I'm not sure such a configuration is fully supported upstream, but the way ubuntu (and debian) does this is (was?) painfully broken. If I recall correctly they first build it in one location and then move it around and try to partially solve things through symlinks. This totally destroys llvm-config and LLVM's cmake find_package module meaning those things have hard-coded paths that have nothing to do with where the things are installed on the system. Simple example, the following CMakeLists.txt cmake_minimum_required(VERSION 3.4) project(llvm-test) find_package(LLVM) errors out on ubuntu with: CMake Error at /usr/share/llvm-3.8/cmake/LLVMConfig.cmake:178 (include): include could not find load file: /usr/share/llvm/cmake/LLVMExports.cmake Call Stack (most recent call first): CMakeLists.txt:4 (find_package) CMake Error at /usr/share/llvm-3.8/cmake/LLVMConfig.cmake:181 (include): include could not find load file: /usr/share/llvm/cmake/LLVM-Config.cmake Call Stack (most recent call first): CMakeLists.txt:4 (find_package) -- Configuring incomplete, errors occurred! Fixing this one path leads to more suffering further down the road. The way gentoo maintainers package LLVM is much saner and developer friendly.