Commit Graph

73 Commits

Author SHA1 Message Date
bdrewery
813cf55c14 Add clang-format under WITH_CLANG_EXTRAS.
Reviewed by:	dim
Approved by:	re (gjb)
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D6856
2016-06-17 16:46:58 +00:00
bdrewery
6a0c9674b1 DIRDEPS_BUILD: Fix bootstrap-tools not handling CCACHE_DIR properly.
CCACHE_DIR needs to be resolved to its full path before processing
legacy.meta or meta mode may see the change to the stats file.

Sponsored by:	EMC / Isilon Storage Division
2016-06-05 23:05:07 +00:00
bdrewery
5a79715940 DIRDEPS_BUILD: Connect new directories and update dependencies.
Sponsored by:	EMC / Isilon Storage Division
2016-06-03 19:25:30 +00:00
bdrewery
74f873608a DIRDEPS_BUILD: Fix and hookup rescue/rescue to the build.
Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:40 +00:00
bdrewery
f25c250595 DIRDEPS_BUILD: Build the kernel in the same place as buildkernel would.
Sponsored by:	EMC / Isilon Storage Division
2016-05-26 23:20:10 +00:00
bdrewery
4b36e6ff58 WITH_META_MODE: Move the kernel support to kern.pre.mk.
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
2016-05-26 23:20:01 +00:00
avos
b56c0ce9bf targets/Makefile: fix a typo (derrived -> derived). 2016-05-18 10:59:16 +00:00
bdrewery
5fca9ae8c1 Simplify building libpam and fix libpam.a not containing the modules since r284345.
The change in r284345 moved the creation of openpam_static_modules.o to
lib/libpam/static_modules but never managed to get them into libpam.a.

Move this logic to lib/libpam/static_libpam and have it create a static
library for libpam.a  The main lib/libpam/libpam will only create a
shared library.  No redundancy in compilation or installation exists
in this solution.

This avoids requiring a pass with -D_NO_LIBPAM_SO_YET.

Sponsored by:	EMC / Isilon Storage Division
2016-04-14 01:17:03 +00:00
bdrewery
d0a92cb597 hosttools: Trim unneeded directories.
These should only be build tools that are in various Makefile.depend
as host dependencies.  Anything toolchain related is handled by
toolchain and bootstrap-tools currently.

Sponsored by:	EMC / Isilon Storage Division
2016-03-31 03:04:26 +00:00
bdrewery
8ee97b1290 show-valid-targets: Indent each target 2 spaces.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 22:26:14 +00:00
bdrewery
131b08123e show-valid-targets: Organize all targets by the all_machine_list.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 18:55:58 +00:00
bdrewery
51ace0913c Move hosttools to Makefile.depend.host so it shows under host targets in show-valid-targets.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 18:40:09 +00:00
bdrewery
818f6ec07b show-valid-targets: Show host targets and also order all of the targets.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 18:39:41 +00:00
bdrewery
6c8899ba4c DIRDEPS_BUILD: Update dependencies.
Sponsored by:	EMC / Isilon Storage Division
2016-03-21 18:02:26 +00:00
bdrewery
88db8d87c1 META_MODE: Simplify the META_COOKIE handling to use .USE/.USEBEFORE.
Extend it to other cases of meta mode cookies so they get the proper rm
cookie behavior when a .meta file detects it needs to rebuild and fails.

Sponsored by:	EMC / Isilon Storage Division
2016-03-11 23:45:28 +00:00
bdrewery
946eac8da8 DIRDEPS_BUILD: Fix staging of share/sendmail and share/examples.
Sponsored by:	EMC / Isilon Storage Division
2016-03-11 23:45:09 +00:00
bdrewery
aab40fdc3d DIRDEPS_BUILD: Connect MK_TESTS.
Sponsored by:	EMC / Isilon Storage Division
2016-03-09 22:46:01 +00:00
bdrewery
ca7bcc42dd DIRDEPS_BUILD: Update clang dependencies after r296417.
Sponsored by:	EMC / Isilon Storage Division
2016-03-08 21:26:44 +00:00
bdrewery
dadb677731 DIRDEPS_BUILD: Connect ofed.
Sponsored by:	EMC / Isilon Storage Division
2016-03-04 22:37:44 +00:00
bdrewery
eb3588c7b6 Update dependencies.
Sponsored by:	EMC / Isilon Storage Division
2016-02-26 22:14:15 +00:00
bdrewery
6e9fc0b08c Follow-up r295991: Only allow 'make destroy*' to include bsd.obj.mk.
Sponsored by:	EMC / Isilon Storage Division
2016-02-26 22:13:45 +00:00
oshogbo
023f14d65b Convert casperd(8) daemon to the libcasper.
After calling the cap_init(3) function Casper will fork from it's original
process, using pdfork(2). Forking from a process has a lot of advantages:
1. We have the same cwd as the original process.
2. The same uid, gid and groups.
3. The same MAC labels.
4. The same descriptor table.
5. The same routing table.
6. The same umask.
7. The same cpuset(1).
From now services are also in form of libraries.
We also removed libcapsicum at all and converts existing program using Casper
to new architecture.

