On Tue, Feb 08, 2022 at 09:56:19AM -0800, Simon J. Gerraty wrote:
> Warner Losh <i...@bsdimp.com> wrote:
> > --- sys/abi_compat.c ---
> > echo "#include <sys/abi_compat.h>" > sys/abi_compat.c
> > sh: cannot create sys/abi_compat.c: No such file or directory
> > *** [sys/abi_compat.c] Error code 2
> > 
> > make[4]: stopped in /usr/src/tools/build/test-includes
> > --- sys/acct.c ---
> > echo "#include <sys/acct.h>" > sys/acct.c
> > sh: cannot create sys/acct.c: No such file or directory
> > *** [sys/acct.c] Error code 2
> > 
> > make[4]: stopped in /usr/src/tools/build/test-includes
> > --- sys/aio.c ---
> > echo "#include <sys/aio.h>" > sys/aio.c
> > sh: cannot create sys/aio.c: No such file or directory
> > *** [sys/aio.c] Error code 2
> > 
> > make[4]: stopped in /usr/src/tools/build/test-includes
> > --- sys/acl.c ---
> > echo "#include <sys/acl.h>" > sys/acl.c
> > sh: cannot create sys/acl.c: No such file or directory
> > *** [sys/acl.c] Error code 2
> > 
> > 
> > 
> > Same here for me for the past couple of weeks. Haven't been able to
> > identify why it fails. My hunch was that a particular objdir wasn't
> > being created. As a workaround I edited the Makefile.inc1 to remove
> > the test-includes command (line 1128 I think).
> 
> The sys subdir does not exist.
> Best bet would be to avoid the need:
> 
> diff --git a/tools/build/test-includes/Makefile 
> b/tools/build/test-includes/Makefile
> index 3ae39a2cb61..eb9016ecc03 100644
> --- a/tools/build/test-includes/Makefile
> +++ b/tools/build/test-includes/Makefile
> @@ -24,11 +24,11 @@ CFLAGS.event.c=   -D_WANT_KEVENT32 
> -D_WANT_FREEBSD11_KEVENT
>  
>  .include "badfiles.inc"
>  
> -.for h in ${HDRS}
> +.for h c in ${HDRS:@x@$x ${x:S,/,_,g:R}.c@}
>  .if !${BADHDRS:M${h}}
> -SRCS+=       ${h:R}.c
> -CLEANFILES+=${h:R}.c
> -${h:R}.c:
> +SRCS+=       $c
> +CLEANFILES+=$c
> +$c:
>       echo "#include <$h>" > ${.TARGET}
>  .endif
>  .endfor
> 
> so you get:
> 
> echo "#include <sys/abi_compat.h>" > sys_abi_compat.c
> echo "#include <sys/acct.h>" > sys_acct.c
> echo "#include <sys/acl.h>" > sys_acl.c
> echo "#include <sys/aio.h>" > sys_aio.c
> echo "#include <sys/alq.h>" > sys_alq.c
> echo "#include <sys/apm.h>" > sys_apm.c
> echo "#include <sys/arb.h>" > sys_arb.c
> echo "#include <sys/asan.h>" > sys_asan.c
> echo "#include <sys/assym.h>" > sys_assym.c
> 
> etc
> 

This would be fine, but should not be necessicary. The sys subdir should
be created by AUTOOBJ.

-- Brooks

Attachment: signature.asc
Description: PGP signature

Reply via email to