aboutsummaryrefslogtreecommitdiff
path: root/tools/build
Commit message (Collapse)AuthorAgeFilesLines
* WITHOUT_SERVICESDB:Sean Bruno2018-07-042-0/+7
| | | | | | | | | | | | | | | | Add src.conf knob to disable the installation of /var/db/services.db Default to leaving services.db in place, but allow the removal of the file and its creation with a src.conf knob. This file ends up being 2MB in size. For small systems this is a waste of space but its a tradeoff. Reviewed by: bdrewery Differential Revision: https://reviews.freebsd.org/D9655 Notes: svn path=/head/; revision=335963
* beinstall: enable use with git worktrees.Will Andrews2018-07-011-1/+2
| | | | Notes: svn path=/head/; revision=335831
* More follow-up to r335799 (llvm/clang 6.0.1 update), where I forgot toDimitry Andric2018-06-301-139/+135
| | | | | | | | | | | | update mtree files, ObsoleteFiles and a number of other paths. Sorry about all the breakage. Pointy hat to: me MFC after: 2 weeks X-MFC-With: r335799 Notes: svn path=/head/; revision=335819
* Push users towards LLVM_TARGET_ALL.Bryan Drewery2018-06-2712-0/+36
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=335712
* Clang: Only build needed target for bootstrap compiler.Bryan Drewery2018-06-271-0/+2
| | | | | | | | | | | | | | | | This will disable the new LLVM_TARGET_ALL option which will only enable the required target. This only impacts the bootstrap compiler in WORLDTMP, not the target compiler that will be installed. MFC after: 2 weeks Reviewed by: sbruno, dim (earlier version) Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D16021 Notes: svn path=/head/; revision=335707
* Add LLVM_TARGET_ALL option.Bryan Drewery2018-06-272-0/+5
| | | | | | | | | | | | | | | | | | | LLVM_TARGET_* will auto be set based on LLVM_TARGET_ALL and MK_CLANG. If LLVM_TARGET_ALL is disabled, during a cross-build, then SYSTEM_COMPILER and SYSTEM_LINKER are auto disabled. This option should be used by users rather than the per-arch LLVM_TARGET options as it is simpler to maintain for them should the supported target list change. MFC after: 2 weeks Reviewed by: sbruno, dim Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D16020 Notes: svn path=/head/; revision=335706
* Add support for selectively enabling LLVM targetsDimitry Andric2018-06-2212-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible, through src.conf(5) settings, to select which LLVM targets you want to build during buildworld. The current list is: * (WITH|WITHOUT)_LLVM_TARGET_AARCH64 * (WITH|WITHOUT)_LLVM_TARGET_ARM * (WITH|WITHOUT)_LLVM_TARGET_MIPS * (WITH|WITHOUT)_LLVM_TARGET_POWERPC * (WITH|WITHOUT)_LLVM_TARGET_SPARC * (WITH|WITHOUT)_LLVM_TARGET_X86 To not influence anything right now, all of these are on by default, in situations where clang is enabled. Selectively turning a few targets off manually should work. Turning on only one target should work too, even if that target does not correspond to the build architecture. (In that case, LLVM_NATIVE_ARCH will not be defined, and you can only use the resulting clang executable for cross-compiling.) I performed a few measurements on one of the FreeBSD.org reference machines, building clang from scratch, with all targets enabled, and with only the x86 target enabled. The latter was ~12% faster in real time (on a 32-core box), and ~14% faster in user time. For a full buildworld the difference will probably be less pronounced, though. Reviewed by: bdrewery MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11077 Notes: svn path=/head/; revision=335558
* Don't remove loader.conf(5) when built WITHOUT_FORTHKyle Evans2018-06-211-1/+0
| | | | | | | | | | | The new stand/ structure installs loader.conf(5) and defaults/loader.conf regardless of interpreter. The only thing gating installation now is MK_BOOT. Reported by: eadler Notes: svn path=/head/; revision=335467
* Add WITH_SYSTEM_LINKER, on by default, that avoids building lld when possible.Bryan Drewery2018-06-202-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This works similar to WITH_SYSTEM_COMPILER added in r300354. It only supports lld via WITH_LLD_BOOTSTRAP. When both SYSTEM_COMPILER and SYSTEM_LINKER logic passes then libclang will not build in cross-tools. If either check fails though then libclang is built. The .info is reworked to notify when libclang will be built since if either clang or lld needs to be rebuilt, but not the other, the notification can lead to confusion on why "clang is building". -fuse-ld= is not used with this method so some combinations of compiler and linker are expected to fail. A new 'make test-system-linker' target is added to see the logic results. Makefile.inc1: CROSS_BINUTILS_PREFIX support had to be moved higher up so that XLD could be set and MK_LLD_BOOTSTRAP disabled before checking SYSTEM_LINKER logic as done with SYSTEM_COMPILER. This also required moving where bsd.linker.mk was read since XLD needs to be set before parsing it. This creates a situation where src.opts.mk can not test LINKER_FEATURES or add LLD_BOOTSTAP to BROKEN_OPTIONS. Reviewed by: emaste (earlier version) Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D15894 Notes: svn path=/head/; revision=335450
* MK_EFI - Add uefisign and friends to this knob and ensure that we don'tSean Bruno2018-06-191-0/+8
| | | | | | | | | | | try to build them if MK_OPENSSL is unset. Reviewed by: emaste imp kevans Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D15211 Notes: svn path=/head/; revision=335386
* Remove objcopy from BINUTILS option descriptionsEd Maste2018-06-154-4/+4
| | | | | | | | | | | | As of r306649 objcopy is always ELF Tool Chain's elfcopy; binutils objcopy is never used. PR: 229046 MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=335210
* WITHOUT_NLS cleanup of more empty dirs.Sean Bruno2018-06-121-0/+158
| | | | | | | | | Reviewed by: emaste Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D15626 Notes: svn path=/head/; revision=335011
* Add missed libc++ entries to (Optional)ObsoleteFiles.incDimitry Andric2018-06-091-3/+3
| | | | | | | | | | Some of these were removed during the libc++ 5.0.0 import, others were added in the libc++ 6.0.0 import. MFC after: 3 days Notes: svn path=/head/; revision=334886
* Remove NLS support from BSD grepBaptiste Daroussin2018-06-061-10/+0
| | | | | | | | | | | | | | | | | | | GNU grep as in actually in base does not have any translations support compiled in, so no functionnality loss. We do support 193 locales in base, we will never catch up on that number of translation with bsd grep. Removing NLS support make bsd grep consistent with the other binaries in base which are not translated, and also reduce a little bit the code. Reviewed by: kevans Approved by: kevans Discussed with: kevans @BSDCan Differential Revision: https://reviews.freebsd.org/D15682 Notes: svn path=/head/; revision=334744
* src.conf: use more natural language for @generatedEitan Adler2018-05-261-2/+1
| | | | | | | Requested by: emaste Notes: svn path=/head/; revision=334247
* Remove extra space before parenthesis in src.conf(5)Rebecca Cran2018-05-251-1/+1
| | | | | | | | Reviewed by: eadler Differential Revision: https://reviews.freebsd.org/D15528 Notes: svn path=/head/; revision=334198
* Add missing file for WITH{OUT}_BSDINSTALEitan Adler2018-05-231-0/+1
| | | | | | | | PR: 227805 Submitted by: Dmitry Wagin <dmitry.wagin@ya.ru> Notes: svn path=/head/; revision=334082
* Add the text '@generated' to src.conf.5Eitan Adler2018-05-231-0/+2
| | | | | | | | | | This is a cross-tool approach to identifying generated code. Some tools, notably phabricator, handle this marker specially. See https://reviews.freebsd.org/differential/diff/42870/ for such an example. Notes: svn path=/head/; revision=334072
* TypoSevan Janiyan2018-05-131-1/+1
| | | | | | | | | Submitted by: jrm@ Approved by: bcr (mentor) Differential Revision: https://reviews.freebsd.org/D14836 Notes: svn path=/head/; revision=333588
* Rename all Unbound binaries and man pages from unbound* to local-unbound*.Dag-Erling Smørgrav2018-05-121-9/+9
| | | | | | | PR: 222902 Notes: svn path=/head/; revision=333573
* bsdgrep: annihilate our in-tree TRE, previously disabled by defaultKyle Evans2018-05-042-8/+0
| | | | | | | | | | | | | | | | It was an old TRE that had plenty of bugs and no performance gain over regex(3). I disabled it by default in r323615, and there was some confusion about what the knob does- likely due to poor naming on my part- to the tune of "well, it sounds like it should speed things up" (mentioned by multiple people). To compound this, I have no intention of maintaining a second regex implementation. If someone would like to step up and volunteer to maintain a lean-and-mean implementation for grep, this is OK, but we have very few volunteers to maintain even our primary regex implementation. Notes: svn path=/head/; revision=333236
* Use a script wrapper for <compress>grepBaptiste Daroussin2018-04-251-15/+0
| | | | | | | | | | | | | | | | | | | | | Import the wrapper script from zstdgrep (written by wiz@netbsd.org) Modify it to support more than just zstd (adding support for gzip, lzma, xz and bzip2) Write a simple manpage dedicated for it. Only use that new wrapper both for gnu grep and bsd grep Next step will be removing code related to compression format from bsdgrep Reviewed by: kevans Approved by: kevans MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D15193 Notes: svn path=/head/; revision=332993
* Add kernel and userspace code to dump the firmware state of supportedHans Petter Selasky2018-03-082-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add descriptions for recently added loader optionsKyle Evans2018-03-014-0/+8
| | | | Notes: svn path=/head/; revision=330254
* Back out r330252; will reapply with an actual commit messageKyle Evans2018-03-014-8/+0
| | | | Notes: svn path=/head/; revision=330253
* MFC after: 1 weekKyle Evans2018-03-014-0/+8
| | | | Notes: svn path=/head/; revision=330252
* Remove LOADER_EFI description filesKyle Evans2018-03-012-4/+0
| | | | | | | LOADER_EFI functionality got folded into EFI as of r330248. Notes: svn path=/head/; revision=330251
* Add missing punctuation to *_LOADER_EFI descriptions...Kyle Evans2018-02-282-2/+2
| | | | Notes: svn path=/head/; revision=330118
* Some missing LOADER_EFI build option descriptionsKyle Evans2018-02-282-0/+4
| | | | Notes: svn path=/head/; revision=330116
* Add missing WITH_BSD_GREP_FASTMATCH descriptionKyle Evans2018-02-281-0/+3
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=330115
* Add kernel retpoline option for amd64Ed Maste2018-02-282-0/+6
| | | | | | | | | | | | | | | | | | Retpoline is a compiler-based mitigation for CVE-2017-5715, also known as Spectre V2, that protects against speculative execution branch target injection attacks. In this commit it is disabled by default, but will be changed in a followup commit. Reviewed by: bdrewery (previous version) MFC after: 3 days Security: CVE-2017-5715 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D14242 Notes: svn path=/head/; revision=330110
* Add Lua as a scripting langauge to /boot/loaderWarner Losh2018-02-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | liblua glues the lua run time into the boot loader. It implements all the runtime routines that lua expects. In addition, it has a few standard 'C' headers that nueter various aspects of the LUA build that are too specific to lua to be in libsa. Many refinements from the original code to improve implementation and the number of included lua libraries. Use int64_t for lua_Number. Have "/boot/lua" be the default module path. Numerous cleanups from the original GSoC project, including hacking libsa to allow lua to be built with only one change outside luaconf.h. Add the final bit of lua glue to bring in liblua and plug into the multiple interpreter framework, previously committed. Add LOADER_LUA option, currently off by default. Presently, this is an experimental option. One must opt-in to using this by defining WITH_LOADER_LUA and WITHOUT_FORTH. It's been lightly tested, so keep a backup copy of your old loader handy. The menu code, coming in the next commit, hasn't been exhaustively tested. A LUA boot loader is 60k larger than a FORTH one, which is 80k larger than a no-interpreter one. Subtle changes in size may tip things past some subtle limit (the binary is ~430k now when built with LUA). A future version may offer coexistance. Bump FreeBSD version to 1200058 to mark the milestone. Pedro Souza's 2014 Summer of Code project. Rui Paulo, Pedro Arthur, Zakary Nafziger and Wojciech A. Koszek also contributed. Warner Losh reworked it extensively into its current form. Obtained from: https://wiki.freebsd.org/SummerOfCode2014/LuaLoader Sponsored by: Google Summer of Code Relnotes: Yes MFC After: 1 month Differential Review: https://reviews.freebsd.org/D14295 Notes: svn path=/head/; revision=329166
* Promote llvm-cov to a standalone optionEd Maste2018-02-102-0/+8
| | | | | | | | | | | | | | | | | | | | Introduce WITH_/WITHOUT_LLVM_COV to match GCC's WITH_/WITHOUT_GCOV. It is intended to provide a superset of the interface and functionality of gcov. It is enabled by default when building Clang, similarly to gcov and GCC. This change moves one file in libllvm to be compiled unconditionally. Previously it was included only when WITH_CLANG_EXTRAS was set, but the complexity of a new special case for (CLANG_EXTRAS | LLVM_COV) is not worth avoiding a tiny increase in build time. Reviewed by: dim, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D142645 Notes: svn path=/head/; revision=329093
* Remove gdbtui, it was already not installed on every archesBaptiste Daroussin2018-02-061-1/+0
| | | | | | | | | | only installed on arm and sparc64. It is the only bits that keeps us having libreadline in base The rest of gdb can be switched to libedit and will be in another commit Notes: svn path=/head/; revision=328925
* Merge llvm, clang, lld, lldb, compiler-rt and libc++ trunk r321545,Dimitry Andric2017-12-291-0/+9
| | | | | | | | update build glue and version numbers, add new intrinsics headers, and update OptionalObsoleteFiles.inc. Notes: svn path=/projects/clang600-import/; revision=327330
* Update OptionalObsoleteFiles.inc again.Dimitry Andric2017-12-241-0/+1
| | | | Notes: svn path=/projects/clang600-import/; revision=327149
* Update OptionalObsoleteFiles.inc for new headers and libraries underDimitry Andric2017-12-241-0/+10
| | | | | | | /usr/lib/clang/6.0.0. Notes: svn path=/projects/clang600-import/; revision=327146
* Add new llvm-objcopy utility, enabled when MK_CLANG_EXTRAS=yes.Dimitry Andric2017-12-241-0/+1
| | | | Notes: svn path=/projects/clang600-import/; revision=327144
* Update ObsoleteFiles.inc and OptionalObsoleteFiles.inc.Dimitry Andric2017-12-201-116/+120
| | | | Notes: svn path=/projects/clang600-import/; revision=327046
* Upgrade our copies of clang, llvm, lldb and libc++ to r319231 from theDimitry Andric2017-12-031-113/+116
| | | | | | | | | upstream release_50 branch. This corresponds to 5.0.1 rc2. MFC after: 2 weeks Notes: svn path=/head/; revision=326496
* Fix typo in filename.Warner Losh2017-11-111-0/+0
| | | | | | | Noticed by: Shawn Webb Notes: svn path=/head/; revision=325718
* Move LOADER_{NO,}_GELI_SUPPORT to MK_LOADER_GELIWarner Losh2017-11-101-0/+2
| | | | | | | | | | | | | | Transition to WITH/WITHOUT_LOADER_GELI to flag support or not of GELI in the boot loaders. Add HAVE_GELI so components can flag they need support (since it's too large to include everywhere). Add temporary warnings for the old forms to ease transition. Also, update test script to build without GELI on x86. Sponsored by: Netflix Notes: svn path=/head/; revision=325693
* Replace LOADER_FIREWIRE_SUPPORT variableWarner Losh2017-11-101-0/+3
| | | | | | | | | | | | Rename LOADER_FIREWIRE_SUPPORT to MK_LOADER_FIREWIRE. Only build libfirewire when this is "yes". Add note to updating. Fix build script to build this for x86 so the option doesn't decay. sparc64 supports ZFS, so also build it MK_ZFS=no. Sponsored by: Netflix Notes: svn path=/head/; revision=325692
* s/NgSendMsgReply/NgSendReplyMsg/ in man to match the code.Alexander Motin2017-11-081-1/+1
| | | | | | | | Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 2 weeks Notes: svn path=/head/; revision=325552
* Enable AUTO_OBJ by default if the OBJDIR is writable, only for in-tree builds.Bryan Drewery2017-11-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | This can be disabled by putting WITHOUT_AUTO_OBJ=yes in /etc/src-env.conf, not /etc/src.conf, or passing it in the environment. The purpose of this rather than simply flipping the default of AUTO_OBJ to yes is to avoid hassling users with auto.obj.mk failures if the wanted OBJDIR is not writable. It will fallback to writing to the source directory like it does today if MAKEOBJDIRPREFIX is not writable. The act of enabling MK_AUTO_OBJ disables all 'make obj' treewalks since previous work has made those not run if MK_AUTO_OBJ==yes in Makefile.inc1. Relnotes: yes Reviewed by: sjg Discussed at: https://lists.freebsd.org/pipermail/freebsd-arch/2016-May/017805.html Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12841 Notes: svn path=/head/; revision=325330
* Add option UNIFIED_OBJDIR, on by default, which moves the default build OBJDIR.Bryan Drewery2017-11-013-5/+30
| | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=325288
* makeman: Ensure MK_AUTO_OBJ is disabled in some lookups.Bryan Drewery2017-10-311-2/+2
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325196
* Teach beinstall to use and prefer svnlite, with a fallback to svn.Brad Davis2017-10-181-1/+7
| | | | | | | Approved by: will Notes: svn path=/head/; revision=324723
* Do not try to remove diff.7 optionaly has it is always removedBaptiste Daroussin2017-10-111-1/+0
| | | | | | | since GNU diff(1) has been replaced with BSD diff(1) Notes: svn path=/head/; revision=324532
* OptionalObsoleteFiles: remove diff from MK_GNU_DIFF=no blockEd Maste2017-10-111-2/+0
| | | | | | | | | | | diff (and man page) are not from GNU, as of r317209, and should not be deleted if WITHOUT_GNU_DIFF is set. (WITHOUT_GNU_DIFF still controls whether diff3 is built.) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=324531