History log of /haiku/build/jam/HeadersRules
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>


# 31c38ae2 02-Jun-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

jam/HeaderRules: Put posix before gcc

* After the gcc 8 upgrade, during bootstrap sources attempt to
load limits.h from gcc before they use our limits.h override
resulting in undefined NAME_MAX, PATH_MAX, etc.

Change-Id: I9204410d0543a033e262124eaf7bcde09db26aa9
Reviewed-on: https://review.haiku-os.org/c/1498
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# 218a8c03 17-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Revert the Codec Kit.

All of Barrett's individual reverts have been squashed into this
one commit, save a few actual bugfixes.

Change-Id: Ib0a7d0a841d3ac40b1fca7372c58b7f9229bd1f0


# 1275248a 24-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

codec_kit: First half

* Move all codec stuff into libcodec.so


# 1f6fe055 01-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

build: Copy and use Clang's vector intrinsics headers.

When compiling with GCC, these headers get pulled in from the
gcc_syslibs_devel package, but we cannot do something similar
for Clang as Clang adds/removes internal builtins used by
the headers nearly every version. So instead we just copy
all the intrinsics headers from current Clang into generated,
and make sure this directory is included before any others.


# 4ca98ce9 05-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Cleanup with respect to headers rules.

* Move specialcasing of gcc2 from HeadersRules into the respective rule
in SystemLibraryRules.


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


# 8c54af56 30-Apr-2014 Oliver Tappe <zooey@hirschkaefer.de>

Whitespace cleanup in root and 'build' folder.

* Removed trailing whitespace and empty lines at top of files.


# eb45d168 22-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

GL: Remove OpenGL kit, x86 Mesa

* Depend on Mesa packages to provide functionality


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


# 4bee3d6f 05-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add more rules to simplify dealing with build features

* Introduce the notion of build feature attributes and add rules
SetBuildFeatureAttribute and BuildFeatureAttribute to set respectively
get a build feature attribute.
* Add rule ExtractBuildFeatureArchives to download and extract archives
and set build feature attributes to extracted entries.
* Add rule UseBuildFeatureHeaders as a shorthand for getting a build
feature attribute and adding it as a system header search directory.


# c86c8e21 13-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Added PrivateBuildHeaders and UsePrivateBuildHeaders rules.


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


# af9a2c4e 13-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Small style cleanup.


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


# 75f15221 18-Sep-2009 Oliver Tappe <zooey@hirschkaefer.de>

* reintegrated gsoc-locale-kit branch into trunk - there's more
work to do, but it's about time to give this code more exposure.



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


# 8bc24c13 17-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved termcap.h to headers/libs/termcap/, where it belongs.
* Removed the headers/gnu from the default headers (the Jamfiles needing it
use it explicitly, now) and moved it under headers/compatibility/.
* Added libgnu.so to the image. Still untested, though.


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


# 09a009d4 22-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Move include directories for C++ headers to the beginning. This makes
include_next work properly with newer headers. GCC 4.3.2 has a <cstddef> in its
C++ headers for example that does an include_next of <stddef.h>. The latter is
located in the C headers. For this to work, the include directory for the C
headers needs to be specified later than the one of the C++ headers.
With that Haiku is now completely buildable with GCC 4.3.2.


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


# 6b202f4e 13-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).


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


# 404a0fea 16-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Second stab at reorganizing standard/gcc headers. This time it not only
builds on Linux with gcc 2 and 4, but the images do even run. :-) Not
tested on BeOS.

* Removed stddef.h and stdarg.h. They are provided by the compiler.
* Adjusted size_t.h, wchar_t.h, and wchar.h accordingly.
* Made stdio.h avoid gcc 2.95.3's fixincludes hack stdio_va_list
* Added gcc 2.95.3 headers to the repository. They are used instead of
the headers of the gcc 2.95.3's we use to compile Haiku with. Should
avoid build problems with the BeOS native compiler.

For sake of personal recreation you can rebuild the cross gcc 2.95.3,
but the only thing that changed is its header directory
(lib/gcc-lib/.../include), which isn't used anymore. Replacing it with
headers/build/gcc-2.95.3 should have the same effect as rebuilding, BTW.


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


