summaryrefslogtreecommitdiff
path: root/share/mk
AgeCommit message (Collapse)Author
2022-01-09do not call ranlib -t anymore because it does nothing except wasting time;Robert Nagy
ok jca@, millert@
2022-01-08Use ${.ALLSRC:M*.y} instead of ${.IMPSRC} as the input file for yacc,Patrick Wildt
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@
2021-11-23add llvm-ar(1) to the build with its two dependencies libLLVMDlltoolDriverRobert Nagy
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@
2021-08-31Make include bsd.prog.mk is supporting PROGS for a while. AllowAlexander Bluhm
multiple programs also in bsd.regress.mk for consistency. OK anton@
2021-08-21Switch macppc to ld.lldgkoehler
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@
2021-08-177.0-betaTheo de Raadt
2021-06-09Enable libexecinfo.mortimer
With some build plumbing help from jsg@ ok kettenis@ sthen@
2021-05-02disable base-gcc on amd64; ok jca@ deraadt@Christian Weisgerber
2021-05-01Retire OpenBSD/sgi.Visa Hankala
OK deraadt@
2021-04-29riscv64 share/mkDale Rahn
Add riscv64 to the list of PIE/static PIE and clang architectures.
2021-02-066.9-betaTheo de Raadt
2021-01-29Stop building gcc on macppc.Mark Kettenis
ok cwen@, deraadt@
2021-01-10Disable base-gcc on loongson and octeon.Visa Hankala
OK deraadt@
2020-12-22Make clang the default compiler on loongson.Visa Hankala
OK deraadt@
2020-12-17Run setup_once targets in a sepearate block with headline beforeAlexander Bluhm
all other targets. OK tb@
2020-12-16When debugging tests, it is useful to see the target name and whichAlexander Bluhm
output belongs to it. Echo headline with regress target and empty line afterwards. OK sthen@ tb@ OK claudio@
2020-09-22Link up libagentxMartijn van Duren
2020-08-31crank to 6.8-betaTheo de Raadt
2020-07-20Add powerpc64 to PIE_ARCH and STATICPIE_ARCH.Mark Kettenis
ok drahn@
2020-07-04Stop defining NOPIC on powerpc64.gkoehler
ok kettenis@ drahn@
2020-05-30Initial set of changes to build powerpc64 toolchain.Dale Rahn
Disable PIC/PIE for powerpc64 for now.
2020-05-26The EXCLUDE_REGEX needs some tweaking for 6.6 and 6.7 syspatch builds.Theo Buehler
ok robert
2020-04-05crank to 6.7-betaTheo de Raadt
2020-04-02Switch the default compiler on powerpc to clang.Mark Kettenis
ok deraadt@
2019-11-15libusb was renamed to libusbhid in 2001 but the old DPADD var name wasJonathan Gray
kept. Rename LIBUSB to LIBUSBHID as there is only one LIBUSB use and many more attempts to refer to LIBUSBHID.
2019-11-14add LIBCBOR and LIBFIDO2Jonathan Gray
2019-09-06disable base-gcc on armv7, sets from deraadt@; ok deraadt@ kettenis@ jca@Christian Weisgerber
2019-08-27disable base-gcc on i386, from daniel@, ok deraadtStuart Henderson
2019-08-10move to 6.6-betaTheo de Raadt
2019-07-01Switch the default compiler on octeon to clang.Visa Hankala
OK deraadt@
2019-06-17add REGRESS_EXPECTED_FAILURES variable,Marc Espie
for those tests that are expected to fail because they're not yet implemented. okay bluhm@
2019-06-15simplify cleanup handlingMarc Espie
okay bluhm@
2019-06-11make things slightly less insane:Marc Espie
- 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@
2019-05-14Remove the REGRESS_MAXTIME feature from regress framework. TheAlexander 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@
2019-04-21Build clang on powerpc.Mark Kettenis
ok deraadt@
2019-04-17Switch powerpc to big PIC. This is necessary to build libc++abi and libc++Mark Kettenis
since clang doesn't seem to support secure-plt for small pic. ok deraadt@, millert@
2019-04-02libLLVM.a is no longer installedJonathan Gray
2019-04-02new variable NOLIBSTATIC= prevents installation of a static library,Theo de Raadt
in cases where you don't want it installed, or it isn't built. ok jsg
2019-04-02Remove commented-out historical ranlib operation, which would beTheo de Raadt
duplicate work.
2019-04-02only static libraries undergo ranlinkTheo de Raadt
2019-04-01aarch64 also uses PIE by default, make ${NOPIE*} flags availableJeremie Courreges-Anglas
Might help speed up parts like base-clang. Also, better be consistent. ok kettenis@ deraadt@
2019-03-05add libLLVMJonathan Gray
2019-02-26crank to 6.5-betaTheo de Raadt
2019-02-24Remove -S from install commandskn
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.
2019-02-20when building syspatches with lld exclude more non-existent object filesRobert Nagy
ok ajacoutot@, tb@
2019-02-11During build, delete all old library relink files to save disk space.Theo de Raadt
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
2019-02-07add LIBELFJonathan Gray
2019-01-28Switch i386 to use lld as the default linker.Christian Weisgerber
ok deraadt@
2018-12-30Define SOLIB when assembling for a shared-object libraryPhilip Guenther
ok tedu@
2018-12-03If a regress uses REGRESS_SKIP_TARGETS to skip part of its tests,Alexander Bluhm
print SKIPPED. This helps to detect such incomplete tests. OK anton@