From owner-freebsd-hackers Sun Sep 12 6:33: 6 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from tinker.com (troll.tinker.com [204.214.7.146]) by hub.freebsd.org (Postfix) with ESMTP id E307415188 for ; Sun, 12 Sep 1999 06:32:55 -0700 (PDT) (envelope-from kim@tinker.com) Received: by localhost (8.8.5/8.8.5) Received: by mail.tinker.com via smap (V2.0) id xma007008; Sun Sep 12 08:11:06 1999 Received: by localhost (8.8.8/8.8.8) id IAA00498; Sun, 12 Sep 1999 08:32:26 -0500 (CDT) Message-ID: <37DBABEC.CEEA2844@tinker.com> Date: Sun, 12 Sep 1999 08:34:36 -0500 From: Kim Shrier Organization: Shrier and Deihl X-Mailer: Mozilla 4.61 [en] (X11; I; FreeBSD 3.2-RELEASE i386) X-Accept-Language: en MIME-Version: 1.0 To: Simon Marlow Cc: "'hackers@freebsd.org'" Subject: Re: How to go about making a compiler port References: <8B57882C41A0D1118F7100805F9F68B51232C0E2@RED-MSG-45> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG The Objective C port in lang/objc has the same problem. The Makefile detects if there is an Objective C compiler and if not, it downloads a bootstrap version of the compiler as C source and builds that first. It then uses the bootstrap compiler to build the Objective C compiler and support libraries. This way, you don't have to add a "make bootstrap" step. Kim Shrier -- Kim Shrier - principal, Shrier and Deihl - mailto:kim@tinker.com Remote Unix Network Admin, Security, Internet Software Development Tinker Internet Services - Superior FreeBSD-based Web Hosting http://www.tinker.com/ Simon Marlow wrote: > > [originally sent to ports, resending to hackers at the suggestion of someone > on that list.] > > Hi Folks, > > I'd like to make a port for our Haskell compiler, GHC (see > http://research.microsoft.com/users/t-simonm/ghc). There are some subtle > problems with this: > > - GHC depends on itself. That is, you need GHC > installed in order to build GHC. > > - GHC depends on Happy, our parser generator. > > - Happy depends on GHC (it's written in Haskell). > > So, one solution would be to provide a binary port, say ghc-bin, which would > install a binary distribution. I checked the modula-3 port, and it doesn't > seem to have a binary port, so what's the accepted way of doing this? > > It's possible to bootstrap GHC from intermediate C files, but it's a bit > fiddly and I'd prefer not to do this if possible. However, one thing that > occurs to me is that the port could bootstrap itself from C if you say 'make > BOOTSTRAP=YES', and otherwise attempt to build using an installed GHC. > > Any thoughts greatly appreciated. > > I'm not on this list, BTW. > > Cheers, > Simon > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message