From owner-freebsd-ports@FreeBSD.ORG Thu Mar 2 21:26:08 2006 Return-Path: X-Original-To: freebsd-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 021BD16A420; Thu, 2 Mar 2006 21:26:08 +0000 (GMT) (envelope-from marcov@stack.nl) Received: from mailhost.stack.nl (vaak.stack.nl [131.155.140.140]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3591B43D7C; Thu, 2 Mar 2006 21:25:57 +0000 (GMT) (envelope-from marcov@stack.nl) Received: from snail.stack.nl (snail.stack.nl [IPv6:2001:610:1108:5010::131]) by mailhost.stack.nl (Postfix) with ESMTP id 0ACD8A304A; Thu, 2 Mar 2006 22:25:57 +0100 (CET) Received: by snail.stack.nl (Postfix, from userid 816) id 004DC2288F; Thu, 2 Mar 2006 22:25:56 +0100 (CET) In-Reply-To: <1491AB3E-4BA4-445E-A625-51900142534C@FreeBSD.org> To: Ade Lovett Date: Thu, 2 Mar 2006 22:25:56 +0100 (CET) X-Mailer: ELM [version 2.4ME+ PL122g (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="US-ASCII" Message-Id: <20060302212556.004DC2288F@snail.stack.nl> From: marcov@stack.nl (Marco van de Voort) Cc: freebsd-ports@freebsd.org Subject: Re: gtk lib rename. 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: Thu, 02 Mar 2006 21:26:08 -0000 > On Mar 02, 2006, at 12:28 , Marco van de Voort wrote: > > I think I'll have to update the compiler to parse pkgconfig files. > > However I > > hesitate, since that makes the whole system a lot less transparent > > for the > > user. > > Why do you need to parse them when: > > pkg-config --cflags package > and pkg-config --libs package > > will do it for you? That's the whole point of those .pc files No, Multiple reasons: 1) [Snail] which pkg-config /usr/local/bin/pkg-config Uh, and I'm supposed to run files in /usr/local from inside a compiler? Think not. What if it is not installed? Or the env variable is not set? Or not in the path? 2) Besides that, pkg-config parses them and generates parameters for gcc and partially gcc-escaped ld params. I'm not entirely sure what I'm supposed to do with gcc flags in a pascal compiler. Transformation of params might break at the next gcc update anyway. And currently even the GNU ld usage is unsure for this port in the near future (we have an own linker in beta, GNU's too slow and memory hungry for RAD use) Anyway, so I have to parse and interpret anyway, and then I prefer it straight from the source with as much info as possible, and not in a digested form that may change from gcc to gcc version. 3) FreeBSD is not the only OS I have to take into account. I'm already not too fond of having to parse pc files in the first place. This might seem alien to a "normal" port maintainers, but if you have a port like mine that doesn't in principle get *any* info about changes except if you explicitely configure it, any dependancy is a complication that will break horribly and/or need an ugly workaround somewhere in the future to support multiple path locations. KISS all the way. 4) performance. It is destined to be the underpinnings of a RAD (Lazarus). Ever pressed F9 in Borland Delphi? That is the performance we are aiming at, and you don't get it by executing lots of binaries to get a bit of systeminfo. ----------------- Of course all this email wordplay is fun (I of course know I have a not entirely standard port, and have practiced such discussions a lot over the years), but I'm still wondering why there is no sane grace period of say an year with a couple of symlinks? It would save a lot of people a lot of trouble, having to fix the ports at breakneck speed, decrease all breakage with a magnitude, simply because a lot more systems will be up to speed in an year etc.