aboutsummaryrefslogtreecommitdiff
path: root/include/Makefile
Commit message (Collapse)AuthorAgeFilesLines
...
* Introduce nexthop objects and new routing KPI.Alexander V. Chernikov2020-04-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the foundational change for the routing subsytem rearchitecture. More details and goals are available in https://reviews.freebsd.org/D24141 . This patch introduces concept of nexthop objects and new nexthop-based routing KPI. Nexthops are objects, containing all necessary information for performing the packet output decision. Output interface, mtu, flags, gw address goes there. For most of the cases, these objects will serve the same role as the struct rtentry is currently serving. Typically there will be low tens of such objects for the router even with multiple BGP full-views, as these objects will be shared between routing entries. This allows to store more information in the nexthop. New KPI: struct nhop_object *fib4_lookup(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, uint32_t flowid); struct nhop_object *fib6_lookup(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, uint32_t flowid); These 2 function are intended to replace all all flavours of <in_|in6_>rtalloc[1]<_ign><_fib>, mpath functions and the previous fib[46]-generation functions. Upon successful lookup, they return nexthop object which is guaranteed to exist within current NET_EPOCH. If longer lifetime is desired, one can specify NHR_REF as a flag and get a referenced version of the nexthop. Reference semantic closely resembles rtentry one, allowing sed-style conversion. Additionally, another 2 functions are introduced to support uRPF functionality inside variety of our firewalls. Their primary goal is to hide the multipath implementation details inside the routing subsystem, greatly simplifying firewalls implementation: int fib4_lookup_urpf(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if); int fib6_lookup_urpf(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if); All functions have a separate scopeid argument, paving way to eliminating IPv6 scope embedding and allowing to support IPv4 link-locals in the future. Structure changes: * rtentry gets new 'rt_nhop' pointer, slightly growing the overall size. * rib_head gets new 'rnh_preadd' callback pointer, slightly growing overall sz. Old KPI: During the transition state old and new KPI will coexists. As there are another 4-5 decent-sized conversion patches, it will probably take a couple of weeks. To support both KPIs, fields not required by the new KPI (most of rtentry) has to be kept, resulting in the temporary size increase. Once conversion is finished, rtentry will notably shrink. More details: * architectural overview: https://reviews.freebsd.org/D24141 * list of the next changes: https://reviews.freebsd.org/D24232 Reviewed by: ae,glebius(initial version) Differential Revision: https://reviews.freebsd.org/D24232 Notes: svn path=/head/; revision=359823
* Remove redundant development tag from include MakefileEd Maste2020-04-011-1/+0
| | | | | | | | | | | Headers are placed in the -development package via install args in rules in share/mk/bsd.incs.mk; there is no need to explicitly modify TAGS in include/Makefile. (Mentioned in review D24139.) Discussed with: manu Notes: svn path=/head/; revision=359522
* Finish removal of bktrWarner Losh2020-03-011-11/+3
| | | | | | | | | | Remove the old ioctl .h files Remove copying/linking ioctl .h files in instasllworld Remove bktr from lint Add now-removed files with ObsoleteFiles Notes: svn path=/head/; revision=358500
* pkgbase: Add TAG for evdev and veriexec headersEmmanuel Vadot2019-09-051-4/+4
| | | | | | | | Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D21505 Notes: svn path=/head/; revision=351857
* Remove NAND and NANDFS supportWarner Losh2019-06-251-17/+3
| | | | | | | | | | | | | | | | | | | | | NANDFS has been broken for years. Remove it. The NAND drivers that remain are for ancient parts that are no longer relevant. They are polled, have terrible performance and just for ancient arm hardware. NAND parts have evolved significantly from this early work and little to none of it would be relevant should someone need to update to support raw nand. This code has been off by default for years and has violated the vnode protocol leading to panics since it was committed. Numerous posts to arch@ and other locations have found no actual users for this software. Relnotes: Yes No Objection From: arch@ Differential Revision: https://reviews.freebsd.org/D20745 Notes: svn path=/head/; revision=349352
* Move/rename the sys/pwm.h header file to dev/pwm/pwmc.h. The file containsIan Lepore2019-06-151-2/+2
| | | | | | | | | ioctl definitions and related datatypes that allow userland control of pwm hardware via the pwmc device. The new name and location better reflects its assocation with a single device driver. Notes: svn path=/head/; revision=349074
* Add verifying manifest loader for mac_veriexecSimon J. Gerraty2019-02-261-3/+12
| | | | | | | | | | | This tool will verify a signed manifest and load contents into mac_veriexec for storage Sponsored by: Juniper Networks Differential Revision: D16575 Notes: svn path=/head/; revision=344567
* Handle -DNO_ROOT for `make compat` in include/Alex Richardson2018-08-231-1/+1
| | | | | | | | | | Otherwise this step will fail on a Linux host due to missing "wheel" group Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D16841 Notes: svn path=/head/; revision=338266
* Install symlink for sys/nvpair.h in include/Makefile symlinks targetKyle Evans2018-08-131-0/+5
| | | | | | | | | Noticed while fixing the install/sysroot situation for libnvpair and libzfs_core- if one uses the symlinks target, libzfs_core.h is not installed. Notes: svn path=/head/; revision=337700
* Use INCS for non-sys/ libnvpair and libzfs_core includesKyle Evans2018-08-131-6/+0
| | | | | | | | | | | | | | | | | | While nothing was wrong with libnvpair.h, libzfs_core.h was only guarded by MK_CDDL rather than MK_CDDL && MK_ZFS. Rather than ugl'if'ying include/Makefile to impose the extra restriction, just move the non-sys/ includes into INCS with the respect lib builds. This has the added bonus of allowing third party packagers to try and split these libs out of the FreeBSD-runtime package, if they are so inclined. The sys/ include was left alone- generally userland libraries shouldn't install kernel headers. MFC after: 1 week Notes: svn path=/head/; revision=337696
* Import the netdump client code.Mark Johnston2018-05-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is a component of a system which lets the kernel dump core to a remote host after a panic, rather than to a local storage device. The server component is available in the ports tree. netdump is particularly useful on diskless systems. The netdump(4) man page contains some details describing the protocol. Support for configuring netdump will be added to dumpon(8) in a future commit. To use netdump, the kernel must have been compiled with the NETDUMP option. The initial revision of netdump was written by Darrell Anderson and was integrated into Sandvine's OS, from which this version was derived. Reviewed by: bdrewery, cem (earlier versions), julian, sbruno MFC after: 1 month X-MFC note: use a spare field in struct ifnet Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D15253 Notes: svn path=/head/; revision=333283
* Retire lmc(4)Ed Maste2018-05-011-1/+1
| | | | | | | | | | | | | | This driver supports legacy, 32-bit PCI devices, and had an ambiguous license. Supported devices were already reported to be rare in 2003 (when an earlier version of the driver was removed in r123201). Reviewed by: rgrimes Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D15245 Notes: svn path=/head/; revision=333144
* Add the "TCP Blackbox Recorder" which we discussed at the developerJonathan T. Looney2018-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | summits at BSDCan and BSDCam in 2017. The TCP Blackbox Recorder allows you to capture events on a TCP connection in a ring buffer. It stores metadata with the event. It optionally stores the TCP header associated with an event (if the event is associated with a packet) and also optionally stores information on the sockets. It supports setting a log ID on a TCP connection and using this to correlate multiple connections that share a common log ID. You can log connections in different modes. If you are doing a coordinated test with a particular connection, you may tell the system to put it in mode 4 (continuous dump). Or, if you just want to monitor for errors, you can put it in mode 1 (ring buffer) and dump all the ring buffers associated with the connection ID when we receive an error signal for that connection ID. You can set a default mode that will be applied to a particular ratio of incoming connections. You can also manually set a mode using a socket option. This commit includes only basic probes. rrs@ has added quite an abundance of probes in his TCP development work. He plans to commit those soon. There are user-space programs which we plan to commit as ports. These read the data from the log device and output pcapng files, and then let you analyze the data (and metadata) in the pcapng files. Reviewed by: gnn (previous version) Obtained from: Netflix, Inc. Relnotes: yes Differential Revision: https://reviews.freebsd.org/D11085 Notes: svn path=/head/; revision=331347
* Add kernel and userspace code to dump the firmware state of supportedHans Petter Selasky2018-03-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | ConnectX-4/5 devices in mlx5core. The dump is obtained by reading a predefined register map from the non-destructive crspace, accessible by the vendor-specific PCIe capability (VSC). The dump is stored in preallocated kernel memory and managed by the mlx5tool(8), which communicates with the driver using a character device node. The utility allows to store the dump in format <address> <value> into a file, to reset the dump content, and to manually initiate the dump. A call to mlx5_fwdump() should be added at the places where a dump must be fetched automatically. The most likely place is right before a firmware reset request. Submitted by: kib@ MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=330653
* An MMC/SD/SDIO stack using CAMWarner Losh2017-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Implement the MMC/SD/SDIO protocol within a CAM framework. CAM's flexible queueing will make it easier to write non-storage drivers than the legacy stack. SDIO drivers from both the kernel and as userland daemons are possible, though much of that functionality will come later. Some of the CAM integration isn't complete (there are sleeps in the device probe state machine, for example), but those minor issues can be improved in-tree more easily than out of tree and shouldn't gate progress on other fronts. Appologies to reviews if specific items have been overlooked. Submitted by: Ilya Bakulin Reviewed by: emaste, imp, mav, adrian, ian Differential Review: https://reviews.freebsd.org/D4761 merge with first commit, various compile hacks. Notes: svn path=/head/; revision=320844
* Utilize SYSROOT from r320119 in places where DESTDIR may be wanting WORLDTMP.Bryan Drewery2017-06-191-57/+58
| | | | | | | | | | | | | | Since buildenv exports SYSROOT all of these uses will now look in WORLDTMP by default. sys/boot/efi/loader/Makefile A LIBSTAND hack is no longer required for buildenv. MFC after: 2 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=320122
* Remove the NATM framework including the en(4), fatm(4), hatm(4), andBrooks Davis2017-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | patm(4) devices. Maintaining an address family and framework has real costs when we make infrastructure improvements. In the case of NATM we support no devices manufactured in the last 20 years and some will not even work in modern motherboards (some newer devices that patm(4) could be updated to support apparently exist, but we do not currently have support). With this change, support remains for some netgraph modules that don't require NATM support code. It is unclear if all these should remain, though ng_atmllc certainly stands alone. Note well: FreeBSD 11 supports NATM and will continue to do so until at least September 30, 2021. Improvements to the code in FreeBSD 11 are certainly welcome. Reviewed by: philip Approved by: harti Notes: svn path=/head/; revision=317383
* - Add support for eMMC "partitions". Besides the user data area, i. e.Marius Strobl2017-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the default partition, eMMC v4.41 and later devices can additionally provide up to: 1 enhanced user data area partition 2 boot partitions 1 RPMB (Replay Protected Memory Block) partition 4 general purpose partitions (optionally with a enhanced or extended attribute) Of these "partitions", only the enhanced user data area one actually slices the user data area partition and, thus, gets handled with the help of geom_flashmap(4). The other types of partitions have address space independent from the default partition and need to be switched to via CMD6 (SWITCH), i. e. constitute a set of additional "disks". The second kind of these "partitions" doesn't fit that well into the design of mmc(4) and mmcsd(4). I've decided to let mmcsd(4) hook all of these "partitions" up as disk(9)'s (except for the RPMB partition as it didn't seem to make much sense to be able to put a file-system there and may require authentication; therefore, RPMB partitions are solely accessible via the newly added IOCTL interface currently; see also below). This approach for one resulted in cleaner code. Second, it retains the notion of mmcsd(4) children corresponding to a single physical device each. With the addition of some layering violations, it also would have been possible for mmc(4) to add separate mmcsd(4) instances with one disk each for all of these "partitions", however. Still, both mmc(4) and mmcsd(4) share some common code now e. g. for issuing CMD6, which has been factored out into mmc_subr.c. Besides simply subdividing eMMC devices, some Intel NUCs having UEFI code in the boot partitions etc., another use case for the partition support is the activation of pseudo-SLC mode, which manufacturers of eMMC chips typically associate with the enhanced user data area and/ or the enhanced attribute of general purpose partitions. CAVEAT EMPTOR: Partitioning eMMC devices is a one-time operation. - Now that properly issuing CMD6 is crucial (so data isn't written to the wrong partition for example), make a step into the direction of correctly handling the timeout for these commands in the MMC layer. Also, do a SEND_STATUS when CMD6 is invoked with an R1B response as recommended by relevant specifications. However, quite some work is left to be done in this regard; all other R1B-type commands done by the MMC layer also should be followed by a SEND_STATUS (CMD13), the erase timeout calculations/handling as documented in specifications are entirely ignored so far, the MMC layer doesn't provide timeouts applicable up to the bridge drivers and at least sdhci(4) currently is hardcoding 1 s as timeout for all command types unconditionally. Let alone already available return codes often not being checked in the MMC layer ... - Add an IOCTL interface to mmcsd(4); this is sufficiently compatible with Linux so that the GNU mmc-utils can be ported to and used with FreeBSD (note that due to the remaining deficiencies outlined above SANITIZE operations issued by/with `mmc` currently most likely will fail). These latter will be added to ports as sysutils/mmc-utils in a bit. Among others, the `mmc` tool of the GNU mmc-utils allows for partitioning eMMC devices (tested working). - For devices following the eMMC specification v4.41 or later, year 0 is 2013 rather than 1997; so correct this for assembling the device ID string properly. - Let mmcsd.ko depend on mmc.ko. Additionally, bump MMC_VERSION as at least for some of the above a matching pair is required. - In the ACPI front-end of sdhci(4) describe the Intel eMMC and SDXC controllers as such in order to match the PCI one. Additionally, in the entry for the 80860F14 SDXC controller remove the eMMC-only SDHCI_QUIRK_INTEL_POWER_UP_RESET. OKed by: imp Submitted by: ian (mmc_switch_status() implementation) Notes: svn path=/head/; revision=315430
* Convert include over to SRCTOPWarner Losh2017-03-121-53/+53
| | | | | | | | | | | | | Use SRCTOP in place of .CURDIR/.. as appropriate. The hand-crafted relative paths for the "links" option remain, though, since those are relative to /usr/include/sys/<blah> not to the source tree. Differential Revision: https://reviews.freebsd.org/D9932 Sponsored by: Netflix Silence On: arch@ (twice) Notes: svn path=/head/; revision=315172
* hyperv: Allow userland to ro-mmap reference TSC pageSepherosa Ziehau2016-12-151-0/+8
| | | | | | | | | | | | This paves way to implement VDSO for the enlightened time counter. Reviewed by: kib MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8768 Notes: svn path=/head/; revision=310101
* Create the /usr/lib/include symlink as relative.Bryan Drewery2016-12-031-1/+1
| | | | | | | | | | This ugly code is done to avoid assuming LIBDIR is 2 components deep. Reported by: jhb Notes: svn path=/head/; revision=309476
* hyperv/vss: Add driver and tools for VSSSepherosa Ziehau2016-11-151-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VSS stands for "Volume Shadow Copy Service". Unlike virtual machine snapshot, it only takes snapshot for the virtual disks, so both filesystem and applications have to aware of it, and cooperate the whole VSS process. This driver exposes two device files to the userland: /dev/hv_fsvss_dev Normally userland programs should _not_ mess with this device file. It is currently used by the hv_vss_daemon(8), which freezes and thaws the filesystem. NOTE: currently only UFS is supported, if the system mounts _any_ other filesystems, the hv_vss_daemon(8) will veto the VSS process. If hv_vss_daemon(8) was disabled, then this device file must be opened, and proper ioctls must be issued to keep the VSS working. /dev/hv_appvss_dev Userland application can opened this device file to receive the VSS freeze notification, hold the VSS for a while (mainly to flush application data to filesystem), release the VSS process, and receive the VSS thaw notification i.e. applications can run again. The VSS will still work, even if this device file is not opened. However, only filesystem consistency is promised, if this device file is not opened or is not operated properly. hv_vss_daemon(8) is started by devd(8) by default. It can be disabled by editting /etc/devd/hyperv.conf. Submitted by: Hongjiang Zhang <honzhan microsoft com> Reviewed by: kib, mckusick MFC after: 3 weeks Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8224 Notes: svn path=/head/; revision=308664
* Re-apply change 306811 or alternatively, revert change 307385.Marcel Moolenaar2016-10-161-0/+1
| | | | Notes: svn path=/head/; revision=307386
* Revert change 306811 so that the change can be re-done usingMarcel Moolenaar2016-10-161-1/+0
| | | | | | | | svn copy instead of svn move. This to preserve history on the originals headers as well. Notes: svn path=/head/; revision=307385
* install header files required development with libzfs_coreAndriy Gapon2016-10-121-0/+11
| | | | | | | | | | | | | | | | libzfs_core provides a rather limited but committed (stable) interface for working with ZFS. We install libzfs_core shared library but we do not install header files required for developing programs that use the library. This change is to install the required header files libzfs_core.h, libnvpair.h and sys/nvpair.h. The headers are installed into the same locations as on illumos. Reviewed by: mav, markj Differential Revision: https://reviews.freebsd.org/D8005 Notes: svn path=/head/; revision=307131
* In order to allow mkimg(1) (and other tools) to become a build toolMarcel Moolenaar2016-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that can be compiled on various OSes (including on older versions of FreeBSD), make it possible to have it include the partitioning scheme definitions without pulling in FreeBSD specifics. In particular this means: o move the scheme definitions iand related defines to header files under sys/disk, o make them (more) portable by using uint#_t (where applicable) and renaming defines so that they at least have a good prefix, o make the new headers stand-alone so that they don't need FreeBSD definitions, like struct uuid(*) o keep the original headers for compatibility, but rewrite them to get the scheme definitions from <sys/disk/$scheme.h>. (*) since UUID/GUID type definitions are non-portable and the GPT scheme uses them, make it possible to have the scheme definitions use an external type by allowing consumers of the header to set GPT_UUID_TYPE. When GPT_UUID_TYPE has not been defined, the header will use it's own type definition, which is the same as struct uuid. The gpt_uuid_t typedef is created to abstract the details and allows consumers to refer to a single type. There is not conflict between the partitioning scheme headers and what is defined in them. All headers can be included in the same source files. Note: consumers of the old headers have not been changed yet. Such will be done if and when needed/beneficial. Reviewed by: imp, jhb MFC after: 1 month Sponsored by: Bracket Computing Notes: svn path=/head/; revision=306811
* Add evdev protocol implementationOleksandr Tymoshenko2016-09-111-2/+14
| | | | | | | | | | | | | | | | | | | | evdev is a generic input event interface compatible with Linux evdev API at ioctl level. It allows using unmodified (apart from header name) input evdev drivers in Xorg, Wayland, Qt. This commit has only generic kernel API. evdev support for individual hardware drivers like ukbd, ums, atkbd, etc. will be committed later. Project was started by Jakub Klama as part of GSoC 2014. Jakub's evdev implementation was later used as a base, updated and finished by Vladimir Kondratiev. Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Reviewed by: adrian, hans Differential Revision: https://reviews.freebsd.org/D6998 Notes: svn path=/head/; revision=305706
* Commit the bits of nda that were missed. This should fix the build.Warner Losh2016-06-101-1/+1
| | | | | | | Approved by: re@ Notes: svn path=/head/; revision=301778
* WITH_META_MODE: Disable cookie handling for include installation.Bryan Drewery2016-05-211-3/+3
| | | | | | | | | | | | | | | | | | Using a cookie with meta mode causes it to *not rerun* (as normal make does) unless the command changes or filemon-detected files change. After all of the work done here it turns out that skipping installation is dangerous since the install commands use <dir>/*.h. The actual build command is not changing but the files installed are changing by the mere act of adding a new header into the source tree. Thus we cannot safely use meta mode logic here. It must always rerun and install the headers. The install -C flag at least prevents churning timestamps when installing a header that was already present. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300346
* MFHGlen Barber2016-04-161-8/+8
|\ | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=298092
| * Rework META_TARGETS so that it automatically adds META_DEPS to the targets.Bryan Drewery2016-04-141-8/+8
| | | | | | | | | | | | | | | | | | | | | | This will only be done if the target is defined, so if the target is defined after bsd.sys.mk is included then it needs to manually add ${META_DEPS} still. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=297994
* | MFHGlen Barber2016-03-141-33/+5
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296869
| * META_MODE: Simplify the META_COOKIE handling to use .USE/.USEBEFORE.Bryan Drewery2016-03-111-10/+4
| | | | | | | | | | | | | | | | | | | | Extend it to other cases of meta mode cookies so they get the proper rm cookie behavior when a .meta file detects it needs to rebuild and fails. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296700
| * DIRDEPS_BUILD: None of this is needed anymore.Bryan Drewery2016-03-111-22/+2
| | | | | | | | | | | | | | | | | | | | | | | | This file is using stage-install, so all of the .dirdep files are properly handled. The cookie handling also properly handles rebuilds with .meta files. DESTDIR from bsd.sys.mk is also respected for staging. This logic came in r239572. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296691
| * DIRDEPS_BUILD: Remove the cookie when target is out-of-date.Bryan Drewery2016-03-111-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The meta file may decide the target is out of date but nothing ensures that the *next* build will build this target if it fails this time for some reason; it is still out-of-date until it succeeds. Convert the include/ cookie usage to the global versions. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296690
* | Ensure include/ is properly tagged in the METALOG.Glen Barber2016-02-081-41/+43
|/ | | | | | | | Noticed by: des Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295412
* Provide new socket option TCP_CCALGOOPT, which stands for TCP congestionGleb Smirnoff2016-01-221-0/+1
| | | | | | | | | | | | | | | | | | control algorithm options. The argument is variable length and is opaque to TCP, forwarded directly to the algorithm's ctl_output method. Provide new includes directory netinet/cc, where algorithm specific headers can be installed. The new API doesn't yet have any in tree consumers. The original code written by lstewart. Reviewed by: rrs, emax Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D711 Notes: svn path=/head/; revision=294540
* Move obscure lib/ installation of /usr/lib/include symlink to include/.Bryan Drewery2015-12-041-0/+2
| | | | | | | | | | | | This avoids the need for an afterinstall: hook and a check for LIBRARIES_ONLY. It also now respects INCLUDEDIR. This came in r249484. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291740
* Replace ln -s calls with INSTALL_SYMLINKBryan Drewery2015-12-041-18/+18
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291734
* Stop building vers.c in include/ and only build the needed osreldate.h.Bryan Drewery2015-11-251-7/+3
| | | | | | | | | | | | | | | | Because of how osreldate.h was being built with newvers.sh, which always spat out a vers.c dependent on SVN or git, the meta mode build was considering osreldate.h to depend on the current git or SVN index. This would lead to entire tree rebuilds when modifying git's index. There's no reason to be generating vers.c here so just skip it. While here, in mk-osreldate.sh rename PARAM_H to proper PARAMFILE (which newvers.sh already has a default for) and remove unneeded export. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291310
* META MODE: Fix changing what "MACHINE=host" means when computing dirdeps for ↵Bryan Drewery2015-11-181-1/+1
| | | | | | | | | | | | | | | | include/. The _SKIP_BUILD is used while computing DIRDEPS. If MACHINE=host is passed in then this logic was replacing 'MACHINE' with a literal value of the host arch, which then caused the dirdeps graph to be wrong since it no longer had the literal 'host' for any of include's dependencies. This is a NOP currently since include/ is not usually built with MACHINE=host. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291027
* Rename META_MODE option to DIRDEPS_BUILDSimon J. Gerraty2015-11-141-3/+3
| | | | | | | | | | | | This allows META_FILES option to be renamed META_MODE. Also add META_COOKIE_TOUCH for use in targets that can benefit from a cookie when in meta mode. Differential Revision: https://reviews.freebsd.org/D4153 Reviewed by: bdrewery Notes: svn path=/head/; revision=290816
* Add more SUBDIR_PARALLEL.Bryan Drewery2015-10-151-0/+1
| | | | | | | | MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=289393
* Mute this cookie as wellBryan Drewery2015-10-031-1/+1
| | | | Notes: svn path=/head/; revision=288620
* Avoid make compatibility mode issues with creating cookies from r287844 and ↵Bryan Drewery2015-10-031-5/+3
| | | | | | | | | | | r287848. Also hide the cookie creation. Suggested by: imp, Daniel O'Connor Notes: svn path=/head/; revision=288608
* META_MODE: Avoid command changing in 2nd build.Bryan Drewery2015-09-181-6/+6
| | | | | | | | | | | | If the command to be ran changes then a rebuild is caused. Checking exists(${DESTDIR}...) from make results in this on the 2nd and possibly subsequent builds due to staging during build. Avoid this by always running the existence check in the make sh command. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=287972
* Similar to r287844, create 'symlinks' cookie in proper place with -j and ↵Bryan Drewery2015-09-161-0/+1
| | | | | | | | | META_MODE. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=287848
* Create 'copies' cookie in proper place in META_MODE.Bryan Drewery2015-09-161-0/+1
| | | | | | | | | With -j the cookie would be created in CURDIR/sys/teken rather than OBJDIR. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=287844
* Add META_MODE support.Simon J. Gerraty2015-06-131-1/+41
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp Notes: svn path=/head/; revision=284345
| * Merge sync of headSimon J. Gerraty2015-05-271-20/+15
| |\ | |/ |/| | | Notes: svn path=/projects/bmake/; revision=283595