History log of /freebsd-current/share/mk/bsd.incs.mk
Revision Date Author Comments
# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 53a27d89 14-Dec-2020 Emmanuel Vadot <manu@freebsd.org>

bsd.incs.mk: Add support to override tags for a specific include group

With this patch if a Makefile is using the INCSGROUPS mechanisms it can
override the default package for specific includes files using
GROUPPACKAGE= mynewpackage

While here add a few comments after endif/endfor so it's easier to read.

Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D27611


# 697b271d 20-May-2020 Ed Maste <emaste@FreeBSD.org>

pkgbase: use -dev,-dbg instead of -development,-debug

-development is long and awkward, and is also inconsistent with prior art
from the Linux world, which uses -dev (Debian) or -devel (Red Hat). Follow
the Debian convention, and similarly for debug info packages.

Also remove redundant pkgbase development tag from includes. We already tag
include files with package=runtime,dev; there is no need to separately tag
them as dev.

Discussed with: bapt
Reviewed by: manu
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24139


# dba14204 05-Sep-2019 Emmanuel Vadot <manu@FreeBSD.org>

pkgbase: Add tags for includes in bsd.incs.mk

Otherwise the files aren't packaged.

Reviewed by: bapt, gjb
Differential Revision: https://reviews.freebsd.org/D21507


# 4c1a82ce 05-Sep-2019 Emmanuel Vadot <manu@FreeBSD.org>

pkgbase: Create a FreeBSD-utilities package and make it the default one

The default package use to be FreeBSD-runtime but it should only contain
binaries and libs enough to boot to single user and repair the system, it
is also very handy to have a package that can be tranform to a small mfsroot.
So create a new package named FreeBSD-utilities and make it the default one.
Also move a few binaries and lib into this package when it make sense.
Reviewed by: bapt, gjb
Differential Revision: https://reviews.freebsd.org/D21506


# 2f445a53 06-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Reapply r295227: Stop hiding link install commands.

This was lost in the release-pkg merge in r298107.

Sponsored by: Dell EMC Isilon


# eba4cc15 02-Dec-2016 Bryan Drewery <bdrewery@FreeBSD.org>

DIRDEPS_BUILD: Fix '/' in group names creating a bad cookie.

This is reworking the change in r296585 but to still properly install
the files. This limits the change to only the DIRDEPS_BUILD logic
for what it considers the name of the staging set, which is what the
cookie name is based off of.

Sponsored by: Dell EMC Isilon
MFC after: 1 week


# d7d0effe 02-Dec-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Revert r296585.

This broke installing dtrace test files. It was poorly tested.

Reported by: markj
Pointyhat to: bdrewery
MFC after: 1 week


# 17e75d1c 09-Mar-2016 Bryan Drewery <bdrewery@FreeBSD.org>

These group names may be used as a cookie, so replace any non-fs-safe characters.

One example is in cddl/usr.sbin/dtrace/tests/common/aggs. It could be
fixed but other uses of this would break, especially in the
DIRDEPS_BUILD which uses the group names for stage cookies.

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# db74470b 26-Feb-2016 Bryan Drewery <bdrewery@FreeBSD.org>

DIRDEPS_BUILD: Fix some things building in MAKELEVEL0.

For PROGS this was recursing twice since MAKELEVEL0 is for 'dirdeps'
which then really builds in a sub-make.

Sponsored by: EMC / Isilon Storage Division


# 5e13851e 03-Feb-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Fix style and remove excess / for installing SYMLINKS.

Sponsored by: EMC / Isilon Storage Division


# d3416130 03-Feb-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Stop hiding link install commands.

This is no longer needed now that a .for loop is used rather
than inline shell script.

Sponsored by: EMC / Isilon Storage Division


# 61c20fc7 15-Oct-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Make installing to a non-existent directory an error.

Before this, if a file was installed to DESTDIR/some/dir and that directory
was missing due to not having ran 'make distrib-dirs' yet, the file would
be installed as 'some/dir'. For something like bsd.incs.mk with INCLUDEDIR
being a sub-directory of /usr/include, this could result in all of the headers
being installed to a file rather than getting a directory of them.