# d8ce64a2 15-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Reverted r24406. If it builds, it doesn't always work as well. The
change resulted in "version mismatch between boot loader and kernel". So
apparently the size of some type changed unintentionally.


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


# 6191d9a8 15-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed our stddef.h. We don't need it, since gcc comes with one that
under Haiku overrides ours anyway.
* Adjusted size_t.h, wchar_t.h, wchar.h accordingly. This should fix the
annoying "ssize_t redefined" warnings when compiling under Haiku.
* When building Haiku the gcc headers come first in the include
search path now, as it should be. The respective TODO suggested that
this might break the build depending on compiler version and host
platform. I've tested with Linux gcc 2 and gcc 4, which work fine.


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


# 063ebe49 14-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the headers/os dir to FStandardOSHeaders and FStandardHeaders.


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


# 8535c47c 14-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

PublicHeaders always added the header/os directory too. Let's see, what
removing it will break...


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


# 5378efc0 09-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

New rule UsePrivateKernelHeaders. It adds header/private/kernel as well
as all directories that might be needed by private kernel headers (arch,
platform,... headers).


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


# 2660d61a 12-Jun-2007 Ryan Leavengood <leavengood@gmail.com>

As I said I would:

1. Deleted headers/shared/
2. Added a Jamfile to src/shared to build it into a static library libshared.a.
3. Removed my changes in the build/jam directory.
4. Have ShowImage include libshared.a.

I forgot to add AboutWindow.h to headers/private/shared. I will do that next.



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


# 5a1210fb 11-Jun-2007 Ryan Leavengood <leavengood@gmail.com>

Moved the BAboutWindow implementation to the shared source directory, which
despite being talked about repeatedly, does not currently exist.

Adding this required adding some new Jam rules to deal with this shared source
directory and headers. I had some fun figuring this out. Despite writing
articles about Jam in the Haiku newsletter a few years ago I still find Jam to
be a PITA at times.

But my solution seems to work pretty well. Basically you just call the rule
UseSharedSource and pass the name of the shared source file you want to use.
This rule sets up the header directories and the right Jam variables for the
source file. You then add the source file to the source list in the Application
rule like any other source file.

I also made the authors list sent to the about window constructor null
terminated instead of passing the size of the array, as suggested by Hugo.


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


# 48d60fa6 03-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced new build system features: The variable HAIKU_DONT_INCLUDE_SRC to
turn off the inclusion of src/Jamfile, and the rule DeferredSubInclude to
include a subdirectory in UserBuildConfig. Together they allow a developer
working on a subproject to reduce jam's parsing time when only building the
subproject. Relevant mostly on BeOS; on Linux jam is pretty fast anyway.


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


# e4f35acf 09-Jun-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added new (currently private) API class BMimeSnifferAddon,
representing the interface for, well, MIME sniffer add-ons.
* Implemented the respective add-on manager and make use of it in
the MIME database code. Unfortunately the MIME DB code completely
lives in libbe.so and hence I had to put my code there too.
IMHO we should (one day) remove the direct (read-only) MIME DB
access from libbe and move everything into the registrar.
Currently the add-on manager supports built-in add-ons only; it
doesn't really load anything from disk ATM.
* Added a built-in text sniffer add-on to the registrar. It's based
upon the BSD file tool code.

This closes bug #250 (plain text files are identified as such, now).



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


# 79b73cd9 31-May-2006 Oliver Tappe <zooey@hirschkaefer.de>

- UseLegacyHeaders now accepts a list of sub-folders all of which will be
added to the search path


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


# cc094b2c 11-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added TODO.


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


# f187f73e 03-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added (currently still empty) dir headers/legacy for legacy headers and rules
UseLegacyHeaders and UseLegacyObjectHeaders to use them.


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


# 4ca98ce9a935164e49707155211d2a37a3e2b65e 05-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Cleanup with respect to headers rules.

