Commit graph

676 commits

Author SHA1 Message Date
Bryan Drewery 6120aabd32 Opportunistically skip building a cross-compiler with SYSTEM_COMPILER set.
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
2016-05-21 01:32:23 +00:00
Bryan Drewery fbc47d50af Add a WITH_LIBSOFT 2016-05-20 19:23:07 +00:00
Enji Cooper 904bea8330 Conditionalize installing etc/rc.d/atm{1,2,3}
`BEFORE: netif` was already in etc/rc.d/atm1, so no additional changes
are needed in that script

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division
2016-05-15 05:38:47 +00:00
Enji Cooper fbee792a95 Remove etc/rc.d/{zfs,zvol} if MK_ZFS != no
MFC after: 2 weeks
X-MFC with: r299840
Sponsored by: EMC / Isilon Storage Division
2016-05-15 05:22:15 +00:00
Enji Cooper 9941801f1e Only install etc/rc.d/{rfcomm_pppd_server,sdpd} if MK_BLUETOOTH != no
These are bluetooth specific services

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2016-05-06 09:18:09 +00:00
Enji Cooper 9c61377766 Fix r299162
share/man/man8/Makefile:
- Add src.opts.mk so MK_NIS can be tested
- Fix typo in MK_NIS conditional

tools/build/mk/OptionalObsoleteFiles.inc:
- Remove WIP diff from ^/user/ngie/detangle-rc

MFC after: 1 week
X-MFC with: r299162
Sponsored by: EMC / Isilon Storage Division
2016-05-06 08:53:24 +00:00
Enji Cooper 18128d28c1 Only install NIS section 8 manpages if MK_NIS != no
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2016-05-06 08:42:33 +00:00
Pedro F. Giffuni bd0ca2385a tools: minor spelling fixes.
Mostly comments but also some user-visible strings.

MFC after:	2 weeks
2016-05-01 16:20:14 +00:00
Baptiste Daroussin 2353cc3d4c Complete the Obsoletefiles entries 2016-04-16 18:07:44 +00:00
Baptiste Daroussin 110cf8a6f1 Regenerates locales Makefiles and locales 2016-04-16 17:55:11 +00:00
Bryan Drewery f43bc6d18d Add more content for WITH_META_MODE/WITH_DIRDEPS_BUILD.
Sponsored by:	EMC / Isilon Storage Division
2016-04-14 22:00:49 +00:00
Bryan Drewery 361c75321b Note the brokenness of WITHOUT_INSTALLLIB.
Sponsored by:	EMC / Isilon Storage Division
2016-04-13 21:01:58 +00:00
Bryan Drewery e52a5f2496 The build does work now with WITHOUT_TOOLCHAIN.
The bootstrap cross tools are still built in this mode as well.

Sponsored by:	EMC / Isilon Storage Division
2016-04-13 20:55:05 +00:00
Bryan Drewery d32e910cb2 Add some more content for WITH_META_MODE.
Sponsored by:	EMC / Isilon Storage Division
2016-04-12 03:40:13 +00:00
Bryan Drewery 4cfc7d9db5 Document the behavior of NO_DIRDEPS/NO_DIRDEPS_BELOW.
Sponsored by:	EMC / Isilon Storage Division
2016-04-12 03:37:42 +00:00
Bryan Drewery e558fb72b9 Remove FAST_DEPEND reference missed in r297434. 2016-03-30 23:53:12 +00:00
Bryan Drewery 497e80911e Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.
Reviewed by:	emaste, hselasky (partial), brooks (brief)
Discussed on:	arch@
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D5742
2016-03-30 23:50:23 +00:00
Warner Losh 486607d0b6 Just install ar5523.bin into /usr/share/firmware and stop compiling it
in.

Differential Review: https://reviews.freebsd.org/D5639
2016-03-15 04:42:37 +00:00
Bryan Drewery 9b05ab3c58 Add a WITHOUT_FAST_DEPEND 2016-03-11 17:00:42 +00:00
Dimitry Andric 82aa34e6fa Merge ^/head r296007 through r296368. 2016-03-03 23:15:46 +00:00
Edward Tomasz Napierala 58f04b2a1e Fix section numbers for autofs(5), kbdcontrol(1), vidcontrol(1), quota(1),
and telnet(1) in the right place.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2016-03-01 11:36:10 +00:00
Ed Maste cc785ae851 Document that WITHOUT_ELFCOPY_AS_OBJCOPY will be removed
In case ELF Tool Chain's elfcopy introduces any regressions this knob is
available as a transition aid. It will be removed once we are confident
that any regressions have been fixed.
2016-02-29 16:39:38 +00:00
Dimitry Andric 9893f787ec Merge ^/head r295601 through r295844. 2016-02-21 13:49:26 +00:00
Ed Maste 156e1855a4 Remove objcopy in WITHOUT_TOOLCHAIN if it's from elftoolchain 2016-02-19 15:11:54 +00:00
Dimitry Andric 4156ce4fed Merge ^/head r295351 through r295543. 2016-02-11 20:07:09 +00:00
Dag-Erling Smørgrav 8232a681f5 Remove unbound-contrl-setup since we use a local control socket which
does not require keys.

