2159 Commits

Author SHA1 Message Date
Bryan Drewery
b322948ef6 Similar to r280178, don't hide command for building static library. 2015-06-02 19:05:02 +00:00
Simon J. Gerraty
8bf4a1b89c Handle multiple sections in MLINKS 2015-05-31 07:16:31 +00:00
Simon J. Gerraty
09cdd180a2 Stage man pages. 2015-05-31 03:13:24 +00:00
Baptiste Daroussin
8faa40d1a0 Switch to mandoc's version of makewhatis(8), whatis(1), apropos(1) utilities.
This change among other things improve search capabilities over the manpages
allowing fine grain query.

A new build option WITHOUT_MANDOCDB has been added to keep the ancient version
of the database and the tools. The plan is to entirely remove this option before
11.0-RELEASE.

Differential Revision:	https://reviews.freebsd.org/D2603
2015-05-30 17:41:37 +00:00
Simon J. Gerraty
58073855a4 Do not override variables on command line that build needs to change.
It is sufficient to explicitly set DEPENDFILE in env for each sub-make.
2015-05-30 17:29:51 +00:00
Simon J. Gerraty
fdfa61c3ab Test that .CURDIR is component of (or matches) .OBJDIR 2015-05-30 17:27:52 +00:00
Simon J. Gerraty
6332aaacb4 Use SRCTOP when defining ROOTOBJDIR
Excplicitly check rather than assume that .CURDIR is
a component of .OBJDIR
Otherwise check for OBJTOP and if that is a match use it.
2015-05-30 15:13:18 +00:00
Simon J. Gerraty
883e6bfbb1 Define SRCTOP in src.sys.mk
Because src.sys.mk should only ever be found in the src tree
we can use its position (.PARSEDIR) to set SRCTOP.

Reviewed by:	bapt, imp
2015-05-30 15:08:52 +00:00
Simon J. Gerraty
10e781d1ba Allow AUTO_OBJ with out META_MODE.
Remove frobbing of SRCCONF etc - not strictly relevant to meta mode.
2015-05-29 06:45:32 +00:00
Simon J. Gerraty
b17ff922d4 Merge from head 2015-05-26 21:52:57 +00:00
Simon J. Gerraty
c4a81da0c8 Include bsd.mkopt.mk before local.sys.mk
Also use __DEFAULT_DEPENDENT_OPTIONS for options that
generally depend on META_MODE.
Deal with MK_META_MODE and MK_AUTO_OBJ directly.
Also allow MK_META_FILES if no -B
this is very handy for getting meta files from say buildworld
2015-05-26 21:51:36 +00:00
Simon J. Gerraty
6d5e42ed3a include local.meta.sys.mk 2015-05-26 21:47:43 +00:00
Simon J. Gerraty
43f42ca719 always filter out dirdeps.cache*meta 2015-05-26 21:47:12 +00:00
Simon J. Gerraty
4113aa9077 Move META_MODE bits to local.meta.sys.mk
By moving META_MODE bits from local.sys.mk, they are easier
to skip when MK_META_MODE=no

Update some filters to cope with sync from head.

If buildworld etc or WITHOUT_META_MODE disable all the META_MODE
related options.
2015-05-26 21:44:15 +00:00
Simon J. Gerraty
ae3019ca08 Define SRCTOP in src.sys.mk
Use SRCTOP to replace .../ in MAKSYSPATH (avoid extra :tA)
Use SRCTOP rather than ROOTSRCDIR in src.libnames.mk
Merge from head
2015-05-26 21:41:26 +00:00
Simon J. Gerraty
71edef51db Latest dirdeps.mk and meta.stage.mk
Add support for dirdeps cache
and allow full path as key for STAGE_AS_*
2015-05-26 21:03:41 +00:00
Simon J. Gerraty
3b33c213ef Add support for __DEFAULT_DEPENDENT_OPTIONS 2015-05-26 16:17:24 +00:00
Baptiste Daroussin
e46a13884e Considers cases when NO_SHARED?=[no|NO] as dynamically linking
This reduces overlinking for parts of the build system where NO_SHARED is
set to no/NO
2015-05-26 01:09:56 +00:00
Simon J. Gerraty
9932374ea3 Add options for auto obj and meta mode to sys.mk 2015-05-24 02:46:08 +00:00
Simon J. Gerraty
89ea69b2fa Move include of auto.obj.mk to sys.mk 2015-05-24 02:45:15 +00:00
Simon J. Gerraty
1253b02bf9 Add files to install 2015-05-24 02:16:00 +00:00
Baptiste Daroussin
8def216e05 Drop libmandoc and incorporate it into the main mandoc Makefile
This simplifies maintainance of mandoc(1).
Note that the same direction was taken on OpenBSD
2015-05-21 12:51:56 +00:00
Baptiste Daroussin
d612f13908 Register libdtrace and its direct and indirect dependencies
Register librdlt_db
Register libproc dependencies
Register libctf dependencies
2015-05-19 22:22:53 +00:00
Cy Schubert
d5d0d860fb Correct location for libntpevent.a. 2015-05-15 19:37:17 +00:00
Bryan Drewery
5abe80cf6b Fix spelling of INTERNALLIBS 2015-05-08 16:43:01 +00:00
Baptiste Daroussin
f67555d54c Style fix
Reported by:	bdrewery
2015-05-04 16:59:09 +00:00
Baptiste Daroussin
5551c57355 Rework PRIVATELIB
Now when a lib is marked as PRIVATELIB it is renamed into libprivate$foo instead
of being installed in /usr/lib/private and playing with rpath.