* Move specialcasing of gcc2 from HeadersRules into the respective rule
in SystemLibraryRules.


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


# 8c54af563ce823c0e5b029716b2a020896c90ff4 30-Apr-2014 Oliver Tappe <zooey@hirschkaefer.de>

Whitespace cleanup in root and 'build' folder.

* Removed trailing whitespace and empty lines at top of files.


# eb45d168e18352b635255d10895521c6719bf357 22-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

GL: Remove OpenGL kit, x86 Mesa

* Depend on Mesa packages to provide functionality


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


# 4bee3d6fb9b62a1ca1c508b263d037df6b863e57 05-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add more rules to simplify dealing with build features

* Introduce the notion of build feature attributes and add rules
SetBuildFeatureAttribute and BuildFeatureAttribute to set respectively
get a build feature attribute.
* Add rule ExtractBuildFeatureArchives to download and extract archives
and set build feature attributes to extracted entries.
* Add rule UseBuildFeatureHeaders as a shorthand for getting a build
feature attribute and adding it as a system header search directory.


# c86c8e21633b3b6aed19aabe8e9596551c37796e 13-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Added PrivateBuildHeaders and UsePrivateBuildHeaders rules.


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


# af9a2c4e23fc384d4b00b8e6921afb2cbb5eddbd 13-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Small style cleanup.


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


# 75f152215517c2af1a93938f46d3156503329a5e 18-Sep-2009 Oliver Tappe <zooey@hirschkaefer.de>

* reintegrated gsoc-locale-kit branch into trunk - there's more
work to do, but it's about time to give this code more exposure.



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


# 8bc24c13abf6998bb28ea59ad5789531a75c2794 17-Aug-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved termcap.h to headers/libs/termcap/, where it belongs.
* Removed the headers/gnu from the default headers (the Jamfiles needing it
use it explicitly, now) and moved it under headers/compatibility/.
* Added libgnu.so to the image. Still untested, though.


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


# 09a009d4afffb23f85bb52efa57a7e5e68e1c85e 22-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Move include directories for C++ headers to the beginning. This makes
include_next work properly with newer headers. GCC 4.3.2 has a <cstddef> in its
C++ headers for example that does an include_next of <stddef.h>. The latter is
located in the C headers. For this to work, the include directory for the C
headers needs to be specified later than the one of the C++ headers.
With that Haiku is now completely buildable with GCC 4.3.2.


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