MFC after:	3 days
Relnotes:	yes
2016-02-11 17:33:55 +00:00
Ed Maste 656cbd27d2 Add WITH_GDB src.conf(5) description 2016-02-11 00:30:51 +00:00
Ed Maste 201186d6ec Add missing src.conf(5) descriptions for tool chain components
Sponsored by:	The FreeBSD Foundation
2016-02-11 00:14:00 +00:00
Ed Maste 85704ba592 Update list of binutils controlled by WITHOUT_BINUTILS_BOOTSTRAP
Tools removed from the list are now provided by the ELF Tool Chain
project and are not controlled by the WITHOUT_BINUTILS_BOOTSTRAP knob.

Sponsored by:	The FreeBSD Foundation
2016-02-10 23:57:09 +00:00
Dimitry Andric d9b9dae1a9 Merge ^/head r294169 through r294598. 2016-01-22 20:41:56 +00:00
Bryan Drewery fcd2678171 Allow specifying an alternative LD_LIBRARY_PATH for the ldd(1) lookup.
This is needed to be able to run check-links.sh against a "sysrooted"
binary while ensuring that the ldd(1) call done on the host uses the
host libc.  It is not possible to set LD_LIBRARY_PATH before calling
check-links.sh as then the "sysrooted" libc would be incorrectly used.

A LD_PRELOAD=libc.so is used to ldd(1) as it needs to use the host libc
to run.  ldd(1) is a simple wrapper around execve(2) and dlopen(2) with
env LD_TRACE_LOADED_OBJECTS set.  Due to the dlopen(2) restriction on
shared library tracing ldd(1) is still required for this lookup.

Sponsored by:	EMC / Isilon Storage Division
2016-01-19 22:42:16 +00:00
Bryan Drewery 8afa72e569 Add some documentation.
Sponsored by:	EMC / Isilon Storage Division
2016-01-19 22:42:13 +00:00
Bryan Drewery d1db5f8fef Validate that the file exists rather than obscure 'Not an elf file' error.
Sponsored by:	EMC / Isilon Storage Division
2016-01-19 22:42:10 +00:00
Dimitry Andric 89d3f0ea4e Merge ^/head r293430 through r293685. 2016-01-11 19:36:44 +00:00
Ed Maste b80f3546a8 Support use of LLVM's libunwind for exception unwinding
It is built in libgcc_s.so and libgcc_eh.a to simplify transition.

It is enabled by default on arm64 (where we previously had no other
unwinder) and may be enabled for testing on other platforms by setting
WITH_LLVM_LIBUNWIND in src.conf(5).

Also add compiler-rt's __gcc_personality_v0 implementation for use with
the LLVM unwinder.

Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D4787
2016-01-09 00:42:07 +00:00
Dimitry Andric b229c1a0b0 Merge ^/head r293280 through r293429. 2016-01-08 17:42:14 +00:00
Renato Botelho f5b4d34104 Obsolete inetd related files when WITHOUT_INETD is set
Reviewed by:	bapt
Approved by:	gnn
MFC after:	1 week
Sponsored by:	Rubiconn Communications (Netgate)
Differential Revision:	https://reviews.freebsd.org/D4742
2016-01-07 20:37:18 +00:00
Dimitry Andric f3304b8db5 Add new pkuintrin.h intrinsics header. 2016-01-06 21:26:31 +00:00
Dimitry Andric 34cdd77646 First part of updating llvm/clang build glue: getting llvm-tblgen,
clang-tblgen and clang itself built.
2015-12-31 14:39:45 +00:00
Dimitry Andric 802df53c82 Update various build glue files for the new llvm/clang version number. 2015-12-30 18:52:29 +00:00
Dimitry Andric 9a4b31181f Upgrade our copies of clang and llvm to 3.7.1 release. This is a
bugfix-only release, with no new features.

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.
2015-12-25 21:39:45 +00:00
Ed Maste e7beaf9968 Install ld also as ld.bfd, for use with cc -fuse-ld=bfd
PR:		205409 [exp-run]
MFC after:	1 week
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
2015-12-23 14:31:26 +00:00
Ed Maste a2acf60284 Remove lldb(1) files if WITHOUT_LLDB is set
Sponsored by:	The FreeBSD Foundation
2015-12-16 19:48:03 +00:00
Bryan Drewery 5d111a9744 Correct comment about MAKEOBJDIRPREFIX in src-env.conf.
It may only be used with WITH_AUTO_OBJ, which the WITH_DIRDEPS_BUILD does.  We
could support this in the normal build as well if we forced creating the directory
and setting .OBJDIR.

Sponsored by:	EMC / Isilon Storage Division
2015-12-15 18:42:30 +00:00
Bryan Drewery a9dfc956d6 Fully connect cddl/usr.sbin/plockstat.
There seems to be no reason to keep this so private.

Also add missing optional MK_CDDL files.

Sponsored by:	EMC / Isilon Storage Division
2015-12-02 00:49:45 +00:00
Dimitry Andric 85ab8f98e6 Install the public sanitizer headers. These are useful for programs
that want to directly interface with sanitizer internals.
2015-11-29 16:28:40 +00:00
Hajimu UMEMOTO f1f871e17d Fix breakage by recent collation change.
LC_ALL has to be exported.
2015-11-28 00:41:37 +00:00
Dag-Erling Smørgrav 1765946ba9 Retire the NONE cipher option. 2015-11-23 12:48:13 +00:00
Bryan Drewery 804baa3822 Revert r290944. It was wrong. 2015-11-16 21:05:38 +00:00
Bryan Drewery 5a16e0b461 Fix error case for bmake to echo 0.
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2015-11-16 20:31:00 +00:00