From owner-freebsd-ports@FreeBSD.ORG Wed Nov 15 08:14:05 2006 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 788AE16A514; Wed, 15 Nov 2006 08:14:05 +0000 (UTC) (envelope-from emil@cs.rmit.edu.au) Received: from its-mu-mail3.its.rmit.edu.au (its-mu-mail3.its.rmit.edu.au [131.170.1.12]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4A8DF43D5A; Wed, 15 Nov 2006 08:14:03 +0000 (GMT) (envelope-from emil@cs.rmit.edu.au) Received: from wombat.cs.rmit.edu.au (wombat.cs.rmit.edu.au [131.170.24.41]) by its-mu-mail3.its.rmit.edu.au (8.13.7/8.13.7/mail2) with ESMTP id kAF8DxUt024268; Wed, 15 Nov 2006 19:13:59 +1100 (EST) Received: from goanna.cs.rmit.edu.au (root@goanna.cs.rmit.edu.au [131.170.24.40]) by wombat.cs.rmit.edu.au (8.12.10/8.12.10/cshub) with ESMTP id kAF8DuPU007616; Wed, 15 Nov 2006 19:13:58 +1100 (EST) Received: from goanna.cs.rmit.edu.au (emil@localhost [127.0.0.1]) by goanna.cs.rmit.edu.au (8.13.4+Sun/8.13.4/csnode) with ESMTP id kAF8DuCk005460; Wed, 15 Nov 2006 19:13:56 +1100 (EST) Received: (from emil@localhost) by goanna.cs.rmit.edu.au (8.13.4+Sun/8.13.3/Submit) id kAF8DulQ005459; Wed, 15 Nov 2006 19:13:56 +1100 (EST) Date: Wed, 15 Nov 2006 19:13:55 +1100 From: Emil Mikulic To: ports@freebsd.org Message-ID: <20061115081355.GA3382@cs.rmit.edu.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Operating-System: SunOS 5.10 X-PGP-Fingerprint: D2B4 7C14 0C41 9AE5 8D2B 16B0 D3D6 F910 8E4C 5D35 X-Authentication-Warning: localhost: emil pwned teh intarweb User-Agent: Mutt/1.5.11 X-Scanned-By: MIMEDefang 2.44 Cc: perky@freebsd.org Subject: Help with new llvm-gcc4 port X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Nov 2006 08:14:05 -0000 Hi there, The LLVM project (http://llvm.org/) is currently in 1.9 prerelease. FreeBSD currently has a devel/llvm port, maintained by Hye-Shik Chang (perky@) (CC'd), but this port installs a "tools-only" LLVM. LLVM is much more useful in conjunction with llvm-gcc4 (GCC 4.0.1 acting as a front-end to LLVM), but the process of building llvm-gcc4 from source is a little bit hairy. I've given it my best: http://goanna.cs.rmit.edu.au/~emil/llvm-gcc4-1.9-r4.tar.bz2 (4KB) Unfortunately, my ports-fu is weak and I'm sure I've done some really horrible things in that Makefile (I have tried to clearly mark them with FIXMEs). It'd be really nice if someone with more ports experience could help me polish this port and get it into the ports tree sometime after 1.9 release comes out. -=- More details (duplicated in a big comment in the Makefile): The process for building LLVM with the gcc4 frontend is roughly: 1. Build a tools-only LLVM and don't install it, just leave the object dirs there. 2. Configure llvm-gcc4 against the results of the previous step and build. 3. Install llvm-gcc4. 4. Re-configure LLVM so that it finds the now-installed llvm-gcc binary, build and install LLVM. Hye-Shik and I think a good way to handle this would be to have two ports: * devel/llvm-gcc4 port does #1 through #3 (maybe it should be *lang*/llvm-gcc4?) * devel/llvm port depends on llvm-gcc4 and does #4 We could add a CONFIG knob to the devel/llvm port to let the user choose whether to build a tools-only LLVM or one with a full-blown cfrontend. I don't think this would entail anything more than a dependency in the port Makefile for llvm: building llvm after llvm-gcc4 is installed --Emil