Revision tags: release/14.0.0 |
|
#
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0 |
|
#
33ae1ff7 |
| 07-Apr-2020 |
Bryan Drewery <bdrewery@FreeBSD.org> |
NO_OBJ: Always fix .OBJDIR regardless of AUTO_OBJ.
Sponsored by: Dell EMC MFC after: 2 weeks
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
#
b00a5bd5 |
| 06-Dec-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
AUTO_OBJ: Don't create nested OBJDIRS with print-dir or make -n.
Sponsored by: Dell EMC
|
#
f8190300 |
| 10-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325505 through r325662.
|
#
fa65e3a5 |
| 10-Nov-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Handle some .OBJDIR == .CURDIR cases.
- If OBJROOT is SRCTOP then don't add on TARGET.TARGET_ARCH. This only happens at the top-level, and for sub-directories when the user is clever with MAKEO
Handle some .OBJDIR == .CURDIR cases.
- If OBJROOT is SRCTOP then don't add on TARGET.TARGET_ARCH. This only happens at the top-level, and for sub-directories when the user is clever with MAKEOBJDIRPREFIX=/. - Don't bother checking 'test -w' on .CURDIR. - Properly set OBJTOP/OBJROOT to SRCTOP in various needed cases. - Check if the OBJDIR is writable even for *clean* targets since it determines which .OBJDIR the user gets; If they cannot write to an existing eligible .OBJDIR then it needs to clean in .CURDIR instead. - Add guard to cleanworld/cleanuniverse from removing SRCTOP. - Ensure OBJTOP is proper for .OBJDIR=.CURDIR which fixes finding libraries since src.libnames.mk is based on OBJTOP. - Avoid some chdir(2) for modifying .OBJDIR
Sponsored by: Dell EMC Isilon
show more ...
|
#
13ea0779 |
| 09-Nov-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Mark targets .PHONY.
This avoids the obvious of not running the target when expected, but also avoids META_MODE from showing 'Building'. This is mostly only a problem when directly including bsd.ob
Mark targets .PHONY.
This avoids the obvious of not running the target when expected, but also avoids META_MODE from showing 'Building'. This is mostly only a problem when directly including bsd.obj.mk as many of these targets were already .PHONY via bsd.sys.mk.
Sponsored by: Dell EMC Isilon
show more ...
|
#
c2c014f2 |
| 07-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r323559 through r325504.
|
#
c6d98d62 |
| 05-Nov-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Follow-up r325405: Fix assertion still for kernel module builds.
Apparently they have SRCTOP set, but won't have RELDIR set since they are not in-tree.
Pointyhat to: bdrewery Reported by: O. Hartma
Follow-up r325405: Fix assertion still for kernel module builds.
Apparently they have SRCTOP set, but won't have RELDIR set since they are not in-tree.
Pointyhat to: bdrewery Reported by: O. Hartmann <ohartmann@walstatt.org>, dhw Tested by: dhw Sponsored by: Dell EMC Isilon
show more ...
|
#
254d2760 |
| 05-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r325422
|
#
b284f322 |
| 05-Nov-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
AUTO_OBJ: Allow 'make cleandir obj all' combinations.
The cleanobj target will not really remove the OBJDIR in this case, it will only remove the OBJDIR if only clean targets are ran.
Sponsored by:
AUTO_OBJ: Allow 'make cleandir obj all' combinations.
The cleanobj target will not really remove the OBJDIR in this case, it will only remove the OBJDIR if only clean targets are ran.
Sponsored by: Dell EMC Isilon
show more ...
|
#
aba77ddd |
| 05-Nov-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
AUTO_OBJ: Set .OBJDIR=.CURDIR earlier for NO_OBJ Makefiles.
auto.obj.mk is loaded before the Makefile which may have NO_OBJ set inside of it. In that case we can't avoid creating the OBJDIR but we
AUTO_OBJ: Set .OBJDIR=.CURDIR earlier for NO_OBJ Makefiles.
auto.obj.mk is loaded before the Makefile which may have NO_OBJ set inside of it. In that case we can't avoid creating the OBJDIR but we do need to avoid using it. Fixing .OBJDIR in bsd.init.mk at least fixes all of the build .mk files to have a proper .OBJDIR. It does not fix the Makefile itself but usually if they have NO_OBJ set they are not inspecting ${.OBJDIR} anyhow.
It is ideal to only have this in bsd.init.mk and to remove it from bsd.obj.mk, but then bsd.obj.mk would need to include bsd.init.mk. Doing something like that would require more testing. It has been proposed that bsd.obj.mk not be included directly but it has been possible for too long to do so to change it at this point.
Note too that it may make sense to fix .OBJDIR even when AUTO_OBJ is not enabled but the historical behavior has always been that NO_OBJ just avoids running 'make obj', so .OBJDIR should already be .CURDIR.
Also while NO_OBJ seems like it should be removed at this point, it is not always possible to fix Makefiles to properly use an .OBJDIR. The cost of keeping NO_OBJ support is minimal.
Sponsored by: Dell EMC Isilon
show more ...
|
#
d949e92a |
| 04-Nov-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Follow-up r325405: Only enable assertion for in-tree src builds.
Pointyhat to: bdrewery Reported by: O. Hartmann <ohartmann@walstatt.org> Sponsored by: Dell EMC Isilon
|
#
968be8a7 |
| 04-Nov-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Add an assertion to avoid the 'rm -rf /etc' case from cleanobj fixed in r325404.
Sponsored by: Dell EMC Isilon
|
#
f6e116ee |
| 04-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r325383
|
#
dfa09989 |
| 01-Nov-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Add option UNIFIED_OBJDIR, on by default, which moves the default build OBJDIR.
This changes the build OBJDIR from the older style of /usr/obj/<srcdir> for native builds, and /usr/obj/<target>.<targ
Add option UNIFIED_OBJDIR, on by default, which moves the default build OBJDIR.
This changes the build OBJDIR from the older style of /usr/obj/<srcdir> for native builds, and /usr/obj/<target>.<target_arch>/<srcdir> for cross builds to a new simpler format of /usr/obj/<srcdir>/<target>.<target_arch>. This new format is used regardless of cross or native build. It allows easier management of multiple source tree object directories.
The UNIFIED_OBJDIR option will be removed and its feature made permanent for the 12.0 release.
Relnotes: yes (don't note UNIFIED_OBJDIR option since it will be removed) Prior work: D3711 D874 Reviewed by: gjb, sjg Discussed at: https://lists.freebsd.org/pipermail/freebsd-arch/2016-May/017805.html Discussed with: emaste Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12840
show more ...
|
Revision tags: release/10.4.0 |
|
#
0275f9db |
| 11-Aug-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r321383 through r322397.
|
#
69ef36e3 |
| 01-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321829
|
#
95101c1c |
| 25-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321457
|
#
01ba2b63 |
| 25-Jul-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
cleandir: Fix ESTALE errors from parallel removals.
This fixes 'make cleandir' to use the same ordering as 'make cleanobj'. Meaning that SUBDIR will be recursed before the current directory is handl
cleandir: Fix ESTALE errors from parallel removals.
This fixes 'make cleandir' to use the same ordering as 'make cleanobj'. Meaning that SUBDIR will be recursed before the current directory is handled. This avoids an 'rm -rf /usr/obj/usr/src/lib/libc' while a child 'rm -rf /usr/obj/usr/src/lib/libc/tests' is being ran next, or even removing the current directory and then recursing into a child and using the 'missing OBJDIR' logic to remove files rather than the directory.
The most ideal ordering here would be for 'cleanobj' and 'cleandir' to simply remove the .OBJDIR and then not recurse at all. This is only safe if it is guaranteed that all children directories have no orphaned files in their source checkout and are only using obj directories. This is usually safe from the top-level build targets and when using WITH_AUTO_OBJ. Improving the build for those cases is coming.
Reported by: cperciva, scottl X-MFC-With: r321427 MFC after: 2 weeks Sponsored by: Dell EMC Isilon
show more ...
|
#
20be6d3f |
| 24-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321431
|
#
531c2d7a |
| 24-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r320180
|
#
13353986 |
| 24-Jul-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
PROGS: Fix ESTALE errors on NFS while cleaning in directories with PROGS.
- Only recurse on cleanobj/cleandir if there is no .OBJDIR being used. If we don't recurse then bsd.obj.mk will just rm -r
PROGS: Fix ESTALE errors on NFS while cleaning in directories with PROGS.
- Only recurse on cleanobj/cleandir if there is no .OBJDIR being used. If we don't recurse then bsd.obj.mk will just rm -rf the OBJDIR dir. - When recursing on cleanobj/cleandir don't remove dependfiles/dirs redundantly from the child and main processes. Meaning '.depend', and 'tags', and '.depend.*' will now only be removed from the main process. - Stop recursing on 'cleandepend' since the main process can handle removing all files via the default glob patterns in CLEANDEPENDFILES. - This reverts r288201, by readding recursion on 'cleanobj', due to r291635 changing how bsd.subdir.mk handles recursion.
This is primarily targeting ESTALE NFS errors from rm(1) during a buildworld but is also a performance optimization as both issues fixed were redundant anyway.
Reported by: cperciva, scottl MFC after: 2 weeks Sponsored by: Dell EMC Isilon
show more ...
|
#
2ae97682 |
| 24-Jul-2017 |
Bryan Drewery <bdrewery@FreeBSD.org> |
cleanobj: Unhide removal of directory.
MFC after: 2 weeks Sponsored by: Dell EMC Isilon
|
#
bca9d05f |
| 23-Jul-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r319973 through 321382.
|
Revision tags: release/11.1.0 |
|
#
a3604b95 |
| 27-Jun-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r320042 through r320397.
|