Also allow to install headers for PRIVATELIBS in that case the headers will be
installed in /usr/include/private/$foo

Keep the headers under a private namespace to prevent third party build system
to easily find them to ensure they are only used on purpose.

This allows for non base applications to statically link against a library in
base which is linked to a privatelib

Treating PRIVATELIBS as regular libraries allows to push them into our current
compatX packages if needed.

While here finish promotion of libevent as PRIVATELIB
Install header for bsdstat and libucl

Differential Revision:	https://reviews.freebsd.org/D2365
Reviewed by:	brooks, des
Discussed with:	imp
2015-05-04 16:28:54 +00:00
Enji Cooper
054f15ac76 Followup to r282083: add GCC_BOOTSTRAP to the list of broken options on arm64
Differential Revision: https://reviews.freebsd.org/D2379
Reviewed by: imp
2015-04-28 19:15:28 +00:00
Andrew Turner
48d4d8385b Add GCC to the list of broken options on arm64. 2015-04-27 10:19:21 +00:00
Ed Maste
ac99c33f5f Add LLDB to BROKEN_OPTIONS for arm prior to armv6
LLVM lacks support on FreeBSD for ARMv4/ARMv5 64-bit atomic operations.

Sponsored by:	The FreeBSD Foundation
2015-04-24 22:04:59 +00:00
Konstantin Belousov
0538aafc41 The lseek(2), mmap(2), truncate(2), ftruncate(2), pread(2), and
pwrite(2) syscalls are wrapped to provide compatibility with pre-7.x
kernels which required padding before the off_t parameter.  The
fcntl(2) contains compatibility code to handle kernels before the
struct flock was changed during the 8.x CURRENT development.  The
shims were reasonable to allow easier revert to the older kernel at
that time.

Now, two or three major releases later, shims do not serve any
purpose.  Such old kernels cannot handle current libc, so revert the
compatibility code.

Make padded syscalls support conditional under the COMPAT6 config
option.  For COMPAT32, the syscalls were under COMPAT6 already.

Remove WITHOUT_SYSCALL_COMPAT build option, which only purpose was to
(partially) disable the removed shims.

Reviewed by:	jhb, imp (previous versions)
Discussed with:	peter
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-04-18 21:50:13 +00:00
Brooks Davis
757a876f36 Make it harder to specify invalid LIBADD by causing values without
corresponding DPADD_<lib> variables to produce a useful error message.

Differential Revision:	https://reviews.freebsd.org/D2295
Reviewed by:	bapt
Sponsored by:	DARPA, AFRL
2015-04-16 15:34:22 +00:00
Enji Cooper
92f7db0fe9 Revert r281055 as it breaks installing test scripts in the mixed PROGS/SCRIPT
case

Repro is as follows:

% sudo pkg install -y kyua
% sudo rm -Rf /usr/tests
% sudo make hier
% (cd lib/libthr/tests/; make obj; make depend; make all; sudo make install)
% (cd /usr/tests/lib/libthr; kyua list)

Failure seen in Jenkins build starting here:
https://jenkins.freebsd.org/job/FreeBSD_HEAD-tests2/927/

Pointyhat to: bapt
2015-04-13 21:29:40 +00:00
Ed Maste
ad746bd1b7 Fix libfifolog dependency on libz
Consumers should not need to encode fifolog's dependency on libz.
Handle it automatically in src.libnames.mk.

Differential Revision:	https://reviews.freebsd.org/D2278
Reviewed by:	bapt
Sponsored by:	The FreeBSD Foundation
2015-04-10 21:24:38 +00:00
Baptiste Daroussin
ea4a4d8a2e Fix overlinking in bhyve:
libvmmapi is actually needed to be linked to libutil, not bhyve nor bhyveload
2015-04-09 21:38:40 +00:00
Baptiste Daroussin
32e5044deb Convert mt(1) and libmt to LIBADD
While here fix missing link to libbsdxml for libmt
Fix overlinking in mt(1)
Make add an indirect libmt dependency on bsdxml to allow static linking if
needed
2015-04-09 21:26:38 +00:00
Mark Johnston
0c76c8aa8c Add a DTRACEFLAGS variable, which can be used to pass additional variables
to dtrace(1) invocations during a build. This change includes -C in the
default flags, which has dtrace(1) run input scripts through the
preprocessor. While here, sort the definitions of CP and CPP in sys.mk.

