Opened 14 years ago

Last modified 11 years ago

#2433 new Feature Requests

bjam should honor include paths order

Reported by: pisymbol@… Owned by: Vladimir Prus
Milestone: To Be Determined Component: build
Version: Boost Development Trunk Severity: Optimization
Keywords: Cc:

Description

Currently bjam does not honor include paths and sorts things alphabetically as an speed optimization (I believe it has to do with comparing sets of paths for equivalence). In reality, bjam should honor include path order not only within a <include> attribute but also within a project hierarchy itself.

Here is a great thread with a lot of good discussion about the issue and what I have in mind for bjam:

http://www.nabble.com/Sorting-include-headers-td19995752.html

Change History (5)

comment:1 by René Rivera, 14 years ago

Component: bjambuild
Owner: changed from René Rivera to Vladimir Prus
Version: Boost 1.36.0Boost Development Trunk

comment:2 by anonymous, 11 years ago

This is indeed a very good proposal. I am currently finding myself with the problem that a particular path NEEDS to be included before another one, and there is just no way that this works with bjam, is there?

comment:3 by Vladimir Prus, 11 years ago

There is, just put:

<include>a&&b

in requirements for relevant metatarget or project.

comment:4 by Steven Watanabe, 11 years ago

Unfortunately, this isn't completely foolproof. Given, <include>b&&a <include>a we'll end up with a b a.

It would work better if we used a topological sort. Isn't there already something like this for libraries?

comment:5 by Vladimir Prus, 11 years ago

Hmm, I swear the plan was to put values with "&&" to the front of the list, before splitting, but I cannot see the evidence this is actually done in the current code.

topological sort would work. another alternative, of course, it just don't sort include properties, but the performance consequences of that are still uncearl.

Note: See TracTickets for help on using tickets.