Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Nov 2014 13:14:18 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Alfred Perlstein <alfred@freebsd.org>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Why do we have @ in modules builds?
Message-ID:  <9A113544-16B9-4C6E-8AC0-BF718C47A243@bsdimp.com>
In-Reply-To: <5457D7B7.5050503@freebsd.org>
References:  <3285BC54-05D8-41DB-88FE-BAD681A3E45B@bsdimp.com> <5457D2D0.8080201@freebsd.org> <64C28D7A-AD81-4990-B95C-47E81C0E4F0A@bsdimp.com> <5457D7B7.5050503@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]

On Nov 3, 2014, at 12:29 PM, Alfred Perlstein <alfred@freebsd.org> wrote:

> 
> On 11/3/14, 11:22 AM, Warner Losh wrote:
>> On Nov 3, 2014, at 12:09 PM, Alfred Perlstein <alfred@freebsd.org> wrote:
>> 
>>> On 11/3/14, 8:48 AM, Warner Losh wrote:
>>>> Does anybody recall why we have @ symlink in our module builds?
>>>> I’m constantly working around issues that this creates. Maybe it is time
>>>> to eliminate it?
>>>> 
>>>> So I’ve posted the following review: https://reviews.freebsd.org/D1100
>>>> 
>>>> Warner
>>>> 
>>> Thank you!!!!  I hate the '@' thing as well, I figured it was just due to someone not wanting 'grep -r' to work. :)
>>> 
>>> Just to check, after your changes... will you still be able to do something like:
>>> 
>>> cd $HOME
>>> svn co https://.../base/head/sys/modules/foo_module
>>> cd foo_module
>>> make depend all install
>> It should behave the same it does today. I’m replacing a ln -s ${SYSDIR} @ with an in-line replacement of @ with ${SYSDIR}.
> Excellent!
> 
> I did a history check to see why these came to be and it looks like it was just an oversight to use "@ links" instead of just SYSDIR as far as I can tell...

Back in the deep, dark past of FreeBSD’s build system:

>Revision 32813 - Mon Jan 26 20:36:38 1998 UTC (16 years, 9 months ago) by bde 
>
>Generate symlinks to the "sys" and <machine> directories and put
>them in the include path.  This fixes recent breakage of the syscons
>LKMs and general brokenness of the include paths (headers under
>/usr/include were used in many cases).

it was introduced. This is still in the lkm era. This pre-dates SYSDIR being
meaningful. That had to wait until:

>Revision 59097 - Sat Apr 8 17:20:00 2000 UTC (14 years, 6 months ago) by imp 
>Add support for compiling kernel modules outside of the tree.  If you
>do not have the kernel you wish to compile against in either
>/usr/src/sys or /sys, then you will need to set SYSDIR to point to the
>sys directory of the source tree that contians the source.
>
>Also, minor tweaks to the load/unload targets from Bruce.
>
>I've had this through several make worlds, as well as using it on a
>daily basis for the past couple of weeks to build modules needed for
>testing at Timing Solutions.
>
>Reviewed and revised by: bde
>Work sponsored by: Timing Solutions

so I’m only 14 years tardy in “finishing” this change set :)

Warner


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUV+IaAAoJEGwc0Sh9sBEAIpcQAOBLKticcoxF5sYu4zYHmIAR
Xb38iCplsBhAmx6hmiBZXXKumiqok4SgVgM+DCG+jh5nclJygXuN7JGCaDZU8yep
YKSqG481GjrwMExOXEPK4irRqhLn/V79TkS5OP+pumdapRJWQsFwDT7j9BlDF2y+
iNWF8ra8oDHDLryo7b20Kx6AgM0Jt99qWyweYjCsVVE32XjM2WNWjH3JmCAK4+ix
6eymBnVTY2nx0NGH8scaDLuOM/RgLElMR7Fv6DeCFer4bHLurQ+6UZSiIROYFue/
AxASfRch8JIhESWIE/Gf6SG1EcBgMUJpVoWE7/lyEi3ACh0/+ESdbkOM43qHd7+Y
3mtZl5BA3AMffYyYo1lZY4VrE0xxCJ3EtmUFoLW7BaaFXw90r35vGaXviJqIpaRj
ZeknG1PtH+ORR6bLTmYPpfsIgv36l6JTI781wp1LkxlMKhk3sOaxFnX8TTjVNwnK
otBENUlXUhv5SYVSCwxn7oTZS7KuxviaeGc8gO80MjhD1o4yD89CBrjo9nOkooOZ
0QyESWQ5zsypNLcmu+yWSMACHWWOMBVgmj3JZyrf+T5mwELUo4YU4R6MMuEE/82f
NXA4zU1L96q2anBj6nDY3KQCZFOXl7a7d0/Nx61tz4fO5nrf/jTeFE8bKr6dfvtb
vAzjDk7s+7pJ3gD1Cf8A
=07nM
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9A113544-16B9-4C6E-8AC0-BF718C47A243>