Now it will error that the file/directory does not exist rather than hide
the issue.

Another option being discussed is to implement GNU's install -D flag which
would auto create any missing directories.

This is a mitigation of the problem. The proper order to the build is to
run 'make distrib-dirs' first, but that can be forgotten if building from
a sub-directory after updating the source code to the latest revision.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


# b9b3f1e6 14-Oct-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Revert r289282 for now as the interaction with a directory containing
bsd.files.mk and bsd.subdir.mk is recursing too many times.


# 7b877232 13-Oct-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Replace the out-of-place includes/files/config handling in bsd.subdir.mk with
more typical ALL_SUBDIR_TARGETS entries and target hooks in bsd.incs.mk,
bsd.files.mk and bsd.confs.mk.

This allows the targets to be NOPs if unneeded and still work with the
shortcut 'make includes' to build and then install in a parallel-safe manner.

Sort and re-indent the ALL_SUBDIR_TARGETS with the new entries.

Sponsored by: EMC / Isilon Storage Division


# 16927922 13-Oct-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Correct a comment in bsd.incs.mk forgotten in r274662 and copied into bsd.confs.mk.

The bsd.confs.mk may be wrong but for now fix it.

Sponsored by: EMC / Isilon Storage Division


# 25c94486 07-Oct-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Remove extra space badly merged


# eef72759 06-Oct-2015 Simon J. Gerraty <sjg@FreeBSD.org>

In jobs mode we can use .ORDER to force stage_links to run after other
stage_* targets.
In non-jobs mode we can achieve the same result by simply introducing
the targets in the correct order.
Thus in bsd*.mk we simply add targets to STAGE_TARGETS which we
realize in meta.stage.mk

Reviewed by: bdrewery


# 509301d9 24-Sep-2015 Bryan Drewery <bdrewery@FreeBSD.org>

META_MODE: Fix staging not respecting _DIR overrides.

This fixes atf-c.h not properly being installed to /usr/include/ (in
the stagedir) via its override of 'INCSDIR_atf-c.h= ${INCLUDEDIR}'.

This fixes building things that depend on atf.

Staging seems to ignore OWN/GRP/MODE settings and needs further exploration.

Sponsored by: EMC / Isilon Storage Division


# 5428abe1 21-Jun-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Simplify symlinks on include files by using bmake's multivariable .for loops


# 5551c573 04-May-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Rework PRIVATELIB

Now when a lib is marked as PRIVATELIB it is renamed into libprivate$foo instead
of being installed in /usr/lib/private and playing with rpath.

Also allow to install headers for PRIVATELIBS in that case the headers will be
installed in /usr/include/private/$foo

Keep the headers under a private namespace to prevent third party build system
to easily find them to ensure they are only used on purpose.

This allows for non base applications to statically link against a library in
base which is linked to a privatelib

Treating PRIVATELIBS as regular libraries allows to push them into our current
compatX packages if needed.

While here finish promotion of libevent as PRIVATELIB
Install header for bsdstat and libucl

Differential Revision: https://reviews.freebsd.org/D2365
Reviewed by: brooks, des
Discussed with: imp


# dc6d22c9 12-Feb-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Makes it more flexible to tag and define a target package


# 25998b2a 10-Feb-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Tag the metalog with a global default sets of tags that will be used to decide
what will go in which package, more finer grain tagging to come


# 590461a4 18-Nov-2014 Warner Losh <imp@FreeBSD.org>

Acutally, replaces NO_INCS with WITHOUT_INCLUDES and make
WITHOUT_TOOLCHAIN imply it instead.

Sponsored by: Netflix


# 1a682d2c 16-May-2014 Simon J. Gerraty <sjg@FreeBSD.org>

We want to use stage_includes as a hook, so use NO_STAGE_INCLUDES
in include/Makefile to suppress normal behavior


# 347c9de0 25-Apr-2014 Warner Losh <imp@FreeBSD.org>

Eliminate NO_INCS. It is used one place, and MK_TOOLCHAIN=no will
handle the job just as well. Opt for simplicity rather than one more
option.


# 8fe4beee 08-Mar-2013 Simon J. Gerraty <sjg@FreeBSD.org>

