History log of /haiku/build/jam/OverriddenJamRules
Revision Date Author Comments
# 8764a298 09-Oct-2023 Augustin Cavalier <waddlesplash@gmail.com>

build/jam: Only add C++ header directories to include path for C++ code.

There are now some system headers (e.g. <stdatomic.h>) that have outright
different versions for C and C++ which are not compatible with each other.

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


# 8032682c 02-Dec-2021 David Karoly <karolyd577@gmail.com>

OverriddenJamRules: sort out build flags for .S files

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


# 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>


# 3cfe881d 28-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

OverriddenJamRules: Remove an unneeded and erroneous ";"


# 766872a8 24-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

OverridenJamRules: Override MkDir to use -p.

See inline comment.


# 807304b1 23-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Add basic support for MinGW hosts.

This doesn't fully work yet (the FS code in libroot_build
needs to be adapted, as some of the symlink-related calls
are not available on MinGW), but it gets much further than
the "Cygwin" target did.


# c371f18d 22-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

OverriddenJamRules: Remove TODO.

All relevant flags have been added to ASFLAGS where necessary.


# 633e29ae 21-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

Jamrules: Add a hard requirement on the new Jambase.

And remove the overridden rules that were migrated back to it.


# 74bfec3b 06-May-2018 Jessica Hamilton <jessica.l.hamilton@gmail.com>

build/jam: whitespace cleanup.

Change-Id: I80c9a51417631b1f283923451f5bb530097b74f3


# 8a9e1e0d 31-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Removal of non-Haiku target platform logic from build system (part 1.)

Following recent changes to use libroot_build on Haiku also, it is now
actually impossible to build Haiku components on non-Haiku platforms
(BeOS R5, Dan0, BONE, Zeta), so we can remove any logic related to this.

This is only the first part; still to be removed are:
* SetSubDirSupportedPlatformsBeOSCompatible
* HOST_PLATFORM_BEOS_COMPATIBLE
* TARGET_PLATFORM_BEOS_COMPATIBLE


# afde4473 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

* When using the non-legacy compiler, use the c++ and gcc headers
provided in the gcc_syslibs_devel build feature for building Haiku.
* Simplify declaration of c++ and gcc headers for the legacy compiler -
in the end we always use the ones living by our source tree anyway.
* Fix a couple of missing local declarations for jam variables, which
were necessary to avoid a build problem with strace. There are
probably more bugs like these hiding in our build system files, but
I'm saving the fix for those to the next commit.
* Add new gcc packages to the HaikuPorts (x86*-)repositories.


# a07cdb6e 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Define two pseudo targets for the target and build platform.

* The main build rules now cause their targets to depend on the
platform such that global per-platform intializations can be
set up by making the platform pseudo target depend on the
target returned by the initialization rule.


# fd621a02 23-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Use the TARGET_* variable instead of the HAIKU_* one.

HAIKU_* variables are copied to TARGET_*, making it possible to also
build for other targets (libbe_build, or BeOS R5 when we still allowed
that).

Thanks to Ingo for explaining how this is meant to work.


# 81e7f1e9 23-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix definition and use of target ASFLAGS.

* ArchitectureRules define a variable named HAIKU_ASFLAGS, so other
Jamfiles can append to it.
* But, TARGET_ASFLAGS was used instead in the single place where we
tried to make use of this (the verdex BoardSetup), and in the As rule
* Moreover, the As rule used $(architecture) instead of
$(TARGET_PACKAGING_ARCH) (I suspect a bogus copypaste?). So, it never
actually made use of the flags

With this working, add the proper flags to the BeagleBoard BoardSetup,
so we implement atomic operations the ARMv7 way (no need to syscall).
This helps with compiling, as the As and Cc/Cpp rules now agree on the
defines and the atomic implementation to use.


# 724f4e2d 04-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix kernel -Werror support

The introduction of secondary arch support for kernel files disabled
-Werror for all kernel files, since the -Werror flags were moved from
{CC,C++}FLAGS to TARGET_WARNING_{CC,C++}FLAGS_<arch>, which, however,
was overwritten by the SetupKernel rule. This commit introduces new
global variables {HAIKU,HOST,TARGET}_WERROR_FLAGS[_<arch>], which
contain the additional -Werror flags to be applied for the architecture.
The config variable WARNINGS can be set to "treatAsErrors" to cause
-Werror and {HOST,TARGET}_WERROR_FLAGS[_<arch>] to be appended to the
compilation flags.

Fixes #10280.


# af2e2068 12-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

rule Link: Set HAIKU_TARGET_IS_EXECUTABLE on target


