History log of /haiku-fatelf/build/jam/MiscRules
Revision Date Author Comments
# ffa0014b 08-Dec-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

MiscRule: Add new rules to deal with build features

* EnableBuildFeatures: Enables build features.
* FIsBuildFeatureEnabled: Checks whether a build feature is enabled.
* FMatchesBuildFeatures: Checks more complex build feature
specifications.
* FFilterByBuildFeatures: Filters lists annotated with build feature
specifications.


# 364de37e 08-Jan-2011 Axel Dörfler <axeld@pinc-software.de>

* Added Ingo's explanations as comments to the MakeLocate variants.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40157 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9f10e7ac 03-May-2010 Matt Madia <mattmadia@gmail.com>

Added some documentation about the anyboot images. Verification appreciated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36601 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 26b5ecec 15-Mar-2010 Matt Madia <mattmadia@gmail.com>

Create "anyboot-image" and define build profile rules to utilize it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35871 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0b58d844 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to
be run again or generated/build/BuildConfig needs to be adjusted manually.
* Removed bochs debug hack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34721 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a84f41d8 23-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Matt Madia: Added "cd-image" build profile type and "alpha-cd" build
profile. Small changes by myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30832 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35d0aeac 08-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added rule SetupFeatureObjectsDir that simplifies using different output
directories when a certain feature is enabled/disabled/configured a certain
way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30019 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 37aefc9c 23-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved jam argument processing to new build/jam/CommandLineArguments.
* Check the first argument for "help" as well. If given print a somewhat
helpful text. Consider this my excuse to close ticket #1883. :-)
* Track available and added optional packages and fail, if an optional package
is requested that doesn't exist. Closes ticket #3332.
* Check for duplicate build profile definitions and fail if encountered.
Closes ticket #3333.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29298 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 937f717c 28-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Quote the command line arguments, so arguments with whitespace will
work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 29ad53f1 15-Jul-2008 Axel Dörfler <axeld@pinc-software.de>

* Added an "update-all" build profile action that updates all files. This can
be used to update an installation without erasing the whole volume (ie. it
works like install-haiku on BFS capable platforms).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26435 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a0a9d225 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a new fancy build system feature called "build profiles".
Especially people building various kinds of images with different
settings may want to have a look at the respective section in the
UserBuildConfig.ReadMe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24757 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be8a6e43 30-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added JAMFILE to the config variables.
* Added additional parameters to DeferredSubInclude. It's now possible
to specify an alternative Jamfile name.
* Added DeferredSubInclude example to UserBuildConfig.ReadMe showing the
new feature.
* Moved ExecuteDeferredSubIncludes in the root Jamfile before the
inclusion of HaikuImage, NetBootArchive etc., so that targets defined
in the subdirectories are already known there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24680 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7fe764cc 31-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

bonefish: Fixed bug #1346. The relative output directory for the root directory was
computed as '.' which resulted in output path ending with '/.', causing mkdir to choke.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21778 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4ce381e2 30-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed "jam run" feature for older shells.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20925 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 315cfc48 07-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

The ":" to identify a target for the "run" feature must be at the
beginning of the string; it was formerly matched anywhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20610 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2c24a1a9 05-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

New handy build system feature: It is now possible to pass a command
line to jam that contains build targets and that will be executed by
the build system after building the targets and replacing their
occurrences in the command line by their paths. The keyword indicating
such a command line is "run", targets are marked by a leading ":".
E.g.:

jam -q run ':<build>xres' -l :libtracker.so

This builds the xres tool for the host platform and libtracker.so for
Haiku, and afterwards lists the resources libtracker.so contains. Note,
that this feature requires using Haiku's jam version.

The functionality is implemented by the new RunCommandLine rule, which
can, of course, also be used in the UserBuildConfig.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20598 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f51c1470 05-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added rules NextID, which returns an numerical ID incremented with each
invocation, and NewUniqueTarget, which returns a unique target name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3f2a4355 07-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the DeferredSubInclude rules into MiscRules.
* Added new rule HaikuSubInclude for more comfortable subdirectory inclusion.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20352 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c556338 13-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Removing the now unneeded SearchAndReplace and Sed rules. They can always be
added back if need be. There were some building bugs anyhow in these versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19507 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dd481a03 13-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Added a few new rules that do some search and replacing using sed. AFAIK all
our build platforms should have sed support (it is built into Jambase at
least.) I use these rules to do some code generation in my soon to be committed
MarkAs Tracker add-ons.

This works pretty nifty if I do say so myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19481 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 338b8dc3 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 364de37ea7e5b2ed8de71f0919c691db2139700c 08-Jan-2011 Axel Dörfler <axeld@pinc-software.de>

* Added Ingo's explanations as comments to the MakeLocate variants.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40157 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9f10e7acc7a2324725c3002c1964a95fc112d172 03-May-2010 Matt Madia <mattmadia@gmail.com>

