Opened 14 years ago

Closed 13 years ago

#2670 closed Bugs (fixed)

NetBSD pkgsrc support -- allow exclusion of all libraries from build process

Reported by: brook Owned by:
Milestone: Boost 1.39.0 Component: Building Boost
Version: Boost 1.37.0 Severity: Problem
Keywords: bjam NetBSD pkgsrc Cc:

Description

This is a followup to a part of ticket #2540 (patch-ap) as requested.

The purpose of this patch is to make it easy to not build any libraries during a bjam run. This is required in order to support the pkgsrc packaging system. That system has divided Boost into a series of different packages, each corresponding to different components, e.g., headers, libraries other than python, python libraries, etc. Several of these packages run bjam in the course of building themselves. By default, bjam builds everything. In the case of some of these (e.g., libs with/without python) there already exist bjam arguments to control the process appropriately. However, if just the headers and no libraries are desired, there is no easy way to exclude all libraries from the build. The only apparent mechanism is to explicitly exclude each library individually, a process that is tedious and error prone given the changing library content. The attached patch provides a way (i.e., via the bjam argument --without-*) to exclude all libraries. The header only pkgsrc package (boost-headers) uses this to accomplish its task without needing to know an explicit list of libraries to exclude.

There should be no impact of this on any current use of the --without-XXX bjam argument, because the use of '*' is not currently supported.

Attachments (1)

patch-ap (454 bytes ) - added by brook 14 years ago.

Download all attachments as: .zip

Change History (5)

by brook, 14 years ago

Attachment: patch-ap added

comment:1 by Steven Watanabe, 14 years ago

There used to be a target called install-headers.

in reply to:  1 comment:2 by brook, 14 years ago

Replying to steven_watanabe:

There used to be a target called install-headers.

I just tried that as a top level argument to bjam for 1.38.0 and it apparently no longer exists. Perhaps that is what you meant by 'used to be', but I wasn't certain.

What was the rationale for removing it? Can it be added back in? Is that a better approach than the patch I suggested? I think it is, as it is a positive statement (install this) not a negative one (install everything but this).

comment:3 by René Rivera, 14 years ago

Component: bjamBuilding Boost
Milestone: Boost 1.38.0Boost 1.39.0
Owner: René Rivera removed

comment:4 by Vladimir Prus, 13 years ago

Resolution: fixed
Status: newclosed

The target is now named install-proper-headers. I have verified that

     bjam --prefix=/tmp/xxx install-proper-headers

does try to install headers and does not build any libraries. I am gonna close this issue, please open if something does not work on your end.

Note: See TracTickets for help on using tickets.