Discussed with:		pjd, jonathan, ed, drysdale@google.com, emaste
Partially reviewed by:	drysdale@google.com, bdrewery
Approved by:		pjd (mentor)
Differential Revision:	https://reviews.freebsd.org/D4277
2016-02-25 18:23:40 +00:00
bdrewery
3b9e9f6834 DIRDEPS_BUILD: Allow destroy-(arch|host|stage) from top-level.
Sponsored by:	EMC / Isilon Storage Division
2016-02-24 17:20:28 +00:00
bdrewery
8f62159e32 DIRDEPS_BUILD: Allow 'make destroy*' to work from top-level.
Sponsored by:	EMC / Isilon Storage Division
2016-02-24 17:20:25 +00:00
bdrewery
b851ae7122 FAST_DEPEND: Skip 'make depend' for buildworld and kernel since it is auto-ran now.
Sponsored by:	EMC / Isilon Storage Division
2016-02-24 17:20:22 +00:00
bdrewery
9f214ef5c9 DIRDEPS_BUILD: Add some missing build dependencies for kerberos5.
Sponsored by:	EMC / Isilon Storage Division
2016-02-24 17:18:43 +00:00
sobomax
85ce861e46 Obsolete mkulzma(8) and geom_uncompress(4), their functionality
is now provided by mkuzip(8) and geom_uzip(4) respectively.

MFC after:	1 month
2016-02-24 00:39:36 +00:00
bdrewery
9d77ef9f08 DIRDEPS_BUILD: Hookup CLANG_EXTRAS.
Sponsored by:	EMC / Isilon Storage Division
2016-02-16 23:11:09 +00:00
bdrewery
ed99ba5f08 DIRDEPS_BUILD: Update dependencies.
Sponsored by:	EMC / Isilon Storage Division
2016-02-16 02:14:30 +00:00
emaste
020d1b050f Restore kgzldr on i386 only
I previously disconnected kgzdr based on a misunderstanding.

I'd still like to transition to supporting only the loader(8)-based
boot path for handling compressed kernels, but that can follow the
standard deprecation procedure.

This reverts r291113.

Requested by:	dteske
2016-02-08 16:59:52 +00:00
bdrewery
0e634907c1 Add in DIRDEPS_BUILD support.
Sponsored by:	EMC / Isilon Storage Division
2016-01-07 00:19:30 +00:00
bdrewery
30d370ba19 local.meta.sys.mk already defines TARGET_ARCHES_arm 2015-12-08 00:22:24 +00:00
bdrewery
b02bda20bb Garbage collect removed directories.
Sponsored by:	EMC / Isilon Storage Division
2015-12-07 16:08:26 +00:00
bdrewery
3c0c873e1d rescue/rescue does not yet build in meta mode. 2015-12-03 22:40:42 +00:00
bdrewery
7029337942 DIRDEPS_BUILD: Connect usr.sbin/camdd
Sponsored by:	EMC / Isilon Storage Division
2015-12-03 21:13:05 +00:00
bdrewery
db81874b1a META MODE: Connect MK_NAND directories.
Sponsored by:	EMC / Isilon Storage Division
2015-12-02 05:31:01 +00:00
bdrewery
ba39dbdfa2 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
bdrewery
fe1ef27d4a META MODE: Update dependencies with 'the-lot' and add missing directories.
This is not properly respecting WITHOUT or ARCH dependencies in target/.
Doing so requires a massive effort to rework targets/ to do so.  A
better approach will be to either include the SUBDIR Makefiles directly
and map to DIRDEPS or just dynamically lookup the SUBDIR.  These lose
the benefit of having a userland/lib, userland/libexec, etc, though and
results in a massive package.  The current implementation of targets/ is
very unmaintainable.

Currently rescue/rescue and sys/modules are still not connected.

Sponsored by:	EMC / Isilon Storage Division
2015-12-01 05:23:19 +00:00
bdrewery
3ed6ae6012 META MODE: Fix userland/cddl.
MK_CTF controls whether ctfmerge is ran against the binaries, not
whether CTF tools should be built.

Sponsored by:	EMC / Isilon Storage Division
2015-12-01 05:22:10 +00:00
bdrewery
01201993d3 META MODE: Rework [bootstrapped] tools PATH support.
- Support more of the toolchain from TOOLSDIR.
- This also improves 'make bootstrap-tools' to pass, for example,
  AS=/usr/bin/as to Makefile.inc1, which will tell cross-tools to use
  external toolchain support and avoid building things we won't be using
  in the build.