Differential Revision:	https://reviews.freebsd.org/D2204
Reviewed by:		imp, rpaulo (previous revision)
2015-04-08 02:43:05 +00:00
Andrew Turner
d422e6f9b5 Add the start of libc and libstand for arm64. Not all of the machine
dependent functions have been implemented, but this is enough for world.

Differential Revision:	https://reviews.freebsd.org/D2132
Reviewed by:	emaste
Sponsored by:	The FreeBSD Foundation
2015-04-07 09:52:14 +00:00
Baptiste Daroussin
ae9b09c61b Do not install scripts multiple time when using bsd.progs.mk 2015-04-04 00:31:40 +00:00
Cy Schubert
2b15cb3d09 MFV ntp 4.2.8p1 (r258945, r275970, r276091, r276092, r276093, r278284)
Thanks to roberto for providing pointers to wedge this into HEAD.

Approved by:	roberto
2015-03-30 13:30:15 +00:00
Dimitry Andric
ab0116f5fb Re-enable using -mllvm -enable-load-pre=false in CLANG_OPT_SMALL for
clang versions before 3.5.0.  This should enable building head's version
of sys/boot/i386/boot2 on 9.x and 10.x again.

Reported by:	bz
2015-03-28 12:23:15 +00:00
Warner Losh
8465cb4016 Revert the __ALWAYS_NO stuff. It had already been committed as BROKEN. 2015-03-27 21:47:15 +00:00
Warner Losh
3fe1e58de1 Add support for specifying unsupported / broken options that override
any defaults or user specified actions on the command line. This would
be useful for specifying features that are always broken or that
cannot make sense on a specific architecture, like ACPI on pc98 or
EISA on !i386 (!x86 usage of EISA is broken and there's no supported
hardware that could have it in any event). Any items in
__ALWAYS_NO_OPTIONS are forced to "no" regardless of other settings.

Differential Revision: https://reviews.freebsd.org/D2011
2015-03-27 02:35:11 +00:00
Dimitry Andric
22a3c2dd5d Correctly pass the -mllvm -enable-gvn=false flag in CLANG_OPT_SMALL
(this has to be passed as a combination of two flags).  Should fix the
case where the clang version is before 3.5.0.

Submitted by:	Pedro Arthur <bygrandao@gmail.com>
X-MFC-With:	r279018, r279378
2015-03-21 19:13:13 +00:00
Andrew Turner
8daa81674e Start to import support for the AArch64 architecture from ARM. This change
only adds support for kernel-toolchain, however it is expected further
changes to add kernel and userland support will be committed as they are
reviewed.

As our copy of binutils is too old the devel/aarch64-binutils port needs
to be installed to pull in a linker.

To build either TARGET needs to be set to arm64, or TARGET_ARCH set to
aarch64. The latter is set so uname -p will return aarch64 as existing
third party software expects this.

Differential Revision:	https://reviews.freebsd.org/D2005
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
2015-03-19 13:53:47 +00:00
Bryan Drewery
6bd48d6f18 Document LIB and LIB_CXX.
MFC after:	2 weeks
X-MFC-With:	r280179
2015-03-17 15:21:01 +00:00
Bryan Drewery
215d02b78c Add LIB_CXX so that C++ libraries will use CXX to link.
This fixes C++ libraries not implicitly linking in libc++.  This is
generally not an issue because the final linking with the compiled binary
will involve CXX via PROG_CXX or other means.  It is however
inconsistent with libraries implicitly linking in libc and problematic
for trying to build libraries with '-z defs' to ensure all direct
dependencies are linked in.

libatf-c++ is currently the only consumer of this new feature.

Differential Revision:	https://reviews.freebsd.org/D2039
Reviewed by:	imp
Discussed with:	bapt
MFC after:	2 weeks
Sponsored by:	EMC / Isilon Storage Division
2015-03-17 15:16:36 +00:00
Bryan Drewery
7e8ffa29c7 Unhide linker line for libraries.
The compilation lines are not hidden and there is not much reason to
hide the linker line. It is useful to see.

Discussed at:	https://reviews.freebsd.org/D2039
MFC after:	2 weeks
2015-03-17 15:12:52 +00:00
Bryan Drewery
fe1c685d53 Remove unneeded handling of undefined NM.
Pointed out by:	imp
Discussed at:	https://reviews.freebsd.org/D2039
MFC after:	2 weeks
2015-03-17 15:11:45 +00:00
Jung-uk Kim
25fd8105c9 Catch up with Clang 3.6.0. 2015-03-17 05:48:45 +00:00