aboutsummaryrefslogtreecommitdiff
path: root/Makefile.inc1
Commit message (Collapse)AuthorAgeFilesLines
* Remove iBCS2: plug a wart missed in r342242Mateusz Guzik2018-12-191-1/+0
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=342245
* Makefile.inc1: update stale wpa dependency removal statementEd Maste2018-12-121-1/+1
| | | | | | | Only stale .depend files are removed; do not mention object files. Notes: svn path=/head/; revision=341989
* Clean stale wpa dependencies and objects after r341759Ed Maste2018-12-101-0/+8
| | | | | | | | | | | | | The wpa update added some source files with the same name as a file in another directory (found via .PATH in the previous version). Having a stale entry in a .depend file means the new file won't be built, so test for this case and if found remove all of wpa's dependency files. MFC with: r341759 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=341796
* Fix newvers.sh with BUILD_WITH_STRICT_TMPPATH=1Alex Richardson2018-12-051-0/+2
| | | | | | | | | | | | newvers.sh runs mkfifo which did not exist before this change. However, I didn't notice before because it is run from a function where a missing command does cause a noticeable failure. Reviewed By: emaste, markj Differential Revision: https://reviews.freebsd.org/D18377 Notes: svn path=/head/; revision=341514
* Only gnu/lib/csu when MK_BSD_CRTBEGIN is off.Andrew Turner2018-12-041-2/+4
| | | | | | | | | | | | | | | We were still building it from Makefile.inc1. Disable it there so we don't try to build the GNU crtbegin/crtend when the BSD version was asked for. PR: 233733 Reported by: lwhsu Reviewed by: emaste MFC with: r339738 Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D18428 Notes: svn path=/head/; revision=341489
* Fix -DNO_CLEAN amd64 build after r340463Alex Richardson2018-11-181-0/+7
| | | | | | | | | | | Without this change I got the following error: clang-7: error: no such file or directory: '..../lib/libc/amd64/string/bzero.S' Reviewed By: mjg Differential Revision: https://reviews.freebsd.org/D18031 Notes: svn path=/head/; revision=340587
* In followup to r340406, remove doc from the EXTRA_DISTRIBUTIONSGlen Barber2018-11-131-2/+2
| | | | | | | | | | | | list and remaining references from the script used to create the MANIFEST file used by bsdinstall(8). No MFC is planned at this time. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340407
* Add a top-level make target to rebuild all sysent files.Brooks Davis2018-11-081-0/+12
| | | | | | | | | | | | | | The sysent target is useful when changing makesyscalls.sh, when making paired changes to syscalls.master files, or in a future where freebsd32 sysent entries are built from the default syscalls.master. Reviewed by: bdrewery Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17899 Notes: svn path=/head/; revision=340242
* Turn off BUILD_WITH_STRICT_TMPPATH by defaultAlex Richardson2018-11-061-5/+4
| | | | | | | | | | | | | | Building with a strict $PATH (without inheriting from the parent environment) still causes build failures in some workflows/environemnts that I have not yet tested. I will try to bring this back once these issues have all been resolved since it is actually extremely useful in tracking broken dependencies and wrong assumptions about the build environemt. Discussed With: brooks Notes: svn path=/head/; revision=340196
* Remove btxld from symlinked host toolsAlex Richardson2018-11-061-2/+1
| | | | | | | | | | | | | | It is only present on amd64/i386 systems which breaks buildworld on other hosts. In fact there is no need to add it to the bootstrap tools list since it is already included in the cross-tools phase. However, for cross-tools it was only built if the host and target architecture didn't match. After this change it is also built when we are builtin with a strict $PATH. Reported By: mmel Notes: svn path=/head/; revision=340176
* Keep inheriting $PATH when using system linker/compilerAlex Richardson2018-11-051-0/+5
| | | | | | | | | | | I missed this case when testing r340157. For now just keep $PATH when we aren't bootstrapping a compiler so that the build can find cc/c++/ld without an absolute path. Reported by: yuripv Notes: svn path=/head/; revision=340167
* Build the elftoolchain libraries as part of bootstrap-toolsAlex Richardson2018-11-051-12/+18
| | | | | | | | | | | | | It is not necessary to build libelf and libdwarf this early. Furthermore, when building on Linux/MacOS, m4 will only be built during the bootstrap tools phase and not be available in $PATH before. Reviewed By: emaste Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D17800 Notes: svn path=/head/; revision=340158
* Allow building world without inheriting $PATHAlex Richardson2018-11-051-12/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Inheriting $PATH during the build phase can cause the build to fail when compiling on a different system due to missing build tools or incompatible versions somewhere in $PATH. This has cause build failures for us before due to the jenkins slaves still running FreeBSD 10. Listing the tools we depend on explicitly instead of just using whatever happens to be in $PATH allows us to check that we don't accidentally add a new build dependency. All tools that do no need to be bootstrapped will now be symlinked to ${WORLDTMP}/legacy/bin and during the build phase $PATH will only contain ${WORLDTMP}. There is also a new variable "BOOTSTRAP_ALL_TOOLS" which can be set to force compiling almost all bootstrap tools instead of symlinking them. This will not bootstrap tools such as cp,mv, etc. since they may be used during the build and for those we should really only be using POSIX compatible options. Furthermore, this change is required in order to be able to build on non-FreeBSD hosts. While the same binaries may exist on Linux/MacOS they often accept different flags or produce incompatible output. Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D16815 Notes: svn path=/head/; revision=340157
* Avoid binutils test in cleandir/obj stagesEd Maste2018-10-311-1/+1
| | | | | | | | | | | Further to r339946 skip the .error case for lack of in-tree binutils support when we haven't set the toolchain feature variables. Discussed with: arichardson Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=339964
* Don't run cc --version during cleandir/obj stagesAlex Richardson2018-10-311-5/+7
| | | | | | | | | | | | | | This will no work when there is no cc in $PATH (which is the case before the cross-tools stage once we no longer inherit $PATH in $WMAKE). The variables set by bsd.compiler.mk/bsd.linker.mk are not needed in these stages so this avoids a little bit of makefile parsing. Reviewed By: emaste Approved By: jhb (mentor) Differential Revision: https://reviews.freebsd.org/D16814 Notes: svn path=/head/; revision=339946
* Update elftoolchain bootstrapping test after r339083Ed Maste2018-10-261-1/+2
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=339757
* sort {delete,check}-old* outputEd Maste2018-10-231-7/+7
| | | | | | | | | | | | | | | It is more convenient to review old libraries, files, and directories in order. Sort check-* after checking for existence of files for efficiency, and because /usr/lib/debug entries are added while iterating over the list. Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17649 Notes: svn path=/head/; revision=339645
* Only compute the X_COMPILER_*/X_LINKER_* variables when neededAlex Richardson2018-10-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | When building CheriBSD we have to set XLD/XCC/XCFLAGS on the command line. This triggers the $XCC != $CC case in bsd.compiler.mk (and the same for LD in bsd.linker.mk) which causes it to call ${XCC} --version and ${XLD} --version (plus various awk+sed+echo calls) in every subdirectory. For incremental builds and stages that only walk the source tree this is often the majority of the time spent in that directory. By only computing the value of the X_COMPILER_*/X_LINKER_* variables if _WANT_TOOLCHAIN_CROSS_VARS is set we can reduce the number of cc/ld calls to once per build stage instead of once per recursive make. With this change (and no changes to the sources) the `make includes` stage now takes 28 seconds at -j1 instead of 86 seconds. Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D17046 Notes: svn path=/head/; revision=339636
* Makefile.inc1: clean up stale dependency hacksEd Maste2018-10-221-23/+1
| | | | | | | | | | | | | | Our dependency tracking cannot directly cope with certain source tree changes, particularly with respect to removing or moving source files or replacing generated files. We have a collection of ad-hoc workarounds to handle these cases. As there is a (small) build-time cost inherent in these workarounds, we do not want to keep them indefinitely. Thus, remove workarounds from 2017. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=339607
* Introduce src.conf knob to build userland with retpolineEd Maste2018-10-211-3/+4
| | | | | | | | | | | | | | WITH_RETPOLINE enables -mretpoline vulnerability mitigation in userland for CVE-2017-5715. Reported by: Peter Malcom Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17421 Notes: svn path=/head/; revision=339511
* - Update head to 13.0-CURRENT.Glen Barber2018-10-191-2/+2
| | | | | | | | | | | | | | - Bump MACHINE_TRIPLE, TARGET_TRIPLE, FBSD_MAJOR, FBSD_CC_VER, FREEBSD_CC_VERSION, OS_VERSION. - Update comment in UPDATING regarding debugging options. - Remove debug.witness.trace=0 from installation media. - Bump __FreeBSD_version. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=339436
* Makefile.inc1: clean up dependencies after r339348Ed Maste2018-10-141-0/+9
| | | | | | | | | | | r339348 switched bcopy from .s to .c. Add ad-hoc dependency cleanup as done for similar cases. Approved by: re (kib) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=339352
* Replace libldns's bootstrap dependency on libcrypto with one on libsslDag-Erling Smørgrav2018-10-121-1/+2
| | | | | | | | | | (which in turn has a bootstrap dependency on libcrypto). Submitted by: jkim Approved by: re (gjb) Notes: svn path=/head/; revision=339328
* Move libssl up in the bootstrap order.Dag-Erling Smørgrav2018-10-121-2/+2
| | | | | | | | Submitted by: jkim Approved by: re (gjb) Notes: svn path=/head/; revision=339326
* Switch ntp's embedded libevent to 2.1.18Ed Maste2018-10-091-0/+7
| | | | | | | | | | | | | | | For OpenSSL 1.1.1 compatibility. In Makefile.inc1 add (to the existing similar cases) a hack to handle dependencies across the migration. Reviewed by: jhb Approved by: re (gjb) Sponsored by: The FreeBSD Foundation. Differential Revision: https://reviews.freebsd.org/D17481 Notes: svn path=/head/; revision=339261
* Re-enable kernel modules for the MALTA64EL kernel configuration.John Baldwin2018-09-061-1/+2
| | | | | | | | | | | | | Update the BOOTSTRAPPING check for libelf to require the fix for mips64el object files committed in r338478 and re-enable kernel modules in the MALTA64EL config file. Reviewed by: emaste Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D17054 Notes: svn path=/head/; revision=338506
* Fix 'install: symlink usr/src/sys -> /sys: File exists' in distributeworldLi-Wen Hsu2018-08-281-1/+1
| | | | | | | | | | | | | Follow r334617, specify ${DISTDIR} (by ${INSTALL_DDIR}), '/base' and add ${INSTALLFLAGS} while installing the '/sys' symbolic link. Reviewed by: bapt (earlier version), markj Approved by: re (gjb), markj (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D16877 Notes: svn path=/head/; revision=338363
* Only bootstrap localedef if ${MK_LOCALES} != "no"Alex Richardson2018-08-231-1/+5
| | | | | | | | | | | During the build it is only used by share/ctypedef and share/colldef which will not be built if ${MK_LOCALE} == "no". This saves a tiny bit of time when building without locales. Approved By: jhb (mentor) Notes: svn path=/head/; revision=338269
* Don't create directories in ${WORLDTMP}/legacy with mtreeAlex Richardson2018-08-201-23/+17
| | | | | | | | | | | | | This has two advantages: 1) We no longer create lots of empty directories that are not needed 2) This is a requirement for building on non-FreeBSD hosts since mtree will only exist after the bootstrap-tools phase there. Aproved By: jhb (mentor) Differential Revision: https://reviews.freebsd.org/D16773 Notes: svn path=/head/; revision=338098
* libbe(3): Move build goop back out of cddl/Kyle Evans2018-08-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Some background: in the GSoC project, libbe/Makefile lived in lib/libbe. I created projects/bectl branch, maintained the above for all of five minutes before I misread Makefile.inc1 and decided that it couldn't possibly build outside of cddl/, so I kicked the Makefile out into the cddl/ build and all was good. The misreading was of the bit where .WAIT is added to SUBDIR after lib, libexec but prior to building bin and cddl *only during the install targets*, which is the critical part. Fast forward- buildworld was still broken in my branch unbeknownst to me because I didn't nuke my OBJDIR. Combing through Makefile.inc1 eventually revealed the necessary magic to make sure that libbe's dependencies are specified well enough, and it becomes clear what needs done to make a non-cddl/ build work. This is an interesting prospect, because the build split is kind of annoying to work with. IGNORE_PRAGMA is added to avoid dropping WARNS by one more. This was previously pulled in via cddl/Makefile.inc. Notes: svn path=/head/; revision=337995
* METALOG, unless manually overwritten, is defined as ↵Bjoern A. Zeeb2018-08-171-1/+1
| | | | | | | | | | | | | | | | | ${DESTDIR}/${DISTDIR}/METALOG In the create-world-packages target we manually piece this together (unless it is undefined), without the DISTDIR. Normally DISTDIR is empty (unset) and no one notices. Now DISTDIR is a well known long-standing PORTS environment variable and if that is set in the local environment the path to METALOG is wrong as it no longer is ${DESTDIR}/METALOG. Long-term we should start to avoid "publicly well known" names for global variables, for now just piece ${DISTDIR} in as well. This allows create-world-packages to continue if DISTDIR is set in the env. Notes: svn path=/head/; revision=337991
* build: skip the database check when generating install mediaRoger Pau Monné2018-08-171-1/+1
| | | | | | | | | | | | | | | There are several scripts and targets solely used to generate install media, make sure DB_FROM_SRC is used in that case in order to prevent checking the host database, which is irrelevant when generating install binaries. Sponsored by: Citrix Systems R&D PR: 230459 Reviewed by: gjb Differential revision: https://reviews.freebsd.org/D16638 Notes: svn path=/head/; revision=337960
* libbe(3)/bectl(8): More SYSROOT/GCC build fixesKyle Evans2018-08-111-0/+6
| | | | | | | | | | | | - Missing include path - Fully specify libzfs's dependencies (except for deps pulled in by other deps) in Makefile.inc1 - Drop WARNS back down to 2 for libbe(3). I do this with much hesitation, but the libzfs headers are apparently a hot warning-filled mess as far as GCC 4.2 is concerned. Notes: svn path=/projects/bectl/; revision=337662
* Add libzfs to prebuild_libs, libbe dependency on libzfsKyle Evans2018-08-111-1/+3
| | | | Notes: svn path=/projects/bectl/; revision=337655
* Makefile.inc1: Add libl to -legacy as wellKyle Evans2018-08-101-1/+5
| | | | | | | | | | | | | | | | libl is needed for config(8), which is a bootstrap-tool. It is possible to build a system WITHOUT_TOOLCHAIN to exclude lex and thus, libl. We still need to support building from this kind of host, though. While here, group the config(8) dependencies together and add a small explanation. These can likely both be scoped more clearly, but this will need some further investigation. Reported by: rgrimes (not WITHOUT_TOOLCHAIN, but provoked investigation) MFC after: immediately Notes: svn path=/head/; revision=337559
* build: skip the database check for the distributeworld targetRoger Pau Monné2018-08-081-0/+7
| | | | | | | | | | | | | | distributeworld is used to generate install media, so it makes no sense to check the host database since the install media can be generated from any box, regardless of the version of FreeBSD it's running. Sponsored by: Citrix Systems R&D Reviewed by: ian, gjb Differential revision: https://reviews.freebsd.org/D16507 Notes: svn path=/head/; revision=337452
* Alpha-sort the list of user/group IDs to check at install time.Ian Lepore2018-07-221-4/+4
| | | | Notes: svn path=/head/; revision=336608
* Remove the .if ${MK_FOO} wrappers around the user/group ID checks. TheseIan Lepore2018-07-221-8/+0
| | | | | | | | names are referenced in mtree files without any conditional logic, so the users/groups must exist even if the corresponding tool(s) are disabled. Notes: svn path=/head/; revision=336607
* Add ntpd to the list of users/groups to check before installing.Ian Lepore2018-07-201-0/+4
| | | | Notes: svn path=/head/; revision=336526
* As discussed several times on freebsd-arch, start to decommission armeb.Warner Losh2018-07-171-1/+0
| | | | | | | | | | Remove armeb/arm from KNOWN_ARCHS. Remove armeb from arm universe targets. Differential Revision: https://reviews.freebsd.org/D16257 Notes: svn path=/head/; revision=336434
* Unconditionally build libnv in legacyKyle Evans2018-07-161-7/+1
| | | | | | | | Rather than using a config(8) built from new tree linking libnv built on host. Notes: svn path=/head/; revision=336337
* Fix parsing of create-kernel-packagesBryan Drewery2018-07-101-1/+1
| | | | | | | | MFC after: 3 days Reported by: rene Notes: svn path=/head/; revision=336181
* config(8): De-dupe hint/env vars within a single fileKyle Evans2018-07-061-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | r335653 flipped the order in which hints/env files are concatenated to match the order in which vars are processed by the kernel. This is the other hammer to drop. Use nv(9) to de-dupe entries within a single `hint` or `env` file, using the latest value specified for a key. This leaves some duplicates if a variable is specified in multiple hint/env files or via `envvar` in a kernel config, but the reversed order of concatenation (from r335653) makes this a non-issue as the latest-specified version will be seen first. This change also silently rewrote hint bits to use the same sanitization process that ian@ wrote for r335642. To the kernel, hints and env vars are basically the same thing through early boot, then get merged into the dynamic environment once kmem becomes available and the dynamic environment is created. They should be subjected to the same restrictions. libnv has been added to -legacy for the time being to support the build of config(8) with the new cnvlist API. Tested with: universe (11 host & 12 host) MFC after: 1 month Notes: svn path=/head/; revision=336019
* Revert r336011,r336012 until I can competently testKyle Evans2018-07-051-10/+1
| | | | Notes: svn path=/head/; revision=336013
* Fix build after r336011Kyle Evans2018-07-051-1/+10
| | | | | | | Add libnv to bootstrap-tools, use ${SRCTOP}/sys headers. Notes: svn path=/head/; revision=336012
* `make installworld' should display "completed" message if doneWolfram Schneider2018-07-011-1/+10
| | | | | | | | | | PR: 225159 Reviewed by: bdrewery Approved by: cem (mentor) Differential Revision: https://reviews.freebsd.org/D14057 Notes: svn path=/head/; revision=335838
* META_MODE: Fix clang-tblgen flip-flop building after r335707.Bryan Drewery2018-06-301-3/+3
| | | | | | | | | | | | | The build of this would have MK_LLVM_TARGET_ALL=yes for bootstrap-tools but MK_LLVM_TARGET_ALL=no for cross-tools and thus would rebuild between the two. MFC after: 2 weeks X-MFC-with: r335707 Sponsored by: Dell EMC Notes: svn path=/head/; revision=335823
* Don't change directory owner to root when building with -DNO_ROOTAlex Richardson2018-06-291-28/+41
| | | | | | | | | | | | | | | | | | Currently the mtree calls in Makefile.inc1 all change the directory owner to match the spec file. However, we should not be doing this during distributeworld if -DNO_ROOT is passed. Additionally, when creating the WORLDTMP directory hierachy there is no need to change the owner to root so we now always pass the -W flag when populating WORLDTMP. This is also required for building FreeBSD on Linux/Mac since the required groups/users will not exist there which is how I discovered this issue. Reviewed By: emaste, bdrewery, imp Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D14185 Notes: svn path=/head/; revision=335805
* Fix unknown target check after r335450.Bryan Drewery2018-06-281-35/+34
| | | | | | | | | X-MFC-with: r335450 Pointyhat to: bdrewery Sponsored by: Dell EMC Notes: svn path=/head/; revision=335788
* Remove the various build flag hacks for GCC cross-compile.John Baldwin2018-06-281-13/+0
| | | | | | | | | | | | | | The xtoolchain GCC packages have not required these flags since ports commits r465416 and r466701. The in-tree GCC 4.2.1 has also been patched in r335716 and r335717 to correctly honor --sysroot when looking for includes and libraries. Reviewed by: bdrewery Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D16055 Notes: svn path=/head/; revision=335782