Commit Graph

24 Commits

Author SHA1 Message Date
Simon J. Gerraty
6d4f05fd11 Update dirdeps/meta bits from latest bmake. 2017-03-06 23:13:25 +00:00
Simon J. Gerraty
b47b9f6bd8 Update meta* from bmake-20161212 2016-12-23 02:57:00 +00:00
Bryan Drewery
96306ff24d Import latest meta.stage.mk 1.45 (r301462) 2016-06-05 21:21:41 +00:00
Simon J. Gerraty
3bebe7293b Update to bmake-20160315
Archive member handling works again
meta mode, treat missing reads as for writes.

Update dirdeps.mk - much improved startup time.
Update meta.stage.mk - avoid ln when chmod required.
2016-03-18 20:03:09 +00:00
Simon J. Gerraty
be19d90b61 Merge bmake-20160307 2016-03-11 01:35:39 +00:00
Bryan Drewery
2224fae179 META MODE: Don't double stage SYMLINKS for shared libraries.
This also fixes truncating the path that the links were installed to, which
was most likely going to be the same directory the library was in anyhow.

Let bsd.sys.mk handle SYMLINKS via stage_symlinks.  stage_libs continues to
handle the SHLIB_LINK though since it is not a SYMLINKS.

This fixes a race, seen easily in lib/libthr, where libpthread_p.a is created
by both stage_libs and stage_symlinks resulting in 'ln: File exists'.

Sponsored by:	EMC / Isilon Storage Division
Discussed with:	sjg
2015-11-13 22:27:24 +00:00
Simon J. Gerraty
eef72759b5 In jobs mode we can use .ORDER to force stage_links to run after other
stage_* targets.
In non-jobs mode we can achieve the same result by simply introducing
the targets in the correct order.
Thus in bsd*.mk we simply add targets to STAGE_TARGETS which we
realize in meta.stage.mk

Reviewed by: bdrewery
2015-10-07 00:24:27 +00:00
Bryan Drewery
1b6f33d9ac META_MODE: Fix stage_links not running in the right order without -j.
This fixes staging errors for non-parallel builds that have LINKS.

Creating hardlinks must always happen after the actual files are installed.
The staging code was protected by an .ORDER statement that only affected
parallel -j builds but not non-parallel builds.  Fix this by making the
real stage_links.SET (stage_links.links, stage_links.mlinks, etc) targets
depend on the main targets for all of the other possible staging needs.  For
example, stage_links.links will depend on stage_as and stage_files, which have
their own dependencies to stage_as.prog or stage_files.prog or stage_files.SET,
which is enough to satistfy the ordering.

Also remove the requirement that symlinks be created last, as they can
safely be made without the source being present unlike hardlinks.  This also
fixes symlinks to come before hardlinks as it is possible, in theory, to
hardlink a symlink.  This is not actually supported here though.

Sponsored by:	EMC / Isilon Storage Division
2015-10-02 06:24:09 +00:00
Simon J. Gerraty
da27fc718f Normally a staging conflict causes an error.
When bootstrapping different options, it is handy to be able to
make those warnings.
2015-06-16 23:06:43 +00:00
Simon J. Gerraty
ccfb965433 Add META_MODE support.
Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision:       D2796
Reviewed by: brooks imp
2015-06-13 19:20:56 +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
51486565d8 Use latest version 2014-11-20 22:42:40 +00:00
Simon J. Gerraty
1a682d2cea 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
Simon J. Gerraty
6a96de39c1 We may need to supress SHLIB_LINKS with NO_SHLIB_LINKS 2014-05-10 00:26:40 +00:00
Simon J. Gerraty
81ea16de6c Ensure _objroot is correctly formatted 2013-10-13 00:17:24 +00:00
Simon J. Gerraty
fb0cb80846 Add stage-install.sh so we can do away with the need to have
$STAGE_OBJTOP/include for src/include.
2013-04-19 18:45:03 +00:00
Simon J. Gerraty
876336c858 Sync latest versions 2013-04-14 01:21:20 +00:00
Simon J. Gerraty
8fe4beee04 Allow staging to be help up (by .WAIT) until other
bits of all: are done.
2013-03-08 22:02:08 +00:00
Simon J. Gerraty
360b987536 One .ORDER should suffice 2013-03-08 00:23:42 +00:00
Simon J. Gerraty
55f2e9ab1c Stage*(): return early if no args, and thow error if cp etc., fails. 2013-03-08 00:05:34 +00:00
Simon J. Gerraty
57c4bd1316 Simplify handling of chmod 2013-02-26 05:44:12 +00:00
Simon J. Gerraty
c20fef5874 Handle chmod of staged files/links 2013-01-29 00:10:05 +00:00
Simon J. Gerraty
6ff48435f9 Latest version from Crufty 2012-11-08 21:15:57 +00:00
Marcel Moolenaar
7750ad47a9 Sync FreeBSD's bmake branch with Juniper's internal bmake branch.
Requested by: Simon Gerraty <sjg@juniper.net>
2012-08-22 19:25:57 +00:00