# ddb1aa73 29-Sep-2013 François Revol <revol@free.fr>

revert 787843b

Restore the Clean action as "together".

Jam splits the args according to MAXLINE, which was too large.


# 787843b2 29-Sep-2013 François Revol <revol@free.fr>

Drop the together keyword on the Clean action

Since the PM merge we now have way too many targets,
here jam clean just fails in execve() due to too long arguments.

jam clean is now very verbose but at least it works.

Another option could be to override the Clean rule itself
to clean in batch by splitting the list...
Patches welcome.


# b0944c78 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# 52a43b19 07-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

MakeLocate rule: Avoid directory dependency, if already located

Only create the directory dependency for a target, if that's where the
target will actually end up. If it has already been located before, do
nothing.


# 518840e3 08-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Complete MIME related support for image/package creation

* Update MimeSet rule to use the MIME DB the build system creates.
* Add CreateAppMimeDBEntries rule and call it from Link for targets that
might be applications that need to be registered with the MIME DB. For
the target the rule is invoked with it creates a directory into which
the entries for the types to be registered are written. The directory
is associated with the target via the HAIKU_MIME_DB_ENTRIES variable.
* AddFilesToContainer: If a target is added that has MIME DB entries,
also add those to the container.
* build_haiku_package: Call mimeset for the package contents.


# 89804230 23-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Override File actions to be whitespace-safe


# 29782747 22-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added rule SetVersionScript to set the version script for a target and adjusted
the Link and KernelLd rules to support it.


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


# 0feb2904 30-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved AssembleNasm to MainBuildRules.


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


# 91fbc75f 30-Mar-2009 David McPaul <dlmcpaul@gmail.com>

Fix coding style violation

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


# 73734dbf 30-Mar-2009 David McPaul <dlmcpaul@gmail.com>

Add nasm rule and action

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


# bfdf82d4 08-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* When using the generic attribute emulation the Link actions does now
first remove the target and its attributes (if any). Before gcc would
just unlink it and leak the attributes, which could lead to later
mixups, if the file's inode ID was re-used. As reported by Rene this
improves the attribute mixup situation, but doesn't solve it
completely. So that status quo is still the same: When using the
generic attribute emulation one has to build from the scratch to be
sure all attributes are fine.
* Got rid of superfluous whitespace.


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


# f3d12d46 18-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Execute chmod at least command or the set permissions might get lost
again. I'm not totally sure why that is, but the set-uid permission kept
disappearing.


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


# 071f9c3a 27-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Build configurations shouldn't be done in svn controlled files, so I
finally created a solution to avoid that: Header files that contain
configuration settings (and nothing else) go to build/config_headers.
To change settings, create a directory build/user_config_headers (which
is ignored by svn), copy the respective header there and modify it at
your leisure. Currently only tracing_config.h has been moved to the new
location, but more files will follow eventually. It is also recommended
to move optional macro definitions in Jamfile (as for BFS) to a config
header instead; the build system will then automatically rebuild on
changes.


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


# 0ba49c35 22-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* BuildPlatformMain supports overriding HOST_LIBROOT on the target now,
so one can set it to the static libroot, if desired.
* Generic attribute emulation:
- Added build tool rm_attrs, a simple "rm" replacement, which also
removes the attributes directory for a given file.
- Added build/scripts/rm_attrs shell script, which wraps the
invocation of the rm_attrs tool. If it doesn't exist yet, the
ordinary rm is used.
- The RM jam variable refers to the rm_attrs script now, i.e. whenever
something is removed by the build system, the attributes are removed
too (if the build tool has already been built, that is).
- Removed the shell function attrrmrf() in build_haiku_image. We use
the rm_attrs tool instead, if necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24528 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


# 3f493ef6 17-Feb-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Force recreation of *.a archives to avoid build errors caused by
stale dependencies after renaming or deleting object files.
This will avoid link error like the one that was caused by the
recent mesa update.


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


# 0a454285 17-Dec-2006 Jérôme Duval <korli@users.berlios.de>

added iasl bin tool from acpica-20061109


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


# 32bf6c0b 18-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

LibraryFromObjects did set AR on $(1) instead of on $(_l), the latter
one being $(1:S=$(SUFLIB)). Thus the wrong AR would be used when
the name passed to LibraryFromObjects didn't have the .a suffix yet.


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


# 8b5934c9 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added support for compiling Haiku with GCC 4. The main difference is that
we use the libstdc++ (including it's headers) that comes with the
compiler.
* Apparently option "-I-" has been deprecated, which is why we now treat the
include stuff a bit differently.
* Removed avcodec from the Haiku image, since the library wouldn't build with
gcc 4, and I'm not in the mood to fix that (declaration of an array of an
incomplete type).


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


