aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Roll WITHOUT_ELFTOOLCHAIN_TOOLS into WITHOUT_TOOLCHAINEd Maste2015-08-131-10/+7
| | | | | | | | | | | | | | The option was added only to ease the transition from GNU Binutils to ELF Tool Chain tools, and that process is now complete (for the viable replacements). Noting the removal in UPDATING is sufficient as we have not shipped a release with the option. Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3240 Notes: svn path=/head/; revision=286730
* Use consistent style for optional subdirectoriesEd Maste2015-08-101-29/+15
| | | | | | | | | Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3356 Notes: svn path=/head/; revision=286592
* Remove ${_subdir}s that are never setEd Maste2015-08-101-6/+1
| | | | | | | | | | The MK_NIS subdirs were leftovers from r212558 and kdump/truss were introduced in r240404. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=286590
* Replace GNU RCS ident with a BSD license identBaptiste Daroussin2015-07-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Rationale: ident(1) is useful out of RCS, lot of scripts are using ident(1) and failing when base is built WITHOUT_RCS. This version is: - fully compatible with RCS 5.7 ident. - fully compatible with RCS 5.9 ident. - passes all ident test from GNU RCS 5.9 test suite This version has support for: svn extension for the Keyword id (double colon and # before last $) Différences with GNU RCS ident: - no long options as found in GNU RCS 5.9 (but not commented there). - '-V' reports nothing but has been added for compatibility. Differential Revision: https://reviews.freebsd.org/D3200 Reviewed by: pfg Notes: svn path=/head/; revision=285890
* Add an initial NUMA affinity/policy configuration for threads and processes.Adrian Chadd2015-07-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is based on work done by jeff@ and jhb@, as well as the numa.diff patch that has been circulating when someone asks for first-touch NUMA on -10 or -11. * Introduce a simple set of VM policy and iterator types. * tie the policy types into the vm_phys path for now, mirroring how the initial first-touch allocation work was enabled. * add syscalls to control changing thread and process defaults. * add a global NUMA VM domain policy. * implement a simple cascade policy order - if a thread policy exists, use it; if a process policy exists, use it; use the default policy. * processes inherit policies from their parent processes, threads inherit policies from their parent threads. * add a simple tool (numactl) to query and modify default thread/process policities. * add documentation for the new syscalls, for numa and for numactl. * re-enable first touch NUMA again by default, as now policies can be set in a variety of methods. This is only relevant for very specific workloads. This doesn't pretend to be a final NUMA solution. The previous defaults in -HEAD (with MAXMEMDOM set) can be achieved by 'sysctl vm.default_policy=rr'. This is only relevant if MAXMEMDOM is set to something other than 1. Ie, if you're using GENERIC or a modified kernel with non-NUMA, then this is a glorified no-op for you. Thank you to Norse Corp for giving me access to rather large (for FreeBSD!) NUMA machines in order to develop and verify this. Thank you to Dell for providing me with dual socket sandybridge and westmere v3 hardware to do NUMA development with. Thank you to Scott Long at Netflix for providing me with access to the two-socket, four-domain haswell v3 hardware. Thank you to Peter Holm for running the stress testing suite against the NUMA branch during various stages of development! Tested: * MIPS (regression testing; non-NUMA) * i386 (regression testing; non-NUMA GENERIC) * amd64 (regression testing; non-NUMA GENERIC) * westmere, 2 socket (thankyou norse!) * sandy bridge, 2 socket (thankyou dell!) * ivy bridge, 2 socket (thankyou norse!) * westmere-EX, 4 socket / 1TB RAM (thankyou norse!) * haswell, 2 socket (thankyou norse!) * haswell v3, 2 socket (thankyou dell) * haswell v3, 2x18 core (thankyou scott long / netflix!) * Peter Holm ran a stress test suite on this work and found one issue, but has not been able to verify it (it doesn't look NUMA related, and he only saw it once over many testing runs.) * I've tested bhyve instances running in fixed NUMA domains and cpusets; all seems to work correctly. Verified: * intel-pcm - pcm-numa.x and pcm-memory.x, whilst selecting different NUMA policies for processes under test. Review: This was reviewed through phabricator (https://reviews.freebsd.org/D2559) as well as privately and via emails to freebsd-arch@. The git history with specific attributes is available at https://github.com/erikarn/freebsd/ in the NUMA branch (https://github.com/erikarn/freebsd/compare/local/adrian_numa_policy). This has been reviewed by a number of people (stas, rpaulo, kib, ngie, wblock) but not achieved a clear consensus. My hope is that with further exposure and testing more functionality can be implemented and evaluated. Notes: * The VM doesn't handle unbalanced domains very well, and if you have an overly unbalanced memory setup whilst under high memory pressure, VM page allocation may fail leading to a kernel panic. This was a problem in the past, but it's much more easily triggered now with these tools. * This work only controls the path through vm_phys; it doesn't yet strongly/predictably affect contigmalloc, KVA placement, UMA, etc. So, driver placement of memory isn't really guaranteed in any way. That's next on my plate. Sponsored by: Norse Corp, Inc.; Dell Notes: svn path=/head/; revision=285387
* Remove old fmake. It wasn't built by default for some time. Users thatWarner Losh2015-06-161-4/+0
| | | | | | | | | | really need it can find it in the devel/fmake port or pkg install fmake. Note: This commit is orthogonal to the question 'can we fmake buildworld'. Differential Revision: https://reviews.freebsd.org/D2840 Notes: svn path=/head/; revision=284464
* Switch to mandoc's version of makewhatis(8), whatis(1), apropos(1) utilities.Baptiste Daroussin2015-05-301-0/+2
| | | | | | | | | | | | | | This change among other things improve search capabilities over the manpages allowing fine grain query. A new build option WITHOUT_MANDOCDB has been added to keep the ancient version of the database and the tools. The plan is to entirely remove this option before 11.0-RELEASE. Differential Revision: https://reviews.freebsd.org/D2603 Notes: svn path=/head/; revision=283777
* Remove demandoc(1) from the buildBaptiste Daroussin2015-05-211-1/+0
| | | | Notes: svn path=/head/; revision=283221
* Replace groff's soelim by soeliminate(1) renamed soelim(1)Baptiste Daroussin2015-05-011-1/+1
| | | | Notes: svn path=/head/; revision=282318
* Add ELF Tool Chain's c++filt to the buildEd Maste2015-04-301-0/+2
| | | | | | | | | Differential Revision: https://reviews.freebsd.org/D2408 Reviewed by: brooks, imp Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=282285
* Disable truss, gprof, and lint on arm64, they don't build.Andrew Turner2015-04-141-0/+6
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=281522
* Switch to ELF toolchain readelf(1)Ed Maste2015-03-301-0/+2
| | | | | | | | | | | | | | | | ELF toolchain readelf lacked some functionality at the time other tools (like size, strip, nm, etc.) were switched over to the ELF toolchain versions. That has been addressed as of the last update, so we can add it to the list. PR: 198950 [exp-run] Reviewed by: bapt, imp, rpaulo Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2156 Notes: svn path=/head/; revision=280859
* These local variables are unused. gc them.Warner Losh2015-03-121-3/+0
| | | | Notes: svn path=/head/; revision=279906
* Add MK_FILE to control whether or not to build file(1), libmagic(3), etcEnji Cooper2015-02-041-1/+4
| | | | | | | | MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=278193
* Add the following options to enable/disable several features in the base systemEnji Cooper2015-02-041-3/+12
| | | | | | | | | | | | | | | | | | WITHOUT_BOOTPARAMD - bootparamd WITHOUT_BOOTPD - bootpd WITHOUT_FINGER - finger, fingerd WITHOUT_FTP - ftp, ftpd WITHOUT_INETD - inetd WITHOUT_RBOOTD - rbootd WITHOUT_TCP_WRAPPERS - tcpd, et al WITHOUT_TFTP - tftp, tftp-server WITHOUT_TIMED - timed MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=278192
* Add MK_TALK knob for building the talk and talkdEnji Cooper2015-01-251-1/+4
| | | | | | | | MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=277676
* Add MK_ISCSI knob for building the iscsi initiator, iscsi daemon, kernelEnji Cooper2015-01-251-1/+4
| | | | | | | | | | modules, etc MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=277675
* Add MK_EE knob to control installing edit, ee, etcEnji Cooper2015-01-251-1/+4
| | | | | | | | MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=277663
* Update to mandoc cvs version as of 20141201Baptiste Daroussin2014-12-021-1/+0
| | | | | | | | | - Compatiblity with existing manpages has been improved - Now support ".so" directive with compressed manpages (which fixes a regression we have since we have new man(1)) Notes: svn path=/head/; revision=275432
* Build infrastructure for elftoolchain toolsEd Maste2014-12-011-1/+14
| | | | | | | | | | | | | | | | | | Set WITH_ELFTOOLCHAIN_TOOLS in src.conf to use the elftoolchain version of the following tools: * addr2line * elfcopy (strip / mcs) * nm * size * strings Reviewed by: bapt (earlier version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D1224 Notes: svn path=/head/; revision=275373
* Readd protect(2) removed by mistakeBaptiste Daroussin2014-11-251-0/+1
| | | | | | | Reported by: emaste Notes: svn path=/head/; revision=275043
* Convert to usr.bin/ to LIBADDBaptiste Daroussin2014-11-251-1/+0
| | | | | | | Reduce overlinking Notes: svn path=/head/; revision=275042
* Add the demandoc utility from the mandoc projectBaptiste Daroussin2014-11-221-0/+1
| | | | | | | | This is a modern version of the deroff utility, useful for example to do spellchecking on manpages Notes: svn path=/head/; revision=274895
* Add the preconv utility from mandoc projectBaptiste Daroussin2014-11-221-0/+1
| | | | | | | it recodes multibyte UNIX manual files into mandoc(1) Notes: svn path=/head/; revision=274893
* Revert accidently message Makefile from 274836 and connect soeliminate(1)Baptiste Daroussin2014-11-221-10/+10
| | | | Notes: svn path=/head/; revision=274837
* Add a new soeliminate(1) commandBaptiste Daroussin2014-11-221-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | mandoc(1) does not provide an equivalent of the GNU groff's soelim(1) as an external binary. It does provide the funcitonnality but internally. Lots if manpages in ports uses ".so" directives to include the content of another manpage, which works properly if the manpages are not compressed. With compressed manpages it will fail. So we need to preprocess those manpages with soelim(1) before compressing them. soeliminate(1) add the minimum functionnality from soelim(1) required for that task, in order to still be able to prepare properly those manpages in case we ship the base system only with mandoc as a manpage renderer. soeliminate(1) accept all the arguments from soelim(1) for compatibility but only '-I dir' is really functionnal. Name it soeliminate and not soelim, so groff from base or ports can still call soelim(1) for its internal use and avoid potential incompatibilities MFC after: 1 month Notes: svn path=/head/; revision=274836
* Re-enable dpv(1,3): Introduced via r274116; temporarily disabledDevin Teske2014-11-061-0/+1
| | | | | | | | | | | | | | shortly thereafter via r274124 until I could get the right recipe down w/respect to SUBDIR_DEPEND. Thanks to: ngie, ian Reviewed by: ian MFC after: 21 days X-MFC-to: stable/10 stable/9 X-MFC-with: 274116 274120 274121 274123 274144 274146 Notes: svn path=/head/; revision=274192
* Temporarily _disable_ compilation of dpv(3) and dpv(1).Devin Teske2014-11-051-1/+0
| | | | | | | | | | Will revisit this to find out how to solve the ordering issue in buildworld (potentially `make -j' specific). Reviewed by: shurd Notes: svn path=/head/; revision=274124
* Add new libraries/utilities for data throughput visualization.Devin Teske2014-11-041-0/+1
| | | | | | | | | | | | | | | | dpv(3): dialog progress view library dpv(1): stream data from stdin or multiple paths with dialog progress view figpar(3): configuration file parsing library Reviews: D714 Reviewed by: jelischer, shurd Discussed at: MeetBSD California 2014 Vendor/Dev Summit Discussed on: -current MFC after: 21 days X-MFC-to: stable/10 stable/9 Notes: svn path=/head/; revision=274116
* Hook xo(1) to the build -- it's like echo, but uses libxo toMarcel Moolenaar2014-10-231-0/+1
| | | | | | | | | support emitting machine-readable output. Sponsored by: Juniper Networks, Inc. Notes: svn path=/head/; revision=273568
* New BSDL timeout(1) utility compatible with GNU timeoutBaptiste Daroussin2014-07-161-0/+1
| | | | | | | | | | it fully passes the GNU timeout regression tests, it is written in a mostly portable way (only signal parsing is relying on non portable structures) Phabric: D377 Notes: svn path=/head/; revision=268745
* Rename the WITHOUT_VT_SUPPORT knob to WITHOUT_VTEd Maste2014-06-301-1/+1
| | | | | | | | | | | | The _SUPPORT knobs have a consistent meaning which differs from the behaviour controlled by this knob. As the knob is opt-out and has not appeared in a release the impact should be low. Suggested by: imp, wblock MFC after: 1 week Notes: svn path=/head/; revision=268022
* Remove csup(1) and its associated cpasswd(1) tool.Gavin Atkinson2014-06-251-4/+0
| | | | | | | | | | | With the move by the FreeBSD Project away from CVSup as a distribution mechanism, there is no longer a need to keep this in base. Approved by: mux (around a year ago), silence on -hackers X-MFC-after: never Notes: svn path=/head/; revision=267863
* Add a stub send-pr that simply points people towards the online supportGavin Atkinson2014-06-171-0/+1
| | | | | | | | | pages, to give people used to send-pr a bit of guidance. MFC after: 3 days Notes: svn path=/head/; revision=267577
* vt fontcvt: move to usr.bin/vtfontcvtEd Maste2014-06-101-0/+4
| | | | | | | | | | | | | vtfontcvt is useful for end users to convert arbitrary bitmap fonts for use by vt(4). It can also be used as a build tool, allowing us to keep the source font data in the src tree rather than uuencoded binaries. Reviewed by: ray, wblock (D183) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=267337
* Move atf-sh from /usr/bin/ to /usr/libexec/Julio Merino2014-06-061-2/+0
| | | | | | | | | | | | | | | | In r266650, we made libatf-c and libatf-c++ private libraries so that no components outside of the source tree could unintendedly depend on them. This change does the same for the "atf-sh library" by moving the atf-sh interpreter from its public location in /usr/bin/ to the private location in /usr/libexec/. Our build system will ensure that our own test programs use the right binary, but users won't be able to depend on atf-sh by "mistake". Committing this now to ride the UPDATING notice added with r267172 today. Notes: svn path=/head/; revision=267181
* Optionally allow building the historical FreeBSD make program andWarner Losh2014-05-101-0/+4
| | | | | | | | | install it as fmake. This defaults to no. This should be viewed as the first step towards evental migration of this historic code to ports and removal from the tree. Notes: svn path=/head/; revision=265828
* Remove support for WITHOUT_BMAKE. bmake is now the only make that canWarner Losh2014-05-061-4/+0
| | | | | | | | | | | build world, so it is the only make we build or install. fmake is still in the tree, but disconnected, and upgrades from older systems that still have bmake has not been removed, but its state has not been tested (it should work given how minimal the work to upgrade to bmake is). Notes: svn path=/head/; revision=265423
* Use src.opts.mk in preference to bsd.own.mk except where we need stuffWarner Losh2014-05-061-1/+1
| | | | | | | from the latter. Notes: svn path=/head/; revision=265420
* Add option WITHOUT_VI to not build/install vi. vi was the largestWarner Losh2014-04-241-1/+4
| | | | | | | binary without a knob to turn it off. Notes: svn path=/head/; revision=264903
* Hook mkimg(1) to the build.Marcel Moolenaar2014-03-291-0/+1
| | | | Notes: svn path=/head/; revision=263919
* Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to processDimitry Andric2014-03-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | all the SUBDIR entries in parallel, instead of serially. Apply this option to a selected number of Makefiles, which can greatly speed up the build on multi-core machines, when using make -j. This can be extended to more Makefiles later on, whenever they are verified to work correctly with parallel building. I tested this on a 24-core machine, with make -j48 buildworld (N = 6): before stddev after stddev ======= ====== ======= ====== real time 1741.1 16.5 959.8 2.7 user time 12468.7 16.4 14393.0 16.8 sys time 1825.0 54.8 2110.6 22.8 (user+sys)/real 8.2 17.1 E.g. the build was approximately 45% faster in real time. On machines with less cores, or with lower -j settings, the speedup will not be as impressive. But at least you can now almost max out a machine with buildworld! Submitted by: jilles MFC after: 2 weeks Notes: svn path=/head/; revision=263778
* Don't build BSDL dtc if the GPL dtc is enabled.Warner Losh2014-01-291-1/+4
| | | | Notes: svn path=/head/; revision=261257
* Build and install the atf tests.Julio Merino2013-11-081-0/+2
| | | | | | | | Reviewed by: freebsd-testing Approved by: rpaulo (mentor) Notes: svn path=/head/; revision=257853
* Subsume the functionality of MK_ATF into MK_TESTS.Julio Merino2013-11-081-4/+4
| | | | | | | | | | | | | There is no reason to keep the two knobs separate: if tests are enabled, the ATF libraries are required; and if tests are disabled, the ATF libraries are not necessary. Keeping the two just serves to complicate the build. Reviewed by: freebsd-testing Approved by: rpaulo (mentor) Notes: svn path=/head/; revision=257850
* Disable use of compiler atomic builtins. For APR, this is limited toNathan Whitehorn2013-10-041-4/+0
| | | | | | | | | | | architectures where they are known not to work. For SVN itself, use the least common denominator and disable them across the board. This allows svnlite to build and run on all FreeBSD architectures. Approved by: re (gjb) Notes: svn path=/head/; revision=256055
* Remove BIND.Dag-Erling Smørgrav2013-09-301-7/+0
| | | | | | | Approved by: re (gjb) Notes: svn path=/head/; revision=255949
* Build and install drill(1).Dag-Erling Smørgrav2013-09-221-0/+1
| | | | | | | Approved by: re (blanket) Notes: svn path=/head/; revision=255801
* Extend the support for exempting processes from being killed when swap isJohn Baldwin2013-09-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | exhausted. - Add a new protect(1) command that can be used to set or revoke protection from arbitrary processes. Similar to ktrace it can apply a change to all existing descendants of a process as well as future descendants. - Add a new procctl(2) system call that provides a generic interface for control operations on processes (as opposed to the debugger-specific operations provided by ptrace(2)). procctl(2) uses a combination of idtype_t and an id to identify the set of processes on which to operate similar to wait6(). - Add a PROC_SPROTECT control operation to manage the protection status of a set of processes. MADV_PROTECT still works for backwards compatability. - Add a p_flag2 to struct proc (and a corresponding ki_flag2 to kinfo_proc) the first bit of which is used to track if P_PROTECT should be inherited by new child processes. Reviewed by: kib, jilles (earlier version) Approved by: re (delphij) MFC after: 1 month Notes: svn path=/head/; revision=255708
* Bring in the new iSCSI target and initiator.Edward Tomasz Napierala2013-09-141-0/+1
| | | | | | | | | Reviewed by: ken (parts) Approved by: re (delphij) Sponsored by: FreeBSD Foundation Notes: svn path=/head/; revision=255570