Commit Graph

1828 Commits

Author SHA1 Message Date
sjg
03e1e7777c Crude cross-build support thanks to clang 2014-07-25 20:44:04 +00:00
sjg
24a7f90a97 export sanitized MAKESYSPATH in case .../ appears in default syspath. 2014-06-25 00:19:58 +00:00
sjg
a8d3f4cc6c Provide HOST_MACHINE 2014-05-16 17:50:57 +00:00
sjg
e100a3724f Suppress optional dependencies 2014-05-16 15:00:30 +00:00
sjg
4dc88973c5 There are a few libs we need to build for host.
Handle more optional dependencies.
2014-05-16 15:00:04 +00:00
sjg
ab341e179e Use _LIBDIR in STAGE_LIBDIR so we DTRT for PRIVATE libs.
We now use SYSROOT
and (for now) non-shared toolchain when building for host.
2014-05-16 14:58:48 +00:00
sjg
fa893c649e Include bsd.opts.mk before local.init.mk 2014-05-16 14:56:06 +00:00
sjg
ee200e7060 Include src.opts.mk and handle MK_SYSROOT. 2014-05-16 14:53:15 +00:00
sjg
88707a7339 Add SYSROOT 2014-05-16 14:52:18 +00:00
sjg
f3a9e95fe9 Using lib*.so as a linker script ...
the paths can be avoided, making the file mobile, so generate during build
and we need to handle staging it.
2014-05-16 14:51:19 +00:00
sjg
4a21c5ac3e There is no guarantee that user gid maps to a name so in etc/Makefile
we want _gid to be id, so use _gn for the name.
2014-05-16 14:49:37 +00:00
sjg
aa628f3a57 We want to use stage_includes as a hook, so use NO_STAGE_INCLUDES
in include/Makefile to suppress normal behavior
2014-05-16 14:47:18 +00:00
sjg
6ef8a250e0 We may need to supress SHLIB_LINKS with NO_SHLIB_LINKS 2014-05-10 00:26:40 +00:00
sjg
8f0a10ad34 We now want src.opts.mk 2014-05-10 00:25:21 +00:00
sjg
8202a43f30 Don't make wildcards .PHONY
Add pseudo machines host and common to machine list for destroy
2014-05-10 00:24:32 +00:00
sjg
8195b9a30b When bootstrapping tools MACHINE==host and EARLY_BUILD defined,
so not use any of stage tree.

M_whence only first value counts
2014-05-10 00:23:12 +00:00
sjg
724e352f46 Handle empty meta list 2014-05-10 00:21:10 +00:00
sjg
ed3fc70bf5 Merge from head 2014-05-08 23:54:15 +00:00
imp
24d0e4063d Put bsd.own.mk back in the list, and take src.opts.mk out.
Fix a silly typo.
2014-05-08 02:24:30 +00:00
imp
72ea437e58 Fix a typo make should have complained about.
Submitted by: Mark Johnston
2014-05-08 02:18:36 +00:00
sjg
d4e443e042 Update - allow collecting stats when WITH_META_STATS is defined. 2014-05-07 23:50:44 +00:00
imp
318358dcf4 bsd.compiler.mk was implicitly included by bsd.own.mk in historical
versions. With its movement to src.opts.mk, bsd.prog.mk was testing
COMPILER_TYPE without including the bsd.compiler.mk anymore. In the
source tree, this caused no problems, for reasons that aren't clear,
but does cause problems outside of the source tree. Allow
bsd.compiler.mk to be included multiple times safely, and always
include bsd.compiler.mk at the top of bsd.prog.mk. Resist the urge to
put it in bsd.init.mk, since that would reintroduce the implicit
include.
2014-05-07 18:15:02 +00:00
imp
3667ac6cc1 All the NO_foo options processed in src.opts.mk are really bsd.opts.mk
options, so move their processing there. This fixes issues with
Makefiles that define NO_MAN=t and only inlcude bsd.*.mk files. A few
ports fell into this category, and they should be fixed by this change.
Also, for now, disable the warning about NO_foo being deprecated. More
work is needed than anticipated before we can do that, so kill the
noise for now.
2014-05-07 18:14:56 +00:00
imp
3be1d4bf0f Remove support for WITHOUT_BMAKE. bmake is now the only make that can
build world, so it is the only make we build or install. fmake is
still in the tree, but disconnected, and upgrades from older systems
that still have bmake has not been removed, but its state has not been
tested (it should work given how minimal the work to upgrade to bmake
is).
2014-05-06 04:22:37 +00:00
imp
2118f42afd Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.
2014-05-06 04:22:01 +00:00
imp
726190bef7 Move the /usr/src specific options to src.opts.mk. Move inclusion of
/etc/src.conf to this file as well. Now, it will only affect builds of
/usr/src and not others that use the bsd.*.mk files. Specifically
don't install src.opts.mk so we can catch when it 'leaks' into
bsd.*.mk again and have there be errors when this happens. Future
commits will move to including src.opts.mk instead of bsd.own.mk when
all that's needed is one of the MK_FOO options from src.opts.mk.
Future options should be placed here, unless they directly affect a
bsd.*.mk file, in which case they should be placed in bsd.opts.mk.
2014-05-06 04:21:48 +00:00
imp
22742fe448 Simplify use of the semi-bogus EARLY_BUILD variable. Also, simplify
use of semi-bogus NO_WARNS variable. Both of these, in this case,
should collapse to WITHOUT_WARNS in a future commit.
2014-05-05 22:03:08 +00:00
imp
9534296913 Introduce CWARNFLAGS.${COMPILER_TYPE} and use that to simplify the
thicket of .if ${COMPILER_TYPE} == "clang" that controls
warnings. Also, use CFLAGS.clang in a couple places in preference to
having a similar construct that's related to the CWARNFLAGS changes.
2014-05-05 22:03:01 +00:00
imp
8a7cae8323 [1] Make WITHOUT_FOO alway trump WITH_FOO, regardless of the system
default. This restores more of the historical expectations that
    were broken when we started disallowing both WITH_FOO and
    WITHOUT_FOO to be defined.