# 24ecde09 31-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Source files/headers generated by lex or yacc need to inherit the platform
from the respective object file or they are misplaced.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14594 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


# afde44733fdff43256384ea0441585a082e73c95 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

* When using the non-legacy compiler, use the c++ and gcc headers
provided in the gcc_syslibs_devel build feature for building Haiku.
* Simplify declaration of c++ and gcc headers for the legacy compiler -
in the end we always use the ones living by our source tree anyway.
* Fix a couple of missing local declarations for jam variables, which
were necessary to avoid a build problem with strace. There are
probably more bugs like these hiding in our build system files, but
I'm saving the fix for those to the next commit.
* Add new gcc packages to the HaikuPorts (x86*-)repositories.


# a07cdb6e9f8e484b6ba9f209fbeb144e906d3405 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Define two pseudo targets for the target and build platform.

* The main build rules now cause their targets to depend on the
platform such that global per-platform intializations can be
set up by making the platform pseudo target depend on the
target returned by the initialization rule.


# fd621a02919d8aef71dff72301d9dc6222e76302 23-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Use the TARGET_* variable instead of the HAIKU_* one.

HAIKU_* variables are copied to TARGET_*, making it possible to also
build for other targets (libbe_build, or BeOS R5 when we still allowed
that).

Thanks to Ingo for explaining how this is meant to work.


# 81e7f1e9925b835edcb9cea89310536cee20877d 23-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix definition and use of target ASFLAGS.

* ArchitectureRules define a variable named HAIKU_ASFLAGS, so other
Jamfiles can append to it.
* But, TARGET_ASFLAGS was used instead in the single place where we
tried to make use of this (the verdex BoardSetup), and in the As rule
* Moreover, the As rule used $(architecture) instead of
$(TARGET_PACKAGING_ARCH) (I suspect a bogus copypaste?). So, it never
actually made use of the flags

With this working, add the proper flags to the BeagleBoard BoardSetup,
so we implement atomic operations the ARMv7 way (no need to syscall).
This helps with compiling, as the As and Cc/Cpp rules now agree on the
defines and the atomic implementation to use.


# 724f4e2d387826f0b501981e542ea21ca99bd64d 04-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix kernel -Werror support

The introduction of secondary arch support for kernel files disabled
-Werror for all kernel files, since the -Werror flags were moved from
{CC,C++}FLAGS to TARGET_WARNING_{CC,C++}FLAGS_<arch>, which, however,
was overwritten by the SetupKernel rule. This commit introduces new
global variables {HAIKU,HOST,TARGET}_WERROR_FLAGS[_<arch>], which
contain the additional -Werror flags to be applied for the architecture.
The config variable WARNINGS can be set to "treatAsErrors" to cause
-Werror and {HOST,TARGET}_WERROR_FLAGS[_<arch>] to be appended to the
compilation flags.

Fixes #10280.


# af2e206845fd0da76454ef02a24afed7acbf56e5 12-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

rule Link: Set HAIKU_TARGET_IS_EXECUTABLE on target


# ddb1aa7353b09f1cd5f72a5196daeae690eb50d8 29-Sep-2013 François Revol <revol@free.fr>

revert 787843b

Restore the Clean action as "together".

Jam splits the args according to MAXLINE, which was too large.


# 787843b28602da0d5943cad1a7355ed3bd7bb9d3 29-Sep-2013 François Revol <revol@free.fr>

Drop the together keyword on the Clean action

Since the PM merge we now have way too many targets,
here jam clean just fails in execve() due to too long arguments.

jam clean is now very verbose but at least it works.

Another option could be to override the Clean rule itself
to clean in batch by splitting the list...
Patches welcome.


# b0944c78b074a8110bd98e060415d0e8f38a7f65 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# 52a43b19ff0924d7320ffea06f6902b3eda7e504 07-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

MakeLocate rule: Avoid directory dependency, if already located

Only create the directory dependency for a target, if that's where the
target will actually end up. If it has already been located before, do
nothing.


# 518840e305b44986a28aff2db042a932bf2fd650 08-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Complete MIME related support for image/package creation

* Update MimeSet rule to use the MIME DB the build system creates.
* Add CreateAppMimeDBEntries rule and call it from Link for targets that
might be applications that need to be registered with the MIME DB. For
the target the rule is invoked with it creates a directory into which
the entries for the types to be registered are written. The directory
is associated with the target via the HAIKU_MIME_DB_ENTRIES variable.
* AddFilesToContainer: If a target is added that has MIME DB entries,
also add those to the container.
* build_haiku_package: Call mimeset for the package contents.


