aboutsummaryrefslogtreecommitdiff
path: root/Makefile.inc1
Commit message (Collapse)AuthorAgeFilesLines
* Add ncurses/form to _prebuild_libs to fix buildEd Maste2021-11-241-0/+2
| | | | Reported by: bz
* Revert "Bootstrap: Prune building from pre-FreeBSD 11 support"Warner Losh2021-11-191-4/+47
| | | | | | | This reverts commit a420a672bc53bd3928626aa5d0ec5b41c0471356. kevans pointed out some potential problems here, so reverting until I can fix them.
* Bootstrap: Prune building from pre-FreeBSD 11 supportWarner Losh2021-11-191-47/+4
| | | | | | | | | | We don't need to bootstrap lex or md4 anymore. Cat doesn't need to be bootstrapped (but is needed for buildkernel) cruncgen doesn't need to be bootstrapped at all. kbdcontrol isn't needed Sponsored by: Netflix Pull Request: https://github.com/freebsd/freebsd-src/pull/554
* Add warning that MIPS is being removed in FreeBSD 14.0Warner Losh2021-11-191-0/+8
| | | | | | | MFC After: 3 days Sponsored by: Netflix Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D32853
* cddl: fix missing ZFS library dependenciesGreg V2021-11-151-2/+6
| | | | | | | | | | | In 9fae47666 zfsd got a libspl dependency to avoid undefined references. However that workaround did not help external consumers of libzfs_core. Fix all missing dependencies lld 13 and the rtld complain about. Reviewed by: freqlabs, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D32521
* Remove arm/linux from sysent toplevel targetKonstantin Belousov2021-11-101-1/+0
| | | | | Sponsored by: The FreeBSD Foundation Fixes: 65e485014b0dcf53e0
* Makefile.inc1: Remove mentions of removed target "update"Mateusz Piotrowski2021-10-241-1/+0
| | | | This is follow-up to commits e290182bcf38 and 1f7d11e636ab.
* Makefile.inc1: remove lorder from build/cross toolsEd Maste2021-10-181-2/+0
| | | | | | | | As lorder is not used by the base system build there is no need to include it in bootstrap-tools or NXBDIRS. Fixes: 0e1e341b486c ("Stop using lorder and ranlib when...") Sponsored by: The FreeBSD Foundation
* native-xtools: avoid libllvm while populating the sysrootKyle Evans2021-10-131-3/+7
| | | | | | | | | | | | Prior to 021385aba562, MK_CLANG=no was sufficient to avoid descending into lib/clang, but the referenced change added a couple of other enabling knobs. Turn those off, too, to continue avoiding libllvm. With this change, we no longer end up with a libllvm using the wrong default target triple; `poudriere jail -cx` works once again. Reported by: bhughes, imp, probably others Fixes: 021385aba562 ("Add WITH_LLVM_BINUTILS to install LLVM ...")
* Revert "bootstrap: No need to disable shared libraries for bootstrap tools"Warner Losh2021-10-111-0/+1
| | | | | | | | | | This reverts commit e8f26e5dc859a8fbc663e108421f657325ca3054. Although the change worked locally, it's breaking something in the CI build for the riscv64 build (which makes no sense it would only break that since we're building host tools to bootstrap at that point). Sponsored by: Netflix
* bootstrap: No need to disable shared libraries for bootstrap toolsWarner Losh2021-10-111-1/+0
| | | | | | | | | | | | | | | | | | | | There's no need to disable shared libraries when building the bootstrap tools. This was added on 2000 (commit ad879ce9552c) when the perl bootstrap was added (libperl and miniperl) and saved a fair amount of time (perl took a long time to build on 2000-era hardware). For many years now, however, we rarely build any libraries when bootstrapping. Even when we do, the optimization saves at most a few seconds when upgrading since the libraries built have been small. Shared libraries are more robust accross versions that static libraries due to creaping dependencies (we aren't crossing versions of share libraries, though, just using what's on the host). In addition, linux and macos have been building like this for some time because static binaries on those systems are difficult to impossible. Sponsored by: Netflix Reviewed by: arichardson, bapt Differential Revision: https://reviews.freebsd.org/D32443
* build: slap a libtinfo dependency on libncursesKyle Evans2021-10-071-0/+2
| | | | | | | This mirrors the SUBDIR_DEPEND in lib/ncurses/Makefile. Reported by: jenkins (e.g., riscv64 build #23984) Fixes: 396851c20aeb ("ncurses: split libtinfo from libncurses")
* ncurses: chase dependency changes in the source treeBaptiste Daroussin2021-10-041-2/+3
| | | | Differential Revision: https://reviews.freebsd.org/D32098
* Drop cloudabiKonstantin Belousov2021-09-211-2/+0
| | | | | | | | | | | | | According to https://github.com/NuxiNL/cloudlibc: CloudABI is no longer being maintained. It was an awesome experiment, but it never got enough traction to be sustainable. There is no reason to keep it in FreeBSD. Approved by: ed (private mail) Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D31923
* Fix spelling of BUILDENV_SHELLDoug Rabson2021-09-111-1/+1
|
* Add WITH_LLVM_BINUTILS to install LLVM binutils instead of ElftoolchainAlex Richardson2021-09-061-1/+3
| | | | | | | | | | | | | | | | | | | When WITH_LLVM_BINUTILS is set, we will install the LLVM binutils as ar/ranlib/nm/objcopy/etc. instead of the elftoolchain ones. Having the LLVM binutils instead of the elftoolchain ones allows us to use features such as LTO that depend on binutils that understand LLVM IR. Another benefit will be an improved user-experience when compiling with AddressSanitizer, since ASAN does not symbolize backtraces correctly if addr2line is elftoolchain addr2line instead of llvm-symbolizer. See https://lists.freebsd.org/archives/freebsd-toolchain/2021-July/000062.html for more details. This is currently off by default but will be turned on by default at some point in the near future. Reviewed By: emaste Differential Revision: https://reviews.freebsd.org/D31060
* Fix bootstrapping to actually build lldb-tblgen for later useJessica Clarke2021-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because MK_LLDB=no is in BSARGS, the bootstrap-tools recursive make does not add lldb-tblgen to _clang_tblgen, causing it to not be built. This means that the build currently always uses the host's lldb-tblgen (which, whilst currently it appears to work, could in future break if TableGen backends are added or altered) and, if it doesn't exist (either because the current FreeBSD system was built with it disabled, or you're building on macOS/Linux), fails. Linux and macOS cross-builds used to work simply because LLDB was previously in BROKEN_OPTIONS when building on non-FreeBSD. Instead, move MK_LLDB=no from BSARGS to XMAKE. This ensures that the lib/clang build in cross-tools continues to not build LLDB parts for the bootstrap toolchain (both to save time/space on FreeBSD, and because our vendored LLDB does not include the macOS and Linux host files so those would fail to build). The DIRDEPS target is updated to move MK_LLDB=no from the BSARGS block that mirrors Makefile.inc1 to the line that disables additional toolchain components. The DIRDEPS build likely suffers from the same issue currently, but having never used it and not being familiar with how it works I am leaving that as-is. If it does suffer from the same issue it should be easily reproducible by renaming /usr/bin/lldb-tblgen or moving it to a directory not in PATH. Fixes: 31ba4ce8898f ("Allow bootstrapping llvm-tblgen on macOS and Linux") MFC after: 1 week Reviewed by: dim, emaste, imp Differential Revision: https://reviews.freebsd.org/D31531
* Makefile.inc1: Make sure sub-makes see MK_CLANG_BOOTSTRAP=no when XCC is a pathJessica Clarke2021-08-241-0/+3
| | | | | | | | | | | | | | | | | | | Currently we override MK_CLANG_BOOTSTRAP to no so we don't build a bootstrap compiler, but subdirectories don't see that and so the hack in bsd.sys.mk to prefer our includes over Clang's resource dir for external toolchains is not enabled unless you use -DWITHOUT_CLANG_BOOTSTRAP explicitly on top of XCC (which tools/build/make.py does not do), causing duplicate definition errors when building rtld-elf due to the use of -ffreestanding (Clang's stdint.h will use the system one when hosted, but its own when freestanding, and only has glibc's preprocessor guards, not FreeBSD's). This broke when dropping CLANG_BOOTSTRAP from BROKEN_OPTIONS. Fixes: 31ba4ce8898f ("Allow bootstrapping llvm-tblgen on macOS and Linux") MFC after: 1 week Reviewed by: imp, arichardson Differential Revision: https://reviews.freebsd.org/D31529
* localedef: unbreak WITHOUT_LOCALESBjoern A. Zeeb2021-08-191-2/+1
| | | | | | | | | | | | | | | After 0fa5403d493b ("pkgbase: move locales into their own package") we need usr.bin/localedef as a bootstrap tool independent on where WITHOUT_LOCALE was specified as we ALWAYS process C.UTF-8. At the same time LOCALES= in the local Makefile is empty but C.UTF-8 with WITHOUT_LOCALES. C.UTF-8 is excluded from FILES, and thus after the replacement FILES= is set to only .LC_CTYPE which results in a build failure not knowing how to build that. Tweak the substitution to replace only non-empty words so that FILES remains harmlessly empty. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D31589
* bootstrap-tools: Don't copy host tools with make -nBryan Drewery2021-08-171-1/+1
|
* _worldtmp: Fix some sub-makes not working with make -nBryan Drewery2021-08-171-2/+2
|
* Add missing lex/yacc dependency for mkesdb/mkcsmapper bootstrapAlex Richardson2021-08-161-0/+2
| | | | | | | This causes build failures on macOS where the build can end up invoking an incompatible m4 binary. Fxies: 2de949cf85d0 ("Remove mkcsmapper_static and mkesdb_static from build-tools")
* Makefile.inc1: Avoid hanging if pkg is not installedEd Maste2021-08-081-1/+2
| | | | | | | | | | | For `pkg --version`, Redirect stdin from /dev/null to avoid waiting on /usr/sbin/pkg's bootstrap prompt if the pkg package is not installed. Also redirect stderr to /dev/null to discard the warning message in this case. Reported by: mjg Fixes: 4e224e4be7c3 ("pkgbase: accommodate pkg < 1.17") Sponsored by: The FreeBSD Foundation
* Prefer MK_SSP=no to SSP_CFLAGS=Mitchell Horne2021-08-041-4/+4
| | | | | | | | | It is more idiomatic. CFLAGS is only augmented with $SSP_CFLAGS when $MK_SSP != "no". Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31401
* mk: format some option listsMitchell Horne2021-08-041-14/+40
| | | | | | | | | Alphabetize and give each option its own line, ahead of making another change to these lists. This makes future diffs easier to read. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31399
* Fix native-xtools buildBryan Drewery2021-08-031-1/+3
| | | | | | Fixes https://github.com/freebsd/poudriere/issues/894 Fixes: d0c737e18 ("Makefile: Fix MAKEOBJDIRPREFIX command-line") X-MFC-With: d0c737e18
* Revert "Fix native-xtools build"Bryan Drewery2021-08-031-3/+1
| | | | | | This reverts commit 36269b82318280ef184c953b90674f5905e0f53f. This had an unintended change included.
* Fix native-xtools buildBryan Drewery2021-08-031-1/+3
| | | | | | Fixes https://github.com/freebsd/poudriere/issues/894 Fixes: d0c737e18 ("Makefile: Fix MAKEOBJDIRPREFIX command-line") X-MFC-With: d0c737e18
* Remove mkcsmapper_static and mkesdb_static from build-toolsAlex Richardson2021-08-021-2/+7
| | | | | | | Build them as part of the bootstrap-tools phase instead. Reviewed by: emaste (no objections) Differential Revision: https://reviews.freebsd.org/D28181
* Add build system support for ASAN+UBSAN instrumentationAlex Richardson2021-08-021-0/+12
| | | | | | | | | | | | This adds two new options WITH_ASAN/WITH_UBSAN that can be set to enable instrumentation of all binaries with AddressSanitizer and/or UndefinedBehaviourSanitizer. This current patch is almost sufficient to get a complete buildworld with sanitizer instrumentation but in order to actually build and boot a system it depends on a few more follow-up commits. Reviewed By: brooks, kib, markj Differential Revision: https://reviews.freebsd.org/D31043
* add the time(1) command to the list of install toolsWolfram Schneider2021-08-011-1/+1
| | | | | | Reported by: dhw Approved by: dhw Differential Revision: https://reviews.freebsd.org/D31373
* `make buildworld' with time logging for each stageWolfram Schneider2021-08-011-6/+7
| | | | | | | PR: 257141 Reviewed by: sjg,emaste Approved by: emaste Differential Revision: https://reviews.freebsd.org/D31154
* pkgbase: improve pkg --version parsingEd Maste2021-07-281-1/+1
| | | | | | | | | | In some cases `pkg --version` might produce unexpected or additional output. Use a regex /^[0-9.]+$/ to match only the line containing the version number. Reported by: Michael Butler on freebsd-current@ Fixes: 4e224e4be7c3 ("pkgbase: accommodate pkg < 1.17") Sponsored by: The FreeBSD Foundation
* pkgbase: accommodate pkg < 1.17Ed Maste2021-07-271-3/+12
| | | | | | | | | | | | | | | | 6cafdee71d2b adapted the pkgbase build for 1.17, but broke Cirrus-CI's use of PKG_FORMAT=tar (the quarterly package set still has pkg 1.16). Because of this I disabled the pkgbase build and test in 2bfba2a04b05. Now, check `pkg --version` and use the old logic for < 1.17. To be reverted once we no longer encounter pkg 1.16 in Cirrus-CI (i.e., via GCP cloud images) to avoid keeping this extra complexity around. PR: 257422 Reviewed by: manu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31324
* pkgbase: Track pkg 1.17Emmanuel Vadot2021-07-221-3/+3
| | | | With pkg 1.17 the extention is always .pkg, packing_format is also now deprecated.
* Don't build lldb-tablegen if MK_LLDB=noAlex Richardson2021-07-191-6/+9
| | | | | | Split out from D31060. Reviewed by: emaste
* Remove svnlite.John Baldwin2021-06-111-1/+0
| | | | | Reviewed by: bcr, imp, emaste Differential Revision: https://reviews.freebsd.org/D30737
* Remove 'make update'.John Baldwin2021-06-111-27/+0
| | | | | | | | | | | | In the CVS days this used be a wrapper around either CVS or CVSup and used to support updating src, doc, and ports checkouts. With the move to subversion this only supported updating src and was itself a wrapper around 'svn update'. With Git, users are probably better off using appropriate Git commands directly to update without needing an explicit make target as a wrapper. Reviewed by: bcr, imp, emaste Differential Revision: https://reviews.freebsd.org/D30736
* libpmc: always generate libpmc_events.cMitchell Horne2021-05-311-3/+1
| | | | | | | | | | The jevents build tool will create an empty table if it doesn't find any events, so we can remove the extra $MACHINE_CPUARCH checks. Reviewed by: gnn, ray, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30531
* Add elfctl to toolchain.Marcin Wojtas2021-05-211-3/+5
| | | | | | | | | | Add elfctl program to toolchain to allow modifying ELF feature flags during system build. Submitted by: Dawid Gorecki <dgr@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D29552
* Makefile.inc1: unbreak bootstrap when kbdcontrol does not existGlen Barber2021-03-241-1/+2
| | | | | | | | Reviewed by: arichardson MFC after: 12 hours MFC target: stable/13, releng/13.0 Differential Review: https://reviews.freebsd.org/D29200 Sponsored by: Rubicon Communications, LLC ("Netgate")
* Revert "bootstrap: add tic to the bootstrap tools"Baptiste Daroussin2021-03-181-5/+0
| | | | | | | | | Since we don't build and install the terminfo db anymore this is not needed This reverts commit b6a51d39e3a2e2f75d5b42a8c17a531063258a15. This reverts commit e5e4845959ac60110677df302a68c220dff75abe. This reverts commit 0af562d7e1850bbef230d30805c101b26588a3ed.
* Makefile.inc1 "Avoid duplicate script for target" warningAlex Richardson2021-03-011-3/+0
| | | | This happens if -DBOOTSTRAP_ALL_TOOLS or when building on non-FreeBSD.
* bootstrap: fix a last edit typoBaptiste Daroussin2021-02-251-1/+1
| | | | Reported by: cy
* bootstrap: add tic to the bootstrap toolsBaptiste Daroussin2021-02-251-0/+8
| | | | | | | tic is necessary early in the build to be able to build the terminfo database later on. Tested by: manu, jbeich
* Remove the MK_LIBCPLUSPLUS optionAlex Richardson2021-02-011-4/+4
| | | | | | | | This option has been equivalent to any form of C++ support since libstdc++ was removed. Therefore, replace all MK_LIBCPLUSPLUS uses with MK_CXX. Reviewed By: emaste Differential Revision: https://reviews.freebsd.org/D27974
* build: remove LIBPTHREAD/LIBTHR build optionsKyle Evans2021-01-221-5/+1
| | | | | | | | | | | | | | | | | | WITHOUT_LIBTHR has been broken for a little over five years now, since the xz 5.2.0 update introduced a hard liblzma dependency on libthr, and building a useful system without threading support is becoming increasingly more difficult. Additionally, in the five plus years that it's been broken more reverse dependencies have cropped up in libzstd, libsqlite3, and libcrypto (among others) that make it more and more difficult to reconcile the effort needed to fix these options. Remove the broken options. PR: 252760 Reviewed by: brooks, emaste, kib Differential Revision: https://reviews.freebsd.org/D28263
* Bump CURRENT to 14.0Glen Barber2021-01-221-2/+2
| | | | | | | This one goes to 14. Approved by: re (implicit) Sponsored by: Rubicon Communications, LLC ("Netgate")
* pkgbase: allow update-packages for first-run of packagingKyle Evans2021-01-211-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | If ${REPODIR}/${PKG_ABI} does not exist when we begin real-update-packages, skip the comparison with the non-existent previous repository and just finish the repo off. This allows external scripts to just assume they can run `update-packages` rather than figuring out if they'd previously run `packages` for this Version/Arch combo. PKG_VERSION_FROM_DIR was added so that we could perhaps detect the three distinct cases: 1.) If the repo has not yet been created, PKG_VERSION_FROM_DIR will be empty. 2.) If the repo is in some intermediate state between created and fully initialized, PKG_VERSION_FROM_DIR may point to the ABI directory. 3.) If the repo is fully initialized, then PKG_VERSION_FROM_DIR points to the latest build to compare to. Option #2 is explicitly unhandled at the moment, but this is no different than it was before. Reviewed-by: manu Differential-Revision: https://reviews.freebsd.org/D28229
* pkgbase: differentiate package versions for ALPHA/BETA/PRERELEASE/RC phasesEmmanuel Vadot2021-01-191-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current postfix conversions are: CURRENT / STABLE / PRERELEASE, 12.x-CURRENT becomes 12.snapYYYYMMDDhhmmss ALPHAx -> .ax, so 11.3-ALPHA1 becomes 11.3.a1.YYYYMMDDhhmmss BETAx -> .bx, so 12.1-BETA2 becomes 12.1.b2.YYYYMMDDhhmmss RCx -> .rcx, so 13.0-RC3 becomes 13.0.rc3.YYYYMMDDhhmmss RELEASE -> (nothing), so 12.1-RELEASE becomes 12.1 RELEASE-pX -> pX, so 12.1-RELEASE-p1 becomes 12.1p1 Note that for development branches we will start to drop the minor version component entirely, which more closely matches how these branches are physically named (stable/NN). snap is a new prefix that was added to pkg in [0], which is simply a more verbose version of the current ".s" used. As noted, build timestamps are also added to ALPHA/BETA/RC versions. This is largely irrelevant for re@ snapshots because they will only produce one set of snapshots for each alpha/beta/rc, but external folks may produce multiple in that timeframe -- at least for alpha. For them, it is imperative that the builds have a differentiating characteristic like this rather than multiple builds across multiple revisions being versioned identically. [0] https://github.com/freebsd/pkg/pull/1929 Reviewed by: gjb, manu Submitted by: rene (original, original version) Differential Revision: https://reviews.freebsd.org/D28167