[2] Document this new behavior, and improve the documentation in
    general here.

Submitted by: sjg@ [1].
2014-05-05 22:02:48 +00:00
sjg
a73f65a696 Sadly there is at least on lib we need to build for host (libdwarf)
else we cannot build ctfconvert.
2014-05-05 19:35:32 +00:00
sjg
3a5b822de9 Leverage bsd.opts.mk 2014-05-05 18:18:23 +00:00
sjg
d200229887 If doing destroy-all and at top-level whack stage tree too. 2014-05-05 18:17:26 +00:00
sjg
99f653488f WITHOUT always wins
Reviewed by:	imp
2014-05-05 18:16:15 +00:00
sjg
5978bd2e08 Avoid /etc/make.conf
and make it easier to deal with compiler updates
2014-05-05 18:15:18 +00:00
sjg
9be5b0883d Update to latest versions. 2014-05-05 17:58:00 +00:00
sjg
19fa76f9b5 Some warnings depened on the version of clang, allow us to check.
Reviewed by: obrien
2014-05-02 01:39:44 +00:00
sjg
1911be667b Add 'destroy' target to efficiently rm -rf objtree
Reviewed by: obrien
2014-05-02 01:39:30 +00:00
imp
5e3b8b27ae NLS is used by the build system. 2014-04-29 14:52:39 +00:00
sjg
5e568154a0 Merge head 2014-04-28 07:50:45 +00:00
imp
a55b178478 Generalize FOO.clang to FOO.${COMPILER_TYPE}. There's no reason these
need to be clang specific. Also generalize things a bit.
2014-04-25 19:25:57 +00:00
imp
6abbfe5b87 Split up the options into those used only by bsd.mk.* or sys.mk and
the rest. Add note of caution for the surprises that popped up. MK_SSP
is the only one used by sys.mk, and it likely needs even extra
attention.
2014-04-25 19:25:53 +00:00
imp
edf11b5e7e Eliminate NO_INCS. It is used one place, and MK_TOOLCHAIN=no will
handle the job just as well. Opt for simplicity rather than one more
option.
2014-04-25 19:25:45 +00:00
imp
f9de3ca241 Now that all the NO_foo expressed in this loop have been removed from
the tree, start warning that NO_foo is deprecated. It was supposed to
be gone from the tree as a user-setting a long time ago...
2014-04-25 19:25:37 +00:00
imp
26f9e00af9 NO_DEBUG_FILES -> MK_DEBUG_FILES=no in last remaining place. 2014-04-25 19:25:18 +00:00
imp
61fbb1ba9f Add option WITHOUT_VI to not build/install vi. vi was the largest
binary without a knob to turn it off.
2014-04-24 23:17:40 +00:00
imp
a32e8ab24f Use MK_OPENLDAP in preference to WITH_OPENLDAP and make it a default
NO option to match the opt-in nature of the historical nature of this
option.
2014-04-24 23:17:31 +00:00
imp
17a0449bdf LIBUNBOUND can be unconditionally set. 2014-04-24 21:18:29 +00:00
imp
86d640a607 Don't need to make these conditional on MK_LIBCPLUSPLUS. They can be
defined all the time without ill effect.
2014-04-24 21:18:22 +00:00
imp
f960b2ceff LIBMILTER can be defined always. No need to restrict to only when
we're building sendmail.
2014-04-24 21:18:14 +00:00
imp
11698e63fb Always define LIBLDNS. We don't need to only define it when it is
enabled.
2014-04-24 21:18:06 +00:00