Allow staging to be help up (by .WAIT) until other
bits of all: are done.


# 5ac3e457 15-Feb-2013 Simon J. Gerraty <sjg@FreeBSD.org>

We may only have INCSLINKS, and STAGE_SYMLINKS should all be full paths.


# bd64a3c9 22-Jan-2013 Simon J. Gerraty <sjg@FreeBSD.org>

Because the target of SYMLINKS is typically a full path, we
"stage" them to the stage tree rather than a location within.


# 12dd8cb1 21-Jan-2013 Brooks Davis <brooks@FreeBSD.org>

Replace all known uses of ln in the build process with appropriate
install -l invocations via new INSTALL_LINK and INSTALL_SYMLINK
variables.

Sponsored by: DARPA, AFRL
Reviewed by: ian, ray, rpaulo


# 6427a5d4 08-Nov-2012 Simon J. Gerraty <sjg@FreeBSD.org>

defined(${group}NAME) is also a trigger for special handling


# 7750ad47 22-Aug-2012 Marcel Moolenaar <marcel@FreeBSD.org>

Sync FreeBSD's bmake branch with Juniper's internal bmake branch.

Requested by: Simon Gerraty <sjg@juniper.net>


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# e1fe3dba 17-Mar-2006 Ruslan Ermilov <ru@FreeBSD.org>

Reimplementation of world/kernel build options. For details, see:

http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)


# b8435aa8 03-Feb-2006 Ruslan Ermilov <ru@FreeBSD.org>

Handle NO_INCS solely inside bsd.incs.mk.


# f9c16f9c 03-Aug-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Don't install includes if NO_TOOLCHAIN


# 84aac273 11-Apr-2005 Hartmut Brandt <harti@FreeBSD.org>

Make sure the only thing that follows .endif or .else is a comment.


# badb7c1c 02-Jul-2002 Ruslan Ermilov <ru@FreeBSD.org>

Try really hard to fix parallel installs. Add a bunch of .ORDER
directives to ensure that all realinstall sub-tasks are executed
after beforeinstall, similarly ensure that all afterinstall sub-
tasks are executed after realinstall. Demonstration:

all: task1 task2
.ORDER: task1 task2

task2: task2_subtask
.ORDER: task1 task2_subtask

task1 task2 task2_subtask:
@sleep `jot -r 1 0 1.0`
@echo ${.TARGET}

Without the second .ORDER directive, task2_subtask can be run in
parallel with task1.

Spotted by: Andrea Campi <andrea@webcom.it>


# 5d862037 15-May-2002 Ruslan Ermilov <ru@FreeBSD.org>

Rename `includes' to `buildincludes'.
Rename `incsinstall' to `installincludes'.
Make `includes' a -j safe shortcut for `buildincludes' + `installincludes'.
`buildincludes' and `installincludes' are SUBDIR friendly, if run directly.


# c7b111cb 12-May-2002 Ruslan Ermilov <ru@FreeBSD.org>

Added new bsd.incs.mk which handles installing of header files
via INCS. Implemented INCSLINKS (equivalent to SYMLINKS) to
handle symlinking include files. Allow for multiple groups of
include files to be installed, with the powerful INCSGROUPS knob.
Documentation to follow.

Added standard `includes' and `incsinstall' targets, use them
in Makefile.inc1. Headers from the following makefiles were
not installed before (during `includes' in Makefile.inc1):

kerberos5/lib/libtelnet/Makefile
lib/libbz2/Makefile
lib/libdevinfo/Makefile
lib/libform/Makefile
lib/libisc/Makefile
lib/libmenu/Makefile
lib/libmilter/Makefile
lib/libpanel/Makefile

Replaced all `beforeinstall' targets for installing includes
with the INCS stuff.

Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS,
and for compatibility with NetBSD. Similarly for INCOWN, INCGRP,
and INCMODE.

Consistently use INCLUDEDIR instead of /usr/include.

gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes
were only lightly tested due to the missing contrib/libstdc++-v3.
I fully tested the pre-WIP_GCC31 version of this patch with the
contrib/libstdc++.295 stuff.

These changes have been tested on i386 with the -DNO_WERROR "make
world" and "make release".