From owner-svn-src-all@freebsd.org Mon Mar 6 23:19:27 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4ADE7CFBE36; Mon, 6 Mar 2017 23:19:27 +0000 (UTC) (envelope-from lidl@FreeBSD.org) Received: from hydra.pix.net (hydra.pix.net [IPv6:2001:470:e254::4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.pix.net", Issuer "Pix.Com Technologies LLC CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id F0C5C13E6; Mon, 6 Mar 2017 23:19:26 +0000 (UTC) (envelope-from lidl@FreeBSD.org) Received: from torb.pix.net (torb.pix.net [IPv6:2001:470:e254:10:1042:6a31:1deb:9f8a]) (authenticated bits=0) by hydra.pix.net (8.16.0.19/8.15.2) with ESMTPA id v26NJPGu010595; Mon, 6 Mar 2017 18:19:25 -0500 (EST) (envelope-from lidl@FreeBSD.org) Subject: Re: svn commit: r314654 - in head/cddl: lib/drti lib/libavl lib/libctf lib/libdtrace lib/libnvpair lib/libumem lib/libuutil lib/libzfs lib/libzfs_core lib/libzpool sbin/zfs sbin/zpool usr.bin/ctfconver... To: rgrimes@FreeBSD.org, Bryan Drewery References: <201703042039.v24KdcDE078734@pdx.rh.CN85.dnsmgr.net> Cc: Ngie Cooper , src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org Reply-To: lidl@FreeBSD.org From: Kurt Lidl Message-ID: Date: Mon, 6 Mar 2017 18:19:25 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <201703042039.v24KdcDE078734@pdx.rh.CN85.dnsmgr.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Mar 2017 23:19:27 -0000 On 3/4/17 3:39 PM, Rodney W. Grimes wrote: > Idk, maybe I am to personally attached to the relative paths.. cause I > had a major part in helping them all to work, or perhaps its my been > burned by absolute paths that had to be reworked too many times in > my past. But my gutt is telling me this change is Bad(tm). > At my prior job, where we ended up starting off with a bunch of userland programs in a repository, we had a variable that was set to get you to the top of the source tree. It was set in ../Makefile.inc, so if one just used ".include " in the Makefile, one got the variable "for free", as the stock bsd.prog.mk file would include the ../Makefile.inc by default. While there were maintenance issues with this scheme, I ultimately ended up coding up something similar to the SRCTOP for our purposes, once we decided to start moving programs around in the tree. I think one of the big issues with relative locations of other resources in the tree is that one has to encode two pieces of information in the Makefiles. Both the location of the program being compiled (so it can find the top), and the location of the resource that is being accessed (so the compile can walk down the tree to find whatever is being referenced). With something like SRCTOP, only the second piece of information needs to be encoded in the Makefile. I think that eliminating half of the information about how to find the external resources is actually a good thing. -Kurt