History log of /haiku/build/jam/BuildFeatureRules
Revision Date Author Comments
# 7aa55747 30-Sep-2021 Augustin Cavalier <waddlesplash@gmail.com>

kernel & addons: Build with the non-legacy GCC even on x86_gcc2h.

Only one code change: for some reason, GCC chokes on the cr3 functions
as macros (throwing errors about invalid registers.) The BSDs have them
as inline functions instead, so they are converted to that here.

Tested and working. There seems to be about a 10% decrease in CPU time
on some compilation benchmarks that I briefly tried.

Change-Id: I31666297394d7619f83fca6ff5f933ddd6f07420
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4515
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 47320dd0 06-Oct-2020 Augustin Cavalier <waddlesplash@gmail.com>

configure & build: Rework legacy GCC detection to parse versions outside of Jam.

Jam comparison logic is string-based, and so was detecting GCC >= 10
as being < 2. This rectifies that by removing the GCC version parsing
from Jam logic entirely, and setting various BuildConfig variables
instead.

Change-Id: I0c0ae3b9002fb5e77f9ca7a78600c91871657f03
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3293
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# a9916f9b 24-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

build/jam/BuildFeatureRules: Make EnableBuildFeatures actually work.

It was trying to use $(feature:U) outside of the loop where it is
actually set. Thanks to PulkoMandy for spotting the problem.

(How did this not break tons of stuff?)


# 5ce49bd3 24-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

rule FFilterByBuildFeatures: Fix output


# 00b8bfde 10-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

EnableBuildFeatures: deal with duplicate invocations


# 93cfb722 04-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

build features/bootstrap repo: support secondary arch

* Add rule FSplitPackageName. It splits a package name into port name
and package suffix.
* FSetConditionsHold: Rename to FConditionsHold and replace the set
parameter by a predicate rule parameter, thus adding more flexibility.
* FIsBuildFeatureEnabled: Use the faster check.
* Add rule FQualifiedBuildFeatureName. Given a build feature name, it
prepends the current packaging architecture to yield a qualified
feature name. Is used by the other build feature rules so that the
same build feature can be configured differently for each arch.
* ExtractBuildFeatureArchives: The supplied list is now filtered via
FFilterByBuildFeatures, allowing for build feature conditions in the
list.
* Add rule InitArchitectureBuildFeatures. It is called early for each
configured architecture, setting up some basic build features for it.
"primary" is set for the primary architecture and a "secondary_<arch>"
is set for each secondary architecture.
* BuildFeatures: Add secondary architecture support: Use the correct
paths for libraries and headers (subdir for secondary architecture)
and configure the icu and zlib sources only for the primary
architecture.
* BootstrapPackageRepository: The package lists are now filtered via
FFilterByBuildFeatures, allowing for build feature conditions in the
lists.
* IsPackageAvailable, FetchPackage: Add secondary architecture support.
* HaikuPortsCross/x86_gcc2: Add icu and zlib x86 secondary packages.

The second stage Haiku cross devel package for the secondary
architecture can now be built.


# d31a50ee 04-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Move build feature rules to separate file


# 5ce49bd3db79bf9eb921cebf07547965f15cba48 24-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

rule FFilterByBuildFeatures: Fix output


# 00b8bfde15b28636eced339c15c9426095009562 10-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

EnableBuildFeatures: deal with duplicate invocations


# 93cfb722707a5870dc99fefe0c05dff0ca4e966f 04-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

build features/bootstrap repo: support secondary arch

* Add rule FSplitPackageName. It splits a package name into port name
and package suffix.
* FSetConditionsHold: Rename to FConditionsHold and replace the set
parameter by a predicate rule parameter, thus adding more flexibility.
* FIsBuildFeatureEnabled: Use the faster check.
* Add rule FQualifiedBuildFeatureName. Given a build feature name, it
prepends the current packaging architecture to yield a qualified
feature name. Is used by the other build feature rules so that the
same build feature can be configured differently for each arch.
* ExtractBuildFeatureArchives: The supplied list is now filtered via
FFilterByBuildFeatures, allowing for build feature conditions in the
list.
* Add rule InitArchitectureBuildFeatures. It is called early for each
configured architecture, setting up some basic build features for it.
"primary" is set for the primary architecture and a "secondary_<arch>"
is set for each secondary architecture.
* BuildFeatures: Add secondary architecture support: Use the correct
paths for libraries and headers (subdir for secondary architecture)
and configure the icu and zlib sources only for the primary
architecture.
* BootstrapPackageRepository: The package lists are now filtered via
FFilterByBuildFeatures, allowing for build feature conditions in the
lists.
* IsPackageAvailable, FetchPackage: Add secondary architecture support.
* HaikuPortsCross/x86_gcc2: Add icu and zlib x86 secondary packages.

The second stage Haiku cross devel package for the secondary
architecture can now be built.


# d31a50eef768be42588772f94a101e28c8b6415c 04-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Move build feature rules to separate file