Age | Commit message (Collapse) | Author |
|
ok jca@, millert@
|
|
to fix a bug where ${.IMPSRC} (aka $<) is used in a context where it
is not neccessarily defined by OpenBSD make. This would sometime show
up trying to build libpcap with the following error message:
Using $< in a non-suffix rule context is a GNUmake idiom (<bsd.dep.mk>:47)
The issue is with the rule for the grammar.h file that is generated
by yacc from grammar.c. You can easily reproduce the bug with the
following steps:
- build libpcap from scratch: cd src/lib/libpcap && make clean all
- remove the generated grammar.h file: rm obj*/grammar.h
- build libpcap again (incremental build): make
In normal builds this does not trigger as grammar.h is implicitly
generated by the rule for grammar.c and when make checks for
dependencies it simply finds grammar.h uptodate. However, incremental
or parallel builds might decide to make grammar.h from grammar.y.
Now, why is this only a problem for grammar.h but not for grammar.c?
The answer to this question is burried deeply in OpenBSD's mk files.
The snippet in bsd.dep.mk that triggers the error is a single rule
statement that generates foo.c and foo.h from foo.y with a call to
yacc -d. The rule is generated with a loop, i.e. it is not a prefix
rule. However, a prefix rule context is required for the use of
${.IMPSRC} aka $<. For the .c file such a prefix rule is provided by
bsd.sys.mk and this rule is in scope when make evaluates the yacc rule.
However, for .h file generation from a .y file there is no such prefix
rule defined in any of the Makefiles. Even if it were the .h suffix is
missing from .SUFFIXES and the rule would not be considered.
The obvious way to fix this would be to use $f instead of ${.IMPSRC}.
However, this does not work as $f is then missing the path prefix and
yacc won't find it if an obj directory is used. This is probably the
reason for the use of ${.IMPSRC} in the first place.
Committing on behalf of ehrhardt@
"I like the diff" deraadt@
ok guenther@
|
|
and libLLVMLibDriver;
switch LLD_ARCHs to llvm-ar(1) by skipping the installation of binutils' ar(1)
and linking llvm-ar(1) to ar(1)
tested on amd64, i386, arm64 and mips64
ok patrick@, kettenis@
|
|
multiple programs also in bsd.regress.mk for consistency.
OK anton@
|
|
Add powerpc to LLD_ARCH. Remove -Wl,-relax flag; ld.bfd needed it,
but ld.lld can't take this flag.
To avoid linker errors on macppc, you need a snapshot where
/usr/bin/ld is LLD.
ok kettenis@ deraadt@
|
|
|
|
With some build plumbing help from jsg@
ok kettenis@ sthen@
|
|
|
|
OK deraadt@
|
|
Add riscv64 to the list of PIE/static PIE and clang architectures.
|
|
|
|
ok cwen@, deraadt@
|
|
OK deraadt@
|
|
OK deraadt@
|
|
all other targets.
OK tb@
|
|
output belongs to it. Echo headline with regress target and empty
line afterwards.
OK sthen@ tb@ OK claudio@
|
|
|
|
|
|
ok drahn@
|
|
ok kettenis@ drahn@
|
|
Disable PIC/PIE for powerpc64 for now.
|
|
ok robert
|
|
|
|
ok deraadt@
|
|
kept. Rename LIBUSB to LIBUSBHID as there is only one LIBUSB use and
many more attempts to refer to LIBUSBHID.
|
|
|
|
|
|
|
|
|
|
OK deraadt@
|
|
for those tests that are expected to fail because they're not yet
implemented.
okay bluhm@
|
|
okay bluhm@
|
|
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)
okay bluhm@
|
|
timeout based on CPU seconds is pretty useless, most hanging tests
sleep and do not spin. The timeout could not be distinguished from
failure. Only 3 tests used it.
OK anton@ schwarze@ cheloha@ otto@
|
|
ok deraadt@
|
|
since clang doesn't seem to support secure-plt for small pic.
ok deraadt@, millert@
|
|
|
|
in cases where you don't want it installed, or it isn't built.
ok jsg
|
|
duplicate work.
|
|
|
|
Might help speed up parts like base-clang. Also, better be consistent.
ok kettenis@ deraadt@
|
|
|
|
|
|
As of usr.bin/xinstall/install.c revision 1.68, -S is a no-op and
install(1) will always create files safely, thus clean the option usage
from the tree.
Diff from Lauri Tirkkonen <lotheac at iki dot fi>, thanks.
|
|
ok ajacoutot@, tb@
|
|
It is not typical for "make build" to do pruning of the base system, but
... not sure where else we can do this
ok kettenis
|
|
|
|
ok deraadt@
|
|
ok tedu@
|
|
print SKIPPED. This helps to detect such incomplete tests.
OK anton@
|