summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
Commit message (Collapse)AuthorAgeFilesLines
* MFC: 306864,307648bapt2016-10-221-1/+1
| | | | Groff is needed only if MK_GROFF and MK_SHAREDOCS are both true.
* MFC r304217:bdrewery2016-08-191-10/+0
| | | | Trim unneeded bootstrap after r301470 made 9.1 the minimum supported release.
* MFC r304006:bdrewery2016-08-191-3/+3
| | | | Avoid showing the bootstrap make command for check-old, etc.
* MFC 303935lwhsu2016-08-171-1/+1
| | | | | | | | Only remove empty directories before packaging. This preserves files are intentionally empty, most of them are in tests.txz Reviewed by: bdrewery
* MFC r303274:bdrewery2016-07-271-7/+5
| | | | | | Don't disable binutils/elftoolchain bootstrapping with external compiler. Approved by: re (kib)
* MFC r303272,r303273:bdrewery2016-07-271-30/+48
| | | | | | | | | r303272: SYSTEM_COMPILER: Rework the logic to allow a 'make test-system-compiler'. r303273: Fix empty WANT_COMPILER_TYPE when neither compiler is bootstrapped. Approved by: re (kib)
* MFC r303034: Include makewhatis in ITOOLS when MK_MAN_UTILS is trueemaste2016-07-261-1/+1
| | | | | | | | | | | Previously it was conditional on MK_MAN. It's possible to build FreeBSD with man pages but without man page tools. MK_MAN_UTILS is the conditional used in share/man/Makefile for determining whether makewhatis is executed at install time, so it is the proper one for ITOOLS as well. PR: 210142 Approved by: re (gjb)
* WITH_SYSTEM_COMPILER: Don't enable for xdev or native-xtools.bdrewery2016-07-071-1/+1
| | | | | | | | | Otherwise they get no compiler. Reported by: swills Tested by: swills Approved by: re (gjb) Sponsored by: EMC / Isilon Storage Division
* WITH_SYSTEM_COMPILER: Avoid using GCC4.8+ logic on native GCC4.2 platforms.bdrewery2016-06-291-0/+2
| | | | | | | | | | | As the XXX notes, these should really be checking MK_GNUCXX since there is already a version check in share/mk/src.opts.mk to disable it. Fixing that here is more complex though. This could also be using X_COMPILER_FEATURES but uses X_COMPILER_VERSION to keep in sync with the src.opts.mk logic. Tested by: andreast Sponsored by: EMC / Isilon Storage Division Approved by: re (gjb)
* Fix native powerpc64 build of lib32 with in-tree GCC.bdrewery2016-06-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | - This was broken by r300350 and r300885. - Add some comments around the external GCC logic since it is spread out and in need of some cleanup. - The problem was that X_COMPILER_TYPE is always defined from CC->XCC's default, so if /usr/bin/cc is GCC (as it is on native powerpc64) then X_COMPILER_TYPE was getting GCC and triggering the external logic in Makefile.libcompat. It was intended to always provide -isystem with GCC since --sysroot is used into the lib32 sysroot which won't modify the header path without the -isystem. The use of the libc++/std=c++11 override was only intended to be used for external compilers though (more accurately GCC 4.8+ but that's a separate assumption to cleanup). Apply the same logic from Makefile.inc1 to Makefile.libcompat to only add the libc++ override when needed for external compilers. Pointyhat to: bdrewery Tested with: native ppc64 (swills), universe, ppc64 xtoolchain, amd64 xtoolchain, sparc64 cross-build of ppc64 (host GCC 4.2) Reported by: andreast, swills Approved by: re (gjb) Sponsored by: EMC / Isilon Storage Division
* build: Add legacy support for futimens() and utimensat().jilles2016-06-091-0/+2
| | | | | | | | | | | | | | | In order to allow using utimensat() in install(1), add futimens() and utimensat() to -legacy. The files futimens.c and utimensat.c are modified copies of the files under lib/libc/sys/ since the libc versions use symbols that do not exist in the libc on the build system (sys_futimens and sys_utimensat) . I expect the next non-sweeping change to both sets of files to be to delete them, anyway. This will allow reverting r299942 (which is a revert of r299850) enabling nanosecond timestamps in install(1). Reviewed by: bdrewery
* legacy: Avoid building/installing headers twice.bdrewery2016-06-051-2/+3
| | | | Sponsored by: EMC / Isilon Storage Division
* Add a MINIMUM_SUPPORTED_OSREL and bump it to 900044.bdrewery2016-06-051-2/+5
| | | | | | | This is actually a revision in the stable/9 branch released as 9.1. The localedef build requires xlocale from this period. Sponsored by: EMC / Isilon Storage Division
* Fix incorrect logic in r301394.bdrewery2016-06-041-1/+1
| | | | Reported by: Mark Millard
* Follow-up r301287: Pass external compiler metadata when used.bdrewery2016-06-041-0/+6
| | | | | | | This fixes WITH_SYSTEM_COMPILER, WITHOUT_CROSS_COMPILER, external compiler, to pass the external compiler metadata rather than the ${CC} metadata. On a build host that has clang as CC it was passing the clang metadata rather than GCC metadata during the build.
* WITHOUT_CROSS_COMPILER: Fix installworld.bdrewery2016-06-031-3/+9
| | | | | | | | | | | | | | Since no WORLDTMP/usr/bin/cc is created, cc cannot be found during installworld time since /usr/bin is not in the PATH. Pass along the known compiler metadata to allow installworld to work. The same fix was used for WITH_SYSTEM_COMPILER. A better route would be to store a cookie in buildworld containing this compiler metadata and then using that at install time, rather than rerunning cc. Reported by: Mark Millard Sponsored by: EMC / Isilon Storage Division
* For clang, move the definition of FREEBSD_CC_VERSION into its own headerdim2016-06-031-1/+1
| | | | | | | | | | file, lib/clang/freebsd_cc_version.h, instead of reusing Version.inc. The header is only included from one .cpp file in the clang tree. This minimizes the number of .cpp files that need to be rebuilt if the version is bumped. Discussed with: bdrewery
* GCC External: Revert r300886, r300904, r300917, r300918bdrewery2016-05-291-1/+7
| | | | | The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately.
* Move external GCC compiler hacks to bsd.sys.mk.bdrewery2016-05-271-8/+1
| | | | | | | | | | | | | | This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers. More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html This also reverts r300873. Sponsored by: EMC / Isilon Storage Division
* Make PKG_VERSION aware of '-ALPHA*'.gjb2016-05-271-1/+1
| | | | | Submitted by: Ben Woods Sponsored by: The FreeBSD Foundation
* WITH_AUTO_OBJ: Fix crunchgen builds.bdrewery2016-05-261-3/+10
| | | | | | | | | | | | | | | | | Passing MAKEOBJDIRPREFIX to the main prog build (rescue) would confuse WITH_AUTO_OBJ and cause it to create a recursed object directory that then broke the actual prog build. This is normally not a problem since we do not call 'make -f prog.mk obj' before building anything in it. Crunchgen(1) also assumes that if -o is not passed then if an object directory does not already exist then it should build in the source directories. The normal buildworld process will have already ran 'make obj' in each of the component directories so this is not a problem. With WITH_AUTO_OBJ though this is not the case. So we must tell crunchgen(1) that MK_AUTO_OBJ=yes will create the directory and to not require it be present before generating its Makefile. Sponsored by: EMC / Isilon Storage Division
* WITH_META_MODE: Move the kernel support to kern.pre.mk.bdrewery2016-05-261-5/+0
| | | | | | | This allows using META_MODE directly from the kernel build directory. This also allows removing a hack from the DIRDEPS_BUILD kernel target. Sponsored by: EMC / Isilon Storage Division
* Remove leftover _crunchide from r283108bdrewery2016-05-261-1/+0
|
* Update libc++ to 3.8.0. Excerpted list of fixes (with upstream revisiondim2016-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | numbers): r242679 Implement the plugin-based version of std::search. There are no searchers yet; those are coming soon. r242682 Implement the default searcher for std::experimental::search. r243728 Add <experimental/any> v2. r245330 implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations r245334 Fix PR22606 - Leak pthread_key with static storage duration to ensure all of thread-local destructors are called. r245335 Fix PR23589: std::function doesn't recognize null pointer to varargs function. r247036 Implementation of Boyer-Moore and Boyer-Moore-Horspool searchers for the LFTS. r249325 Implement LWG#2063, and update the issues links to point to the github generated pages r249738 Split <ctype.h> out of <cctype>. r249739 Split <errno.h> out of <cerrno>. r249740 Split <float.h> out of <cfloat>. r249741 Split <inttypes.h> out of <cinttypes>. r249742 Split <math.h> out of <cmath>. r249743 Split <setjmp.h> out of <csetjmp>. r249761 Split <stddef.h> out of <cstddef>. r249798 Split <stdio.h> out of <cstdio>. r249800 Split <stdlib.h> out of <cstdlib>. r249889 Split <wchar.h> out of <cwchar>. r249890 Split <wctype.h> out of <cwctype>. r249929 Split <string.h> out of <cstring>. r250254 ABI versioning macros for libc++. r251246 Fix LWG#2244: basic_istream::seekg r251247 Fix LWG#2127: Move-construction with raw_storage_iterator. r251253 Fix LWG#2476: scoped_allocator_adaptor is not assignable r251257 Fix LWG#2489: mem_fn() should be noexcept r251618 Implement P0004R1 'Remove Deprecated iostreams aliases' r251766 Implement the first part of P0006R0: Adopt Type Traits Variable Templates for C++17. r252195 Implement P0092R1 for C++1z r252350 Allow deque to handle incomplete types. r252406 More of P0006R0: type traits variable aliases for C++17. r252407 Implement LWG#2353: std::next is over-constrained r252905 Implement P0074: Making owner_less more flexible r253215 Implement P0013R1: Logical Operator Type Traits. r253274 Implement P0007: Constant View: A proposal for a std::as_const helper function template. r254119 Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. r254283 Implement more of P0006; Type Traits Variable Templates. r255941 LWG2485: get() should be overloaded for const tuple&&. r256325 Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default constructors. r256652 Fix for ALL undefined behavior in <list>. r256859 First half of LWG#2354: 'Unnecessary copying when inserting into maps with braced-init syntax' Exp-run: antoine Relnotes: yes
* Move binutils handling after src.opts.mk.bdrewery2016-05-231-23/+27
| | | | | | This fixes the arm64 build after r300348. Sponsored by: EMC / Isilon Storage Division
* Opportunistically skip building a cross-compiler with SYSTEM_COMPILER set.bdrewery2016-05-211-3/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will still build the compiler for the target but will not build the bootstrap cross-compiler in the cross-tools phase. Other toolchain bootstrapping, such as elftoolchan and binutils, currently still occurs. This will utilize the default CC (cc, /usr/bin/cc) as an external compiler. This is planned to be on-by-default eventually. This will utilize the __FreeBSD_cc_version compiler macro defined in the source tree and compare it to CC's version. If they match then the cross-compiler is skipped. If [X]CC is an external compiler (absolute path) or WITHOUT_CROSS_COMPILER is already set, then this logic is skipped. If the expected bootstrap compiler type no longer matches the found CC compiler type (clang vs gcc), then the logic is skipped. As an extra safety check the version number is also compared from the compiler to the tree version. Clang: The macro FREEBSD_CC_VERSION is defined in: lib/clang/include/clang/Basic/Version.inc For clang -target will be used if TARGET_ARCH != MACHINE_ARCH. This is from the current external toolchain logic. There is currently an assumption that the host compiler can build the TARGET_ARCH. This will usually be the case since we don't conditionalize target arch support in clang, but it will break when introducing new architectures. This problem is mitigated by incrementing the version when adding new architectures. GCC: The macro FBSD_CC_VER is defined in: gnu/usr.bin/cc/cc_tools/freebsd-native.h For GCC there is no simple -target support when TARGET_ARCH != MACHINE_ARCH. In this case the opportunistic skip is not done. If we add proper support for this case in external toolchain logic then it will be fine to enable. This relies on the macros being incremented whenever any change occurs to these compilers that warrant rebuilding files. It also should never repeat earlier values. Reviewed by: brooks, bapt, imp Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D6357
* Enable external compiler logic if both bootstrap compilers are disabled.bdrewery2016-05-211-1/+2
| | | | | | Reviewed by: brooks Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D6358
* Enable and utilize WITHOUT_CROSS_COMPILER logic for external CC.bdrewery2016-05-211-5/+9
| | | | | | | | This is a NOP. Reviewed by: brooks, bapt Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D6354
* Move external toolchain support earlier.bdrewery2016-05-211-36/+35
| | | | | | | | This is to consolidate external toolchain and WITHOUT_CROSS_COMPILER support. Reviewed by: brooks, bapt Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D6353
* WITH_META_MODE: Use META_MODE rather than .MAKE.MODE for buildkernel.bdrewery2016-05-211-1/+1
| | | | | | | | This is mostly a style change so that other code does not duplicate it. The problem is when META_MODE needs to be disabled but it has been overridden by .MAKE.MODE. Sponsored by: EMC / Isilon Storage Division
* Turns out, mipsn32el worked at one point, so add it back in.imp2016-05-191-0/+1
| | | | Pointed out by: jmallet@
* Fix negative logic error. We want gnueabihf ABI when we're NOTimp2016-05-181-1/+1
| | | | | | requesting soft float ABI. Noticed by: bdrewery
* mipsn32el is not a thing, remove it from the list of validimp2016-05-181-2/+1
| | | | | | | | | architectures. There's no definition for it, nobody uses it and it is unlikely to ever work. We can put it back when someone demonstrates it running... The new default for armv6 is hard float, so extend that default to the external toolchain support.
* Combine restage/reinstall in a safe way.bdrewery2016-05-181-13/+5
| | | | Sponsored by: EMC / Isilon Storage Division
* Make armv6 hard float abi by default. Kill armv6hf.imp2016-05-181-1/+0
| | | | | | | Allow CPUTYPE=soft to build the current soft-float abi libraries. Add UPDATING entry to announce this. Approved by: re@ (gjb)
* Support libsoft for restage.bdrewery2016-05-131-2/+2
| | | | This is essentially fixing a merge conflict.
* Revert r299292, which was not a mismerge. It has an additional horriblegjb2016-05-101-2/+14
| | | | | | | | side effect of replacing /etc/{master.,}passwd and /etc/group. Submitted by: O. Hartmann Pointyhat to: gjb (myself) Sponsored by: The FreeBSD Foundation
* Combine the 'reinstall' and 'restage' targets, which appears to havegjb2016-05-101-14/+2
| | | | | | been a mismerge. Sponsored by: The FreeBSD Foundation
* Default NO_INSTALLEXTRAKERNELS to yes, not nongie2016-05-041-1/+1
| | | | | | | | | | | The old (^/stable/9) default was yes, not no ("no" was the new default introduced recently that broke POLA). Restore it to keep POLA like glebius intended in r299077 MFC after: 3 days X-MFC with: r299086 Pointyhat to: ngie (research before assuming and committing next time) Sponsored by: EMC / Isilon Storage Division
* Default NO_INSTALLEXTRAKERNELS to "no" to unbreak the buildngie2016-05-041-0/+2
| | | | | | MFC after: soon (was insta-MFCed -_-..) Pointyhat to: glebius Sponsored by: EMC / Isilon Storage Division
* Make it possible to override NO_INSTALLEXTRAKERNELS.glebius2016-05-041-5/+5
| | | | Reviewed by: gjb
* Misc. build: minor spelling fixes.pfg2016-05-031-2/+2
| | | | No functional change.
* WITH_META_MODE: Allow buildkernel to create .meta files with curdir==objdir.bdrewery2016-04-261-0/+5
| | | | | | | | | | Without this the incremental build was broken since .depend.* are not generated with .MAKE.MODE=meta and .meta files were not created to track dependencies. Typically meta mode does not create .meta files when building with curdir==objdir but the kernel build is special. Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com> Sponsored by: EMC / Isilon Storage Division
* Fix unset variables from r298417.bdrewery2016-04-211-9/+18
| | | | | Pointyhat to: bdrewery Sponsored by: EMC / Isilon Storage Division
* Add more missing .PHONYbdrewery2016-04-211-5/+5
| | | | Sponsored by: EMC / Isilon Storage Division
* Remove redundant logic from the pkg-base merge.bdrewery2016-04-211-4/+0
| | | | | | | These will be set from the logic right above it. Reviewed by: gjb Sponsored by: EMC / Isilon Storage Division
* Fix 'make -n' for new packaging targets.bdrewery2016-04-211-2/+2
| | | | Sponsored by: EMC / Isilon Storage Division
* Add more missing .PHONY.bdrewery2016-04-211-36/+36
| | | | | | | | This also protects them from trying to create .meta files with WITH_META_MODE. Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com> Sponsored by: EMC / Isilon Storage Division
* Adjust BOOTSTRAPPING test after MFC of kbdcontrol's -P optionemaste2016-04-211-2/+3
|
* Add MK_AUTO_OBJ=no to ${MAKE} invocation if PKG_VERSION needs to begjb2016-04-181-2/+2
| | | | | | | | | created to avoid creating ${.OBJDIR}. The duplicate REVISION/BRANCH/VERSION evaluation will be addressed separately. Sponsored by: The FreeBSD Foundation
OpenPOWER on IntegriCloud