#8724 closed enhancement (fixed)
Jamming components that rely upon OptionalBuildFeatures
Reported by: | mmadia | Owned by: | bonefish |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta2 |
Component: | Build System | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
with hrev44328, WebPositive is now built from source and relies upon the WebKit being added. That in turn relies upon WebPositive (the optional package, not application name) being added via AddOptionalHaikuImagePackages.
It would be nice to figure out a way such that jam -q WebPositive
activates the WebKit OptionalBuildFeature.
Change History (4)
comment:1 by , 12 years ago
comment:2 by , 7 years ago
There is already a way to do this: add a profile onto the command line that will pull in the build feature, e.g. jam -q @nightly-anyboot WebPositive
. Good enough?
comment:3 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:4 by , 5 years ago
Milestone: | → R1/beta2 |
---|
Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone
Note:
See TracTickets
for help on using tickets.
I wonder if it's worth the effort. If you build WebPositive often (e.g. because you work on it) it is not a big deal to enable the optional build feature in your UserBuildConfig.
To implement the feature is probably not that complicated. To implement it in an elegant way might be, though. A simple solution would be to check in build/jam/CommandLineArguments what targets are built and, if WebPositive is among them, enable the optional build feature. Given that the plan is to eventually outsource a lot more third party software, including libraries, this method will probably need a declaration file similar to OptionalPackageDependencies.
The method isn't elegant for at least two reasons: One, the declaration of the dependency is separate from the place where the dependency is used, i.e. it can easily get out of sync. Two, this only works, if the target is listed on the command line like that. Pseudo targets (e.g. "webpositive-with-add-ons") won't work, unless listed as well.
I guess the second issue cannot really be solved without modifying jam itself. The first one is at least a bit tricky.