Added some documentation about the anyboot images. Verification appreciated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36601 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 26b5ececca97f8adcb30fbb21727070d6a70acff 15-Mar-2010 Matt Madia <mattmadia@gmail.com>

Create "anyboot-image" and define build profile rules to utilize it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35871 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0b58d8440cdd5ffb87ff7ec5e8938818a68ec261 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to
be run again or generated/build/BuildConfig needs to be adjusted manually.
* Removed bochs debug hack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34721 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a84f41d8a032daa1127c45f35692f05f09fe27c6 23-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Matt Madia: Added "cd-image" build profile type and "alpha-cd" build
profile. Small changes by myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30832 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35d0aeac70aec6db30a71870f0afe613e66cb9b4 08-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added rule SetupFeatureObjectsDir that simplifies using different output
directories when a certain feature is enabled/disabled/configured a certain
way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30019 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 37aefc9c6f6dc3456d74dbccc3a606e30192baf4 23-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved jam argument processing to new build/jam/CommandLineArguments.
* Check the first argument for "help" as well. If given print a somewhat
helpful text. Consider this my excuse to close ticket #1883. :-)
* Track available and added optional packages and fail, if an optional package
is requested that doesn't exist. Closes ticket #3332.
* Check for duplicate build profile definitions and fail if encountered.
Closes ticket #3333.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29298 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 937f717ceddf21c272ab1d281098004b756afde5 28-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Quote the command line arguments, so arguments with whitespace will
work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 29ad53f16af59195409dc5993d1455cc8eb75395 15-Jul-2008 Axel Dörfler <axeld@pinc-software.de>

* Added an "update-all" build profile action that updates all files. This can
be used to update an installation without erasing the whole volume (ie. it
works like install-haiku on BFS capable platforms).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26435 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a0a9d225d3e48f81429a769b8c0ed5c961bf1516 02-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a new fancy build system feature called "build profiles".
Especially people building various kinds of images with different
settings may want to have a look at the respective section in the
UserBuildConfig.ReadMe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24757 a95241bf-73f2-0310-859d-f6bbb57e9c96


# be8a6e43ff859d400ce60ad3c4c8fba0cf68ae2e 30-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added JAMFILE to the config variables.
* Added additional parameters to DeferredSubInclude. It's now possible
to specify an alternative Jamfile name.
* Added DeferredSubInclude example to UserBuildConfig.ReadMe showing the
new feature.
* Moved ExecuteDeferredSubIncludes in the root Jamfile before the
inclusion of HaikuImage, NetBootArchive etc., so that targets defined
in the subdirectories are already known there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24680 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7fe764cce5536eff2df2383138884eb5a5fd50c4 31-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

bonefish: Fixed bug #1346. The relative output directory for the root directory was
computed as '.' which resulted in output path ending with '/.', causing mkdir to choke.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21778 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4ce381e26c0bc2a009e71f18f5554965fc031302 30-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed "jam run" feature for older shells.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20925 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 315cfc48cae14453531b36115958ef833815d590 07-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

The ":" to identify a target for the "run" feature must be at the
beginning of the string; it was formerly matched anywhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20610 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2c24a1a9f609984ecde4c3525521518ecdf50146 05-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

New handy build system feature: It is now possible to pass a command
line to jam that contains build targets and that will be executed by
the build system after building the targets and replacing their
occurrences in the command line by their paths. The keyword indicating
such a command line is "run", targets are marked by a leading ":".
E.g.:

jam -q run ':<build>xres' -l :libtracker.so

This builds the xres tool for the host platform and libtracker.so for
Haiku, and afterwards lists the resources libtracker.so contains. Note,
that this feature requires using Haiku's jam version.

The functionality is implemented by the new RunCommandLine rule, which
can, of course, also be used in the UserBuildConfig.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20598 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f51c1470437cb5838179b9c98f2bb884917517d0 05-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added rules NextID, which returns an numerical ID incremented with each
invocation, and NewUniqueTarget, which returns a unique target name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3f2a43554aac02cdc372d3598d034d14433d093a 07-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the DeferredSubInclude rules into MiscRules.
* Added new rule HaikuSubInclude for more comfortable subdirectory inclusion.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20352 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c55633809d2886d06def3da9547d94e4df74de3 13-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Removing the now unneeded SearchAndReplace and Sed rules. They can always be
added back if need be. There were some building bugs anyhow in these versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19507 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dd481a03fc4982202af15a850ea18696171ebe5f 13-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Added a few new rules that do some search and replacing using sed. AFAIK all
our build platforms should have sed support (it is built into Jambase at
least.) I use these rules to do some code generation in my soon to be committed
MarkAs Tracker add-ons.

This works pretty nifty if I do say so myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19481 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 338b8dc301721b1f472e8297a898d4eaa2f2ee3a 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96