From aabafca0985b38e9207a6d433afd25cf057ac4c7 Mon Sep 17 00:00:00 2001 From: Jason Evans Date: Fri, 8 Dec 2000 20:36:32 +0000 Subject: [PATCH] Do not check for existence of ${_dir}/kern/ , because for modules that set .PATH to ${.CURDIR}/[...]/kern , the "exists" expression will fail for the form exists(${.CURDIR}/[...]/kern/). This appears to be happening because make is searching for the argument to "exists" by using .PATH rather than a relative search, because .PATH and the argument match at the beginning. Additionally, make appears to consider a path that starts with ${.CURDIR} as relative, even though it expands to an absolute path. The reason that most people aren't seeing this problem is that the absolute paths of /usr/src/sys and /sys are also searched, so as long as the kernel source can be found in at least one of those places, no problems surface. This problem was inadvertently introduced on 1 December 2000, with the addition of the sysvipc modules. --- share/mk/bsd.kmod.mk | 4 ++-- sys/conf/kmod.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/share/mk/bsd.kmod.mk b/share/mk/bsd.kmod.mk index 3056daa1f9f..73f9c14cf07 100644 --- a/share/mk/bsd.kmod.mk +++ b/share/mk/bsd.kmod.mk @@ -2,11 +2,11 @@ # Search for kernel source tree in standard places. .for _dir in ${.CURDIR}/../.. ${.CURDIR}/../../.. ${.CURDIR}/../../../.. /sys /usr/src/sys -.if !defined(SYSDIR) && exists(${_dir}/kern/) && exists(${_dir}/conf/) +.if !defined(SYSDIR) && exists(${_dir}/conf/kmod.mk) SYSDIR= ${_dir} .endif .endfor -.if !defined(SYSDIR) || !exists(${SYSDIR}/kern/) || !exists(${SYSDIR}/conf/) +.if !defined(SYSDIR) || !exists(${SYSDIR}/kern) || !exists(${SYSDIR}/conf/) .error "can't find kernel source tree" .endif diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 2fef3b866b8..e0cd6f23423 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -166,7 +166,7 @@ beforedepend ${OBJS}: ${_ILINKS} SYSDIR= ${_dir} .endif .endfor -.if !defined(SYSDIR) || !exists(${SYSDIR}/kern/) +.if !defined(SYSDIR) || !exists(${SYSDIR}/kern) .error "can't find kernel source tree" .endif