- Always set the PATH to contain the staged TOOLSDIR directories when
  not building the bootstrap targets.

  The previous version was only setting this at MAKE.LEVEL==0 and if the
  TOOLSDIR existed.  Both of these prevented using staged tools that were
  built during the build though as DIRDEPS with .host dependencies, such
  as the fix for needing usr.bin/localedef.host in r291311.
  This is not a common tool so we must build and use it during the build,
  and need to be prepared to change PATH as soon as it appears.

  This should also fix the issue of host dependencies disappearing from
  Makefile.depend and then reappearing due to the start of the fresh build not
  having the directory yet, resulting in the tools that were built not actually
  being used.
- Only use LEGACY_TOOLS while building in Makefile.inc1.  After r291317
  and r291546 there is no need to add LEGACY_TOOLS into the PATH for
  the pseudo/targets/toolchain build.
- Because the pseudo/targets/toolchain will now build its own
  [clang-]tblgen, the special logic in clang.build.mk is no longer needed.
- LEGACY_TOOLS is no longer used outside of targets/pseudo/bootstrap-tools
  so is no longer passed into the environment in its build.

Sponsored by:	EMC / Isilon Storage Division
2015-12-01 05:19:02 +00:00
bdrewery
1215b34965 META MODE: For bootstrap-tools, don't let Makefile.inc1 build any of the
toolchain.

This change prevents building of [clang-]tblgen, which is unneeded due
to already being a host dependency where needed for
targets/pseudo/toolchain.

Sponsored by:	EMC / Isilon Storage Division
2015-12-01 00:32:09 +00:00
bdrewery
06c0929b91 META MODE: Fix bootstrap-tools after r291349.
Now that OBJTOP is assumed to be proper, it needs to be overridden for
the bootstrap-tools phase to ensure it is not kept as the top-level
OBJTOP.  Otherwise the libraries were not found during the
bootstrap-tools phase.

Sponsored by:	EMC / Isilon Storage Division
2015-11-30 22:53:55 +00:00
bdrewery
cbc5242afd META MODE: Fix 'make bootstrap-tools'.
The main problem was bitrot after elftoolchain being swapped in for the
GNU toolchain.

This also reworks how the list of 'host allowed' libraries is determined
to only allow INTERNALLIBs, which is needed for libelftc to come in.

For usr.bin/readelf use the same hack, as libelf and libdward, to bring in
the needed sys/ headers for host builds.  This has not yet been a problem due
to readelf not being built as a host tool in buildworld.  This is possible
in the meta build though when building the toolchain.

Sponsored by:	EMC / Isilon Storage Division
2015-11-25 19:44:51 +00:00
bdrewery
b93094a6f0 META MODE: Add more hosttools needed pre-universe.
Sponsored by:	EMC / Isilon Storage Division
2015-11-25 19:44:34 +00:00
bdrewery
140931049e META MODE: Need to include the LEGACY_TOOLS directories into PATH.
This is just as Makefile.inc1 does it for these phases.  Otherwise some
of the build tools are not found and used properly, such as 'make-roken'
in the kerberos5 build on older releases.

Sponsored by:	EMC / Isilon Storage Division
2015-11-25 19:44:28 +00:00
bdrewery
a23213fe40 META MODE: Fix 'make the-lot' with recent locale changes
Sponsored by:	EMC / Isilon Storage Division
2015-11-25 19:13:28 +00:00
bdrewery
828ef8e29e META MODE: Avoid creating TESTS directories for bootstrap.
Sponsored by:	EMC / Isilon Storage Division
2015-11-25 19:10:56 +00:00
bdrewery
9d0356c835 META MODE: Don't override DESTDIR to the default when building the toolchain.
For this case, the normal META MODE staging logic should be used.  The
BSARGS having DESTDIR= is due to Makefile.inc1 overriding DESTDIR to
something when appropriate.  For the toolchain stage META MODE is in charge of
it, not Makefile.inc1.

At least include/, if staging it to the host stagedir, was impacted from
this.  Staging of include.host is not yet done.

Sponsored by:	EMC / Isilon Storage Division
2015-11-25 19:10:53 +00:00
bdrewery
e13d6f8b3f META MODE: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.
This both avoids some dependencies on xinstall.host and allows
bootstrapping on older releases to work due to lack of at least 'install -l'
support.

Sponsored by:	EMC / Isilon Storage Division
2015-11-25 19:10:28 +00:00
emaste
0a60b85a97 Disconnect unused kgzldr from sys/boot/i386
Sponsored by:	The FreeBSD Foundation
2015-11-20 21:56:20 +00:00