# 6b202f4e3da73d4c131355fcd82b792d153f84f6 13-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
several kernel headers into a shared part and one that is still kernel
private. Adjusted all affected Jamfiles and source in the standard x86
build accordingly. The build for other architectures and for test code
may be broken.
* Quite a bit of userland code still includes private kernel headers.
Mostly those are <util/*> headers. The ones that aren't strictly
kernel-only should be moved to some other place (maybe
headers/private/shared/util).


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


# 404a0fea4653b894fabf4d5fee8e73df7bf84e75 16-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Second stab at reorganizing standard/gcc headers. This time it not only
builds on Linux with gcc 2 and 4, but the images do even run. :-) Not
tested on BeOS.

* Removed stddef.h and stdarg.h. They are provided by the compiler.
* Adjusted size_t.h, wchar_t.h, and wchar.h accordingly.
* Made stdio.h avoid gcc 2.95.3's fixincludes hack stdio_va_list
* Added gcc 2.95.3 headers to the repository. They are used instead of
the headers of the gcc 2.95.3's we use to compile Haiku with. Should
avoid build problems with the BeOS native compiler.

For sake of personal recreation you can rebuild the cross gcc 2.95.3,
but the only thing that changed is its header directory
(lib/gcc-lib/.../include), which isn't used anymore. Replacing it with
headers/build/gcc-2.95.3 should have the same effect as rebuilding, BTW.


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


# d8ce64a27f34d45ca40fa3ab92f32602ecb717a6 15-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Reverted r24406. If it builds, it doesn't always work as well. The
change resulted in "version mismatch between boot loader and kernel". So
apparently the size of some type changed unintentionally.


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


# 6191d9a8da5f223a2f610efe56f09f4d86857aa3 15-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed our stddef.h. We don't need it, since gcc comes with one that
under Haiku overrides ours anyway.
* Adjusted size_t.h, wchar_t.h, wchar.h accordingly. This should fix the
annoying "ssize_t redefined" warnings when compiling under Haiku.
* When building Haiku the gcc headers come first in the include
search path now, as it should be. The respective TODO suggested that
this might break the build depending on compiler version and host
platform. I've tested with Linux gcc 2 and gcc 4, which work fine.


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


# 063ebe49aef93996a889b23318a467ba67a7e461 14-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the headers/os dir to FStandardOSHeaders and FStandardHeaders.


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


# 8535c47c30aa992360e88646e632320c6a45e8cc 14-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

PublicHeaders always added the header/os directory too. Let's see, what
removing it will break...


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


# 5378efc0db5a8835f735d2675ce43b5150236771 09-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

New rule UsePrivateKernelHeaders. It adds header/private/kernel as well
as all directories that might be needed by private kernel headers (arch,
platform,... headers).


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


# 2660d61ad6ba8b7165a589046de77a435845db38 12-Jun-2007 Ryan Leavengood <leavengood@gmail.com>

As I said I would:

1. Deleted headers/shared/
2. Added a Jamfile to src/shared to build it into a static library libshared.a.
3. Removed my changes in the build/jam directory.
4. Have ShowImage include libshared.a.

I forgot to add AboutWindow.h to headers/private/shared. I will do that next.



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


# 5a1210fbeffef1010c67193dc7faff4d34369b71 11-Jun-2007 Ryan Leavengood <leavengood@gmail.com>

Moved the BAboutWindow implementation to the shared source directory, which
despite being talked about repeatedly, does not currently exist.

Adding this required adding some new Jam rules to deal with this shared source
directory and headers. I had some fun figuring this out. Despite writing
articles about Jam in the Haiku newsletter a few years ago I still find Jam to
be a PITA at times.

But my solution seems to work pretty well. Basically you just call the rule
UseSharedSource and pass the name of the shared source file you want to use.
This rule sets up the header directories and the right Jam variables for the
source file. You then add the source file to the source list in the Application
rule like any other source file.

I also made the authors list sent to the about window constructor null
terminated instead of passing the size of the array, as suggested by Hugo.


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


# 48d60fa69c533fc094eac4adedf9e18cce3f4d3d 03-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced new build system features: The variable HAIKU_DONT_INCLUDE_SRC to
turn off the inclusion of src/Jamfile, and the rule DeferredSubInclude to
include a subdirectory in UserBuildConfig. Together they allow a developer
working on a subproject to reduce jam's parsing time when only building the
subproject. Relevant mostly on BeOS; on Linux jam is pretty fast anyway.


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


# e4f35acf7c780f50e5f4ca4fc664b6c6806e8fbf 09-Jun-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added new (currently private) API class BMimeSnifferAddon,
representing the interface for, well, MIME sniffer add-ons.
* Implemented the respective add-on manager and make use of it in
the MIME database code. Unfortunately the MIME DB code completely
lives in libbe.so and hence I had to put my code there too.
IMHO we should (one day) remove the direct (read-only) MIME DB
access from libbe and move everything into the registrar.
Currently the add-on manager supports built-in add-ons only; it
doesn't really load anything from disk ATM.
* Added a built-in text sniffer add-on to the registrar. It's based
upon the BSD file tool code.

This closes bug #250 (plain text files are identified as such, now).



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


# 79b73cd9d28b2a42a06479ab079ac918f24c474e 31-May-2006 Oliver Tappe <zooey@hirschkaefer.de>

- UseLegacyHeaders now accepts a list of sub-folders all of which will be
added to the search path


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


# cc094b2cb8924b5fde419203079605d10933847a 11-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added TODO.


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


# f187f73e147346b9cae609280df46c9a1236456a 03-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Added (currently still empty) dir headers/legacy for legacy headers and rules
UseLegacyHeaders and UseLegacyObjectHeaders to use them.


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