# 89804230e16cd49bf6c506e1315553035e63c6ea 23-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Override File actions to be whitespace-safe


# 297827477bc348fcf07166b09cb15a28d8c23a74 22-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added rule SetVersionScript to set the version script for a target and adjusted
the Link and KernelLd rules to support it.


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


# 0feb2904db0923c4f9ecee593248dd876344845e 30-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved AssembleNasm to MainBuildRules.


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


# 91fbc75fd19ca6cbbb82eb552afe046bffc0e946 30-Mar-2009 David McPaul <dlmcpaul@gmail.com>

Fix coding style violation

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


# 73734dbf97ceb7faefa380659c3b8b481e6e1976 30-Mar-2009 David McPaul <dlmcpaul@gmail.com>

Add nasm rule and action

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


# bfdf82d45006e90cb2e65241eccdb9a7fe6e99b3 08-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* When using the generic attribute emulation the Link actions does now
first remove the target and its attributes (if any). Before gcc would
just unlink it and leak the attributes, which could lead to later
mixups, if the file's inode ID was re-used. As reported by Rene this
improves the attribute mixup situation, but doesn't solve it
completely. So that status quo is still the same: When using the
generic attribute emulation one has to build from the scratch to be
sure all attributes are fine.
* Got rid of superfluous whitespace.


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


# f3d12d460b5b746fa404a7bc6c6567be32aa0d13 18-Apr-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Execute chmod at least command or the set permissions might get lost
again. I'm not totally sure why that is, but the set-uid permission kept
disappearing.


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


# 071f9c3aa2c2215feaa56a8ff59557dd00b27f37 27-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Build configurations shouldn't be done in svn controlled files, so I
finally created a solution to avoid that: Header files that contain
configuration settings (and nothing else) go to build/config_headers.
To change settings, create a directory build/user_config_headers (which
is ignored by svn), copy the respective header there and modify it at
your leisure. Currently only tracing_config.h has been moved to the new
location, but more files will follow eventually. It is also recommended
to move optional macro definitions in Jamfile (as for BFS) to a config
header instead; the build system will then automatically rebuild on
changes.


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


# 0ba49c35b3ad2588217c45e3aa02144c7b2124f0 22-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* BuildPlatformMain supports overriding HOST_LIBROOT on the target now,
so one can set it to the static libroot, if desired.
* Generic attribute emulation:
- Added build tool rm_attrs, a simple "rm" replacement, which also
removes the attributes directory for a given file.
- Added build/scripts/rm_attrs shell script, which wraps the
invocation of the rm_attrs tool. If it doesn't exist yet, the
ordinary rm is used.
- The RM jam variable refers to the rm_attrs script now, i.e. whenever
something is removed by the build system, the attributes are removed
too (if the build tool has already been built, that is).
- Removed the shell function attrrmrf() in build_haiku_image. We use
the rm_attrs tool instead, if necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24528 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


# 3f493ef624d33f023a714dd6a9ca3d1b6e6b3ef2 17-Feb-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Force recreation of *.a archives to avoid build errors caused by
stale dependencies after renaming or deleting object files.
This will avoid link error like the one that was caused by the
recent mesa update.


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


# 0a4542854b8caa28a3700c4c93b25360bf1eb036 17-Dec-2006 Jérôme Duval <korli@users.berlios.de>

added iasl bin tool from acpica-20061109


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


# 32bf6c0b0767b6cc500f489278e80a9abce29d5d 18-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

LibraryFromObjects did set AR on $(1) instead of on $(_l), the latter
one being $(1:S=$(SUFLIB)). Thus the wrong AR would be used when
the name passed to LibraryFromObjects didn't have the .a suffix yet.


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


# 8b5934c975d7c3eb1c19f396dbe2a150df4f086a 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added support for compiling Haiku with GCC 4. The main difference is that
we use the libstdc++ (including it's headers) that comes with the
compiler.
* Apparently option "-I-" has been deprecated, which is why we now treat the
include stuff a bit differently.
* Removed avcodec from the Haiku image, since the library wouldn't build with
gcc 4, and I'm not in the mood to fix that (declaration of an array of an
incomplete type).


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


# 24ecde09c876e1468bd8f5c87737372f3ac359ff 31-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Source files/headers generated by lex or yacc need to inherit the platform
from the respective object file or they are misplaced.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14594 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