History log of /haiku/Jamrules
Revision Date Author Comments
# 9d87b2c5 15-Sep-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

Revert "Jamrules: Include the UserBuildConfig before processing repositories."

This reverts commit 7115cef98944c1bd53960441894010b1f60811b9.

It prevents using UserBuildConfig to decide what packages gets included
in the resulting image.


# 7115cef9 13-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Jamrules: Include the UserBuildConfig before processing repositories.

Repository processing triggers HAIKU_REVISION computation, and it
is intended that the UserBuildConfig can override or set HAIKU_REVISION.

Fixes #14834.


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


# f2b20de6 02-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

Jamrules: Fix instantiation of HAIKU_ABSOLUTE_OUTPUT_DIR.

That's what I get for copy-pasting without reading over what I
just did...


# 68191643 02-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Add HAIKU_ABSOLUTE_TOP and use it to root BootArchive.

Strictly POSIX-compliant shells (like dash) do not allow sourcing
files in the present directory without "./". The script really should
not know or care about what directory the passed files are in,
so now we add a jam grist to make the passed paths absolute.

Fixes the build on all systems where /bin/sh is dash or a similarly
POSIX-compliant-no-extensions shell (i.e. virtually all Linux.)


# c52d856e 01-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

Jamrules: Permit (but don't advertise) support for any relative path.

This allows fully "shadowed" builds to work, as the buildbots do.


# f7b5d8a1 01-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

Jamrules: Print the path to the repository root in the error case.


# 3facc270 01-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

Jamrules: Force HAIKU_TOP to be relative.

Prior to hrev47631 (2014), HAIKU_TOP was relative when jam was invoked
from the repository root, and not relative when jam was invoked from
any other location, including "generated." In hrev47631, Jamrules
was changed to be as it was before this commit, in order to fix #11101
(Haiku repository creation failed due to the use of relative paths.)

GCC, however, injects the full path passed to the compiler into some
symbols under certain circumstanes (anonymous namespaces, for one),
and so a relative path for more reproducible builds is preferred.
It seems the aforementioned bug is no longer with us, as a full image
build that I did with this change worked just fine.

Note that you will have to run "configure --update" after this
in the case that you usually invoke "jam" from the generated directory,
as the Jamfile configure generated included absolute paths. (The reminder
to do that this diff includes can be removed after some reasonable amount
of time.)


# dd9b4a3f 22-Jun-2015 Augustin Cavalier <waddlesplash@gmail.com>

build: delete DocumentationRules.

These were only used as an experiment for converting coreutils
manpages to different formats, and as coreutils is no longer in the
tree, they aren't used.


# 63cc5547 06-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Fix #11101: Broken Haiku repository creation.

* Invoking jam from Haiku's checkout directory (instead of the output
directory) caused the repository creation to fail because of relative
paths to package files being used. Now we make sure that HAIKU_TOP
is an absolute path to avoid problems like these.


# ed25955a 26-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Add SystemLibraryRules.

* This file contains jam rules for getting the different versions
of libgcc, libsupc++ and libstdc++ used throughout Haiku's
build system.
* Additionally, there are rules for accessing the c++ headers
and the gcc headers.
* These rules are included by Jamrules, but not yet used anywhere.


# e6d5152f 16-Jun-2014 Oliver Tappe <zooey@hirschkaefer.de>

Make all directories overridable by environment.


# a8c098a3 22-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Replace HAIKU_{BOOTSTRAP,MINIMUM}_BUILD with HAIKU_BUILD_TYPE.

* Instead of separate variables, HAIKU_BUILD_TYPE is set to one of
'bootstrap', 'minimum' or 'regular'.
* Adjust uses of HAIKU_BOOTSTRAP_BUILD accordingly.


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

Move build feature rules to separate file


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


# c0e8cc1a 25-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: prepare for hybrid support

The goal is to do hybrid builds in a single jam (instead of calling a
sub-jam to build parts with the secondary tool chain). This changeset
adds support to configure to prepare multiple tool chains.

configure:
* Merge option --build-cross-tools-gcc4 into --build-cross-tools. The
option does now always require a packaging architecture parameter,
i.e. x86_gcc2 for the legacy tool chain.
* Multiple occurrences of the --build-cross-tools and
--cross-tools-prefix options are allowed. The first one specifies the
primary tool chain, the subsequent ones the secondary tool chains.
* All architecture dependent jam variables are now suffixed with the
name of the packaging architecture. The new HAIKU_PACKAGING_ARCHS
contains the packaging architectures for the prepared tool chains. The
first element is for the primary tool chain.
* No longer generate a separate libgccObjects file. Just put the
respective variable into BuildConfig as well.

build_cross_tools[_gcc4]:
* Replace the <haiku output dir> parameter by a <install dir>
parameter. This allows to create different cross-tools directories.
They are simply suffixed by the packaging architecture.

Jamrules:
* For the moment map the variables for the primary tool chain to the
respective suffix-less variables, so that everything still works as
before.

The next step is to actually support the secondary tool chains in the
jam build system. This will require quite a bit more butchering, though.


# e173a1ec 20-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Integrate building the HaikuPorts bootstrap packages

* Add configure option --bootstrap which allows specifying the
haikuporter and HaikuPorts repository paths.
* Add rules for supporting a second repository type. The
PackageRepository rule is now private and RemotePackageRepository is
used for remote repositories. The new BootstrapPackageRepository rule
is for defining a bootstrap repository (there will probably be only
the HaikuPorts cross repository) whose packages can be built as needed
via haikuporter.
* Rename DownloadPackage to FetchPackage.
* Define repository HaikuPortsCross.
* HaikuCrossDevel package(s): There are now two sets of packages: A
"stage1" set with the same content as before and a final set
additionally containing the libraries libbe, libnetwork, libpackage.
Those are needed for building the libsolv bootstrap package while for
building them we need other bootstrap packages (ICU, libz).

This is basically all that's required to build a bootstrap Haiku
completely from sources, with a few caveats:
* There's no ICU bootstrap recipe yet (so one has to cheat and use the
prebuilt package ATM).
* Probably doesn't work on Haiku yet (tested on Linux only).
* A 32 bit environment must be used (otherwise building the gcc 2
bootstrap package fails).
* Building with multiple jobs doesn't work yet, since haikuporter uses
common directories for building different packages and there's no
explicit serialization yet.
* Haven't tested the resulting image save for booting it. So it probably
needs a bit more work before it can actually build the final
HaikuPorts packages.


# b9eec519 20-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Include DefaultBuildProfiles earlier

DefaultBuildProfiles is now included earlier (right after BuildSetup).
This allows us to set HAIKU_BOOTSTRAP_BUILD earlier, so it can be used
for the repository selection. The actual build profile definitions,
which cannot be done that early, live in the rule
DefineDefaultBuildProfiles, which is invoked where the file was
previously included.


# ec945b7f 07-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

ReleaseBuildProfiles -> Default*, add bootstrap profiles


# d72ce066 05-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjust to changed HaikuPorts repository layout

The package kit actually requires the files "repo", "repo.info",
"repo.sha256" to be located under the repository base URL, so the
approach to name the repository file "repo-<hash>" doesn't work.
Now there's a directory "<hash>" which contains the files.

This commit moves the computation of the hash and downloading the
repository file from the build_haiku_image script to the jam build
system. The repo.info is also downloaded and a repository config file
is generated.


# 98c6dfa4 05-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Switch build system from optional package to repositories

* Build libsolv and the dependency solver part of the package kit for
the build platform.
* Add build tool get_package_dependencies. Given a list of package files
and a list of repository files it determines the additional packages
that need to be retrieved from the repositories and prints their URLs.
* Add rules to work with external repositories in the build system
(build/jam/RepositoryRules):
- PackageRepository declares an external repository with all its
packages. The URL of the repository file isn't specified. It is
computed from a given base URL and the SHA256 hash of the list of
package files.
- GeneratedRepositoryPackageList generates a file containing the file
names of all packages in a repository.
- IsPackageAvailable returns whether a package is available in any
repository.
- PackageURL returns the URL for a package.
* Declare the HaikuPorts repository for x86_gcc2
(build/jam/repositories/HaikuPorts/x86_gcc2).
* Add rule AddHaikuImagePackages to add a package to the image and rule
IsHaikuImagePackageAdded to determine whether a package has been
added.
* OptionalPackages: Remove all entries that just downloaded and
installed an external package. AddHaikuImagePackages can be used
instead and is used in the remaining entries. Also move the remaining
optional package dependency declarations from
OptionalPackageDependencies here.
* ExtractBuildFeatureArchives: Instead of the URL parameter a package
name must be specified now. This allows to simplify BuildFeatures
significantly, since there's no dealing with URLs anymore. "if" out
the entries that aren't supported yet.
* build_haiku_image: For the packages installed in system and common
resolve their dependencies and download and install them as well.


# 65ad1ba3 26-May-2012 Alex Smith <alex@alex-smith.me.uk>

Made it possible to build the bootloader when targetting x86_64.

* x86_64 is using the existing *_ia32 boot platforms.
* Special flags are required when compiling the loader to get GCC to compile
32-bit code. This adds a new set of rules for compiling boot code rather
than using the kernel rules, which compile using the necessary flags.
* Some x86_64 private headers have been stubbed by #include'ing the x86
versions. These will be replaced later.


# 38847644 11-May-2012 François Revol <revol@free.fr>

Include BoardSetup from BuildSetup

* while it seemed to work before, BuildSetup was actually adding includes from the default boot platform, before BoardSetup had a chance of changing it.


# 65bce31e 17-Mar-2012 Jérôme Duval <jerome.duval@gmail.com>

Freetype: FreetypeRules isn't needed anymore.

* fixed copy of freetype headers, now part of the optional package.


# 0a53d94b 26-Sep-2010 Matt Madia <mattmadia@gmail.com>

Introduced a new variable HAIKU_CATALOGS_OBJECT_DIR. The catkeys and catalogs
are stored in signature-based subdirectories. This improves upon r37871 and
should allow BOM to properly harvest catkeys for online translation tools.


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


# 413a591c 26-Sep-2010 Matt Madia <mattmadia@gmail.com>

80-char clean up. No functional change.


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


# b891b0ac 23-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* broke out locale-related jam rules into their own file, LocaleRules
* made locale build tools shut up about anything except warnings or errors


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


# 634d2297 05-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Added default build profiles "anyboot-image" and "cd-image".


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


# 1467a878 26-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* bonefish: Cleanup.


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


# feb750d3 12-Aug-2009 François Revol <revol@free.fr>

[ARM]
- consolidate board specific definitions into build/jam/board/*/BoardSetup to avoid duplicating address values everywhere,
- add various addresses, boot script, custom C/C++ flags and SD card definition,
- not sure BoardSetup is included at the best place though,
- replaced board-specific ldscript with passing the loader address directly to LD from BoardSetup,
- added haiku.mmc target which generates an mmc/SD card image with a FAT partition with the files needed to boot for the board, should later be integrated with haiku.image with the BFS partition offset passed to bfs_shell, requires apt:sfdisk,mtools on GNU/Linux,
- added some more rules, one to build a script for the SD image,
- fake a NetBSD loader for now, U-Boot doesn't know haiku, and we'll need a way to pass the tgz image and RAM size, we'll either use standlone way (usual C argv[]) or the NetBSD args,
- style fixes,
- 80 cols, /me pets Ingo.


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


# a4a52ab2 26-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

New build system variable HAIKU_IGNORE_USER_BUILD_CONFIG to prevent inclusion
of the UserBuildConfigs.


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


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

* Moved the optional package dependency definitions into the new
build/jam/OptionalPackageDependencies and include it earlier (before the
Jamfiles).
* Introduced build/jam/OptionalBuildFeatures which is supposed to do the setup
for optional build features that need it.
* Renamed USE_SSL to HAIKU_BUILD_FEATURE_SSL and made it more intelligent.
The OpenSSL optional package is downloaded and unzipped automatically when
enabled. Switching between enabled/disabled HAIKU_BUILD_FEATURE_SSL is
handled gracefully -- the concerned components are built in separate
subdirectories. Adding the OpenSSL optional package to the image also enables
HAIKU_BUILD_FEATURE_SSL.


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


# e2c3dec9 14-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Preliminary support for building ISO only Haiku CDs. Not working completely
clean yet. Provides a haiku-cd target and creates a bootable image using mkisofs.


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


# d5ec51ca 08-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Allow for a separate UserBuildConfig directly in the output directory (i.e.
generated). When not using build profiles this allows for separate configuration
per output directory. When using build profiles you could for example have a
different profile per output directory with the same name (so an @disk with
different settings per output dir for example).


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


# 30ed37c8 02-Dec-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced rules UserBuildConfigRulePostBuildTargets,
UserBuildConfigRulePreImage, and UserBuildConfigRulePostImage which will be
invoked at different points in the build system execution. They can be
overridden in UserBuildConfig, thus allowing for executing user code at
those points.


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


# 889903f9 23-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

BuildConfig needs to be included before any other rules file. That's why
the wrong Link actions were used (always the no-attributes-support ones
which remove the target first), for instance.


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


# a679600d 22-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Followed Ingo's suggestion, and put the alpha build profiles (for raw and
vmdk images) into the new ReleaseBuildProfiles file.


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


# 96b421b8 05-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for "optional packages". Those can be defined in
HaikuImage and enabled individually using the
AddOptionalHaikuImagePackages rule or all at once by setting
HAIKU_ADD_ALL_OPTIONAL_PACKAGES. In principle an optional package can
be any kind of addition to the Haiku image, but usually a zip file will
be downloaded from somewhere and unzipped onto the image. I've added a
WonderBrush package as an example.


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


# a970df44 29-Jun-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Include HaikuImage after the Jamfiles, so they can provide/adjust info
relevant for the image creation.
* The CopySetHaikuRevision propagates the value of the
HAIKU_INCLUDE_IN_IMAGE variable from the source to the target.
* Propagate the value of HAIKU_INCLUDE_IN_IMAGE from "kernel" to
"kernel_$(TARGET_ARCH)".

Now "jam update-install kernel" should work as expected.


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


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

Added rules for performing basic integer arithmetics (+, -, *). The rules
operate manually on digit lists, so they are certainly not fast and shouldn't
be used excessively, but at least it's possible to do calculations in Jam now,
should the need arise.


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


# 9ddc1886 22-Feb-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Removed now unused HaikuPXE file, that triggered a "Parse error at EOF" warning on some builds.


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


# 83bf699b 27-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

some build fixes for pxe_ia32 platform


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


# b2811156 01-Sep-2005 Jérôme Duval <korli@users.berlios.de>

update to freetype-2.1.10


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


# e0e43511 20-Aug-2005 Andrew Bachmann <andrewbachmann@nowhere.fake>

remove MakeLocate and MkDir1 which are in our Jambase. (make sure your jam is up to date from svn!)

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


# 200c6baf 20-Aug-2005 Andrew Bachmann <andrewbachmann@nowhere.fake>

fix mkdir with spaces bug. change target directory based on debug and target platform. remove version variable and its one usage in target directory.

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


# 80cb793d 06-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Now you can define the environment variable NO_LIBRARY_DEPENDENCIES to
avoid all dependencies on libraries (that have been specified with
LinkSharedOSLibs or a rule that uses it).
This means you can now run a
NO_LIBRARY_DEPENDENCIES=1 jam MyApp
to build MyApp without updating any library MyApp depends on, even if they
have changed. This is a feature for people who know what they are doing to
speed up development.


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


# ad3ffd12 04-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

BuildPlatformMain now uses the original DEFINES. Otherwise we e.g. get __HAIKU__ although compiling under R5.

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


# 00173907 26-Jun-2005 Philippe Houdoin <philippe.houdoin@gmail.com>

Add dependency to the pseudotarget 'obj' to improve MergeObjectFromObjects rule.
Thanks to Ingo for the hint.



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


# 0e16d351 17-Jun-2005 Jérôme Duval <korli@users.berlios.de>

Reverted Jambase to keep jam compatibility
StaticLibraryFromObjects is a copy-paste of LibraryFromObjects without grist on source files


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


# 1cc148a9 14-Jun-2005 Jérôme Duval <korli@users.berlios.de>

added opengl to SetupInclude
StaticLibrary now accepts static libraries to include (note that jam should be rebuilt)
LibraryFromObjects doesn't FGristFiles now, but Library does


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


# 18c3ce07 07-Jun-2005 Jérôme Duval <korli@users.berlios.de>

added a resource parameter to Preference rule
updated Jamfiles to take this into account


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


# f35b607d 14-May-2005 Jérôme Duval <korli@users.berlios.de>

docbook files go in objects dir
added a doc_files target
spaces in directory names don't please path xsltproc syntax


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


# 95086a3e 13-May-2005 Jérôme Duval <korli@users.berlios.de>

added Man2Doc rules


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


# 1ac083d9 02-May-2005 Andrew Bachmann <andrewbachmann@nowhere.fake>

add NETAPI_LIB and use it to build HP JetDirect printer transport

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


# d67e6bc8 11-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed the build of several network apps under R5:
- removed libnetapi.so from $NETWORK_LIBS - it's not used by anyone anyway,
and it's definitely not necessary to link against it by default.
Note, this might cause problems in some of the mail add-ons; I haven't
tested this.
- route/ping/... now also link against $SELECT_UNAME_ETC_LIB

makehdimage should now work again under all BeOS platforms.


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


# 99801d4a 06-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added variables KERNEL_C++_SUPPORT_LIBS and STL_HEADERS to aid support
for building under Linux.
* Tried to get the header setup into a shape that would allow us to build
under Linux with gcc 3.x. But I give up for the moment. The C++ support
headers don't seem to be separate from the STL headers, which makes it
virtually impossible to use our STL together with gcc 3.x.
Worse, I don't even think, how we build under BeOS at the moment is
correct. The _G_config.h (glibc configuration) header is included from
some public headers, but is itself not made available. This causes the
R5 header to be used, which belongs to a completely different glibc
version. But when building our libroot we use the new header. I wouldn't
be surprised, if that could cause all kinds of subtle problems. Maybe
even the STL string problem I encountered recently.


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


# 979afc6f 05-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Exchanged -no-fpic with -fno-pic - AFAICT these should be the same, but
GCC/ppc only understands the latter (more correct) version.


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


# 3844cf70 03-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* New variable DEBUG_FLAGS which can be used to specify the gcc debug
flags to be used. Defaults to -g. You might want to use -ggdb with
gcc 3.x.
* Added variable C++_SUPPORT_LIBS. Is set to sup++ for gcc 3.x.
* ResComp can be built under BeOS only at the moment.
* Define _NO_INLINE_ASM when building for the build platform. Is not
strictly necessary under BeOS, but helps under Linux.


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


# 8dc98d6d 02-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

BuildPlatformMain has a new boolean parameter to disable resetting the header search paths.


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


# 16df6702 10-Feb-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed UseArchHeaders.


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


# bc10030e 29-Jan-2005 Philippe Houdoin <philippe.houdoin@gmail.com>

Added lib[b]netapi.so to NETWORK_LIBS.


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


# b8ab94fa 25-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

An even nicer solution for the UnarchiveObjects actions.


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


# 271174f2 25-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed the UnarchiveObjects rule so that it can handle any extensions (and
not just .o - newer GCC releases seem to have .oS objects in libgcc.a).


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


# b1e5b60c 25-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Divided BuildConfig into three files: BuildConfig, Timezones, and libgccObjects.
That makes fine tuning any of them a nicer experience.
You have to rerun ./configure in order to build anything.


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


# b217d989 17-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Removed now unnecessary comment.


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


# d5807053 15-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Now the DEBUG_PRINTF variable can be set to cause the macro
DEBUG_PRINTF to be defined.
* Fixed KernelAddon rule: Now not the file but the target kernel.so is
specified for linking the add-on against, which results in proper
dependencies. Axel: Want to clarify the ToDo comment?


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


# 025d0733 23-Dec-2004 Jérôme Duval <korli@users.berlios.de>

It seems libRK and libCanna don't like this CCFLAGS position
Hope it doesn't break anything


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


# 4d74cda3 20-Dec-2004 Axel Dörfler <axeld@pinc-software.de>

__HAIKU__ is now always defined for the kernel build rules.


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


# c4071913 11-Dec-2004 Matthew Wilber <mwilber@nowhere.fake>

Added rule for building screen savers


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


# 2506bbb6 28-Nov-2004 shatty <shatty@nowhere.fake>

utilize SELECT_UNAME_ETC_LIB


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


# a104c31b 28-Nov-2004 shatty <shatty@nowhere.fake>

define __HAIKU__ for haiku target platform


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


# 39a01fbb 21-Nov-2004 shatty <shatty@nowhere.fake>

allow resources as a fourth argument to the App rule, similar to the BinCommand


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


# 6040be99 20-Nov-2004 shatty <shatty@nowhere.fake>

use NETWORK_LIBS for linking, define BUILDING_R5_LIBNET if necessary


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


# 081debe8 19-Nov-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed treatment of source files in UseArchObjectHeaders and SourceHdrs. Grist/object suffix were not set correctly.


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


# 94a49b21 18-Nov-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed SetupKernel. SourceHdrs is best invoked on source files, otherwise
HDRSEARCH won't be set on the sources which may cause header dependencies
to be missing.


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


# 4bb19442 11-Nov-2004 shatty <shatty@nowhere.fake>

remove global activation of COMPILE_FOR_R5 based on TARGET_PLATFORM ; require TARGET_PLATFORM to be set


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


# 69f792c6 01-Nov-2004 Jérôme Duval <korli@users.berlios.de>

added COMPILE_FOR_R5 flag for C too


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


# c0e501e0 28-Oct-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled the subdirectory specific part out of SetupKernel and changed the remaining functionality to really apply to objects. This does now really give us those headers and flags whereever we use a *Kernel* rule, unlike before. Added the root dir of the private headers to the general header search dirs. This simplifies some things a bit (like using syscalls.h).


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


# df48dfed 28-Oct-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Generally enable RTTI in the kernel -- by linking against libgcc.a we get it for free. Better recompile the complete kernel or you might get linker errors when using old objects with missing type_info. For the boot loader we'll have to explicitly disable RTTI though -- respective commits follow...


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


# a17b9c0c 25-Oct-2004 shatty <shatty@nowhere.fake>

improved platform targeting


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


# 894d1636 24-Oct-2004 shatty <shatty@nowhere.fake>

define ARCH_ppc for TARGET_CPU ppc, ARCH_x86 for TARGET_CPU x86


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


# b560211b 23-Oct-2004 shatty <shatty@nowhere.fake>

use LocalDepends for packages instead of Depends


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


# be1aef42 17-Oct-2004 shatty <shatty@nowhere.fake>

when target platform is r5, define COMPILE_FOR_R5


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


# 53cf6d7a 10-Sep-2004 Axel Dörfler <axeld@pinc-software.de>

Added a BUILD_LIBSTDC++ variable for apps that have to run in the build
environment and have to link against libstc++.


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


# 121af366 28-Aug-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed FObjectsDir to FCurrentObjectsDir and introduced a new FObjectsDir.


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


# c3f13647 13-Aug-2004 Axel Dörfler <axeld@pinc-software.de>

Removes grist from StdBinCommands targets. You're now easily able to build
specific commands only.


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


# 6f43f04d 10-Aug-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed LinkStaticOSLibs. It wasn't used, and LinkSharedOSLibs is the rule that rulez anyway. ;-)


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


# 3c71865a 02-Aug-2004 Axel Dörfler <axeld@pinc-software.de>

The UnarchiveObjects rule now works with R5's "ar" as well.
Now uses jam's ":D" variable expansion instead of "dirname".


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


# 705fc998 05-Jul-2004 Axel Dörfler <axeld@pinc-software.de>

Adds grist to the LIBGCC_OBJECTS files.
Added UnarchiveObjects rule that dearchives "ar"-archives.


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


# cec8c8b5 27-Jun-2004 Jérôme Duval <korli@users.berlios.de>

moved from .cpp.h to .hpp for bison generated header, still compatible with R5 bison


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


# 9ec866cc 22-Jun-2004 DarkWyrm <darkwyrm@gmail.com>

Added a directory to the FT_LIB build rule to account for LXW stream support added in 2.1.8


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


# 79b49834 15-Jun-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Refactored rule SetupObjectsDir. New rule FObjectsDir.


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


# 2abad45e 12-Jun-2004 beveloper <beveloper@nowhere.fake>

Allow compiling unit tests on Zeta. Instead of fixing the PostMessage()
issues, they deprecated that nice function. This will enable it again.


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


# 600203b1 07-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

Added the ability to link against static libraries for both, the R5KernelAddon
and the KernelAddon rule.


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


# 99b8dab3 07-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

Added the "app" directory to the kernel includes to be able to access
AppDefs.h (for B_QUERY_UPDATE, etc.).


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


# 11fa3682 01-Jun-2004 Jérôme Duval <korli@users.berlios.de>

BinCommand and StdBinCommand rules now accept a resource file


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


# aa19f785 20-May-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added the __INTEL__ define in the Jamrules. That way, it's easier to compile on platform different from BeOS (i.e. linux)


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


# 811903d1 19-May-2004 Axel Dörfler <axeld@pinc-software.de>

Added a rule that builds a kernel add-on which links against our kernel.
That makes it possible to use functions not available in the original R5
kernel.
Might be a hack, but it seems to work.


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


# e91f3ca1 06-Mar-2004 beveloper <beveloper@nowhere.fake>

Added a new Jamfile rule, called SubIncludeGPL, which can be used to conditionally
include GPL licensed add-ons into the build. As GPL licensed add-ons may not be
used with non GPL compatible applications, this rule normally is not invoked when
building the tree. However, if the user is sure that he only uses GPL compatible
software, he can use the new ./configure option --include-gpl-addons to enable
the including of GPL licensed addons that are integrated by SubIncludeGPL instead
of SubInclude.


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


# ea7627e5 15-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

I believe these must be defined for the kernel build. I have no idea
why they weren't yet - BTW this fixes the boot_loader build.
If anyone has a better idea about _KERNEL_MODE, please yell!


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


# 8042d2a0 27-Jan-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

More space in paths awareness.


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


# 15716fdd 19-Jan-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

Space in path awareness...


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


# 82bec102 06-Jan-2004 shatty <shatty@nowhere.fake>

grist is required for the non-zipped files in order to distinguish between the README.html for neomagic vs. nvidia, for example


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


# bacf6872 30-Dec-2003 shatty <shatty@nowhere.fake>

fix for constantly rebuilding app_server


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


# c06f365f 23-Dec-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added jam 2.5 rc3 MakeLocate rule.
* Fixed the Package* rules.


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


# 5c413522 22-Dec-2003 shatty <shatty@nowhere.fake>

fix local depends in Copy and zip up symlinks properly in PackageInstallZip


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


# 51fe1be4 22-Dec-2003 shatty <shatty@nowhere.fake>

tracker-friendly install script


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


# 9b7a4b5d 18-Dec-2003 shatty <shatty@nowhere.fake>

simple alpha/beta tester packages version 1


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


# 7669b69f 02-Dec-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a new flag to the parameters of the *SymLink rules specifying
whether or not the symlink shall be made a dependency of the pseudo target
`files' (i.e. will be made by default) and shall be removed upon `jam
clean'.
Fixed the symlink installation rules to always pass `false' for this param.


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


# 2fbd7065 02-Nov-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added another parameter to the *MergeObject* rules, through which libraries/objects to be merged can be passed, whose names won't be gristed.


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


# 60c9c40f 30-Oct-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Whoa, it seems I completely forgot to check that in.
* Changed StaticLibrary and SharedLibrary to allow grist for the
library name. It will be appended to the constructed name.
* Changed the default of the third parameter of StaticLibrary to
the objects directory. Moreover the literal string STATIC_LIBRARY_DIR
can be supplied in which case the respective directory in the distro
tree is used. Other values are used unmodified.


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


# bbb6f2d4 12-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Lets the boot loader compile under GCC 3 (and possibly other C++ kernel
components).


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


# 8c17a26b 12-Oct-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The configure script now sets the variable GCC_RAW_VERSION which is
parsed in Jamrules into a list (`.' and `-' are considered delimiters)
written into GCC_VERSION. E.g. for the GeekGadgets compiler expect
GCC_VERSION to be set to `2 9 beos 000224'. So, GCC_VERSION[1] should
contain the major version, GCC_VERSION[2] the middle one.


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


# b8b44e7a 07-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Added the platform depending headers to the SetupKernel headers.


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


# b8baf385 15-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Just another fix to LinkSharedOSLibs: Jam's :B selector does, per definition, not include the suffix. That's why the checks for *.a and *.so wouldn't work.


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


# 728b5725 11-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

ObjectDefines is safe to be called on one file at ones only. So is
ObjectHdrs.
* Introduced a rule ObjectsDefines which is safe to be invoke with more
than one file and replaced ObjectDefines where it was used wrongly.
* Fixed SourceHdrs which used ObjectHdrs wrongly.


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


# e9230d05 11-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed the target directory for static libs distributed with the system. Is develop/lib/<platform> now, as is under R5. Added an optional third parameter to StaticLibrary, which specifies the target directory for the library -- defaults to the just fixed standard directory.


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


# f1e077f8 04-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Since we enable KEEPOBJS, the Library rules doesn't make the libraries a dependency of "lib". Since the StaticLibrary rules is supposed to build the static libs distributed with the system, we explicitly add the missing dependency there.


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


# 65c62a01 26-Aug-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Semantical changes to the DEBUG and WARNINGS variables. Both do always have a value now; 0 or 1. WARNINGS defaults to 1, i.e. warnings are enabled by default, now.


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


# d5b07cf2 15-Aug-2003 shatty <shatty@nowhere.fake>

fixed destination directory for translators


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


# 505554b4 30-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added variables for etc and fonts dir.


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


# 007eb5f2 16-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added "-soname=_APP_" to the linker flags of the high-level rules building applications. Also added a third parameter, <libraries>, where it was missing.


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


# a8cd0719 13-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

LinkSharedOSLibs now strips the grist <nogrist> off targets. Otherwise one couldn't use target names that don't have a grist (like applications, against which their add-ons need to link).


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


# e29d8533 24-Jun-2003 Axel Dörfler <axeld@pinc-software.de>

Renamed OBOS_BOOT_LIB to OBOS_BOOT_PLATFORM


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


# 9fcaa61d 24-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a BuildPlatformTest rule for building tests that shall run on the build platform..


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


# 966528dc 23-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the implementation of UsePublicHeaders again.


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


# 57ec89d1 17-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed definition of AR as 'ar t'. Default is 'ar ru', which should be just fine. If anyone experiences problems don't hesitate to tell me.


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


# 7bc56df1 17-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

CP = copyattr --data, under BeOS. Added general installation rules OBOSInstall, OBOSInstall{Abs,Rel}SymLink.


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


# 2dd47f63 19-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Missing grist in SetupKernel.


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


# c8aa252a 19-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed Depends in MergeObjectFromObjects


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


# 98cc804c 18-May-2003 Axel Dörfler <axeld@pinc-software.de>

Added KERNEL_C++FLAGS to define -fno-exceptions and -fno-rtti for kernel
objects automatically.
Also added a new OBOS_BOOT_LIB variable - might be changed again in the
future, though.


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


# dbf96817 17-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a rule R5KernelStaticLibrary.


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


# dd22481e 12-May-2003 Axel Dörfler <axeld@pinc-software.de>

The DEFINES variable doesn't contain the "D" from the option name (-D...).


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


# 5dc4e1ef 11-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed SystemMain to BuildPlatformMain and adjusted it to use the build platform headers for compilation.


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


# 09c5682d 05-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The platform dependent header dir is explicitly included now. Changed the libgcc.a handling a bit. Re-run configure!


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


# c9882d9e 03-May-2003 Axel Dörfler <axeld@pinc-software.de>

TARGET_CPU can now be set externally if needed.


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


# 1f622a7b 03-May-2003 Axel Dörfler <axeld@pinc-software.de>

The Jamrules now support different build platforms (at least in theory).
The PPC version can now be built - but of course, it doesn't work yet.


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


# 0f434a0a 29-Mar-2003 DarkWyrm <darkwyrm@gmail.com>

The mother of all commits. :P
Unremoved zlib and added libpng to public libs (C'mon DW, make up your mind... ;^)
Added screenshot support to app_server
Added full keyboard message support to app_server
Added UseLibraryHeaders and LibraryHeaders rules to jamrules
Updated ColorUtils to convert uint32 colors to rgb_colors
BAppServerLink now autolocks client-server communications on the client side (as it should)
app_server now also juliennes and makes french fries. Yum.


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


# 83b3b0df 23-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added optional libraries parameter to Addon rule.


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


# 6af76074 17-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Uh, rc does not always append .rsrc to the output file, but only if it is missing. Adjusted ResComp actions.


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


# 8d3308d9 17-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added a Bison and a LexC++ rule.
* Override the Jambase version of the Object rule to optionally generate
intermediate .cpp instead of .c files for .y and .l input. The
GENERATE_C++ variable must be set to enable that behavior.
* Added a ResComp rule using the shiny new rc to compile .rdef files into
.rsrc files.
* Adjusted AddResources to accept both, .rsrc and .rdef files. The rule
also grists the input files now, avoiding problems with equally named
resource files in different directories.


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


# f7901247 14-Jan-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Allow to link shared objects against the pseudo image name _APP_ and _KERNEL_.


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


# a8687de4 06-Jan-2003 Axel Dörfler <axeld@pinc-software.de>

Added a _ASSEMBLER define in the assembler rule, so that we can differentiate
in a header if it was included from assembler or not (if anybody knows a better
way how to solve this, feel free to speak, I haven't found anything :).


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


# 9b60a208 08-Dec-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Worked around a Jam problem: The ObjectHdrs rule doesn't adjust the HDRSEARCH variable and thus header files may not be found while header scanning.


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


# 0ff867c2 28-Nov-2002 beveloper <beveloper@nowhere.fake>

if you specify DEBUG as environment variable, the DEBUG macro
will be defined with the same value.


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


# fbd28219 20-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged in FreeType 2.1.2 -> 2.1.3 differences. Resolved conflicts.


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


# 4ff6d49f 19-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added setting of the variables for header and jamfile cache files and moved BuildConfig into build/.


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


# 54b7cbe1 17-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Now MergeObjectFromObjects adds grist to the to be merged objects.


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


# cfc7b456 16-Nov-2002 shatty <shatty@nowhere.fake>

added missing E-mail header and updated os_includes


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


# dd9f8062 15-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed invocations of SetupIncludes for the unit tests and removed the
`-nostdinc' flag from the CCFLAGS and C++FLAGS in R5Objects. The R5 tests
must be compiled with the system header.
* Introduced SetupR5Includes which simply clears HDRS.
* Fixed rule Filter.
* Removed some unnecessary `""' in CCFLAGS and C++FLAGS assignments.


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


# d391d2eb 14-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added AbsSymLink rule.


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


# 80721244 04-Nov-2002 Axel Dörfler <axeld@pinc-software.de>

Added new rules MergeObject, MergeObjectFromObjects, and KernelMergeObject.
Fixed the syntax comment in KernelLd.


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


# 089a0629 29-Oct-2002 beveloper <beveloper@nowhere.fake>

avoid building too long command lines (still not perfect)


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


# 3b4190ab 26-Oct-2002 beveloper <beveloper@nowhere.fake>

simplified, since SetupIncludes can now be called multiple times


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


# 28d2a30e 26-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

oops.. accidentally overwrote changes by Marcus -- they're back in now


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


# be36cede 26-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

added system private header 'libroot' so that headers/private/kernel doesn't become filled with non-kernel library stuff


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


# c00c7b2e 26-Oct-2002 beveloper <beveloper@nowhere.fake>

changed once again to better handle global include directories


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


# 5906bda9 25-Oct-2002 beveloper <beveloper@nowhere.fake>

a bad hack to get cppunit testlibrary build


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


# a6c008e1 23-Oct-2002 beveloper <beveloper@nowhere.fake>

modified to build without external BeOS headers on the host system
(well, nearly)


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


# 21df5945 12-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* MakeLocateObjects: The comment implied that the supplied file names
needed to be gristed, but actually all invocations supplied ungristed
files. The rule does add grist itself now.
* Added SharedLibraryFromObjects rule.
* Fixed a serious bug in ObjectReference.
* Added rules and variables needed for building the FreeType2 library.


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


# 1419ae2b 30-Sep-2002 shatty <shatty@nowhere.fake>

changed ordering of SetVersion and MimeSet to fix application version nuking.


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


# 405439be 29-Sep-2002 beveloper <beveloper@nowhere.fake>

unified Bochs debugging option


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


# 6991af8c 29-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

A link created with RelSymLink is properly removed on a `jam clean\' now. Overrode the Clean actions to support spaces in file names.


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


# b1b72e87 27-Sep-2002 Bruno G. Albuquerque <bga@bug-br.org.br>

Automatically add the Bochs keyboard hack when --bochs-debug is used in the configure script.


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


# 7a384fde 26-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Extended the Addon rule by another parameter: <is executable>. Supply "true" to prevent the usage of the -nostart linker option.


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


# b005dbe3 22-Sep-2002 Axel Dörfler <axeld@pinc-software.de>

Now adds the headers/os directory to all UsePublicHeader rules. It's mostly
done to fix some build issues (BeBuild.h).
If you have a better idea on how to solve this - or a different idea how things
should work, please go on :-)


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


# 96d27465 16-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Now the environment variable NO_TEST_DEBUG can be set to make the rules
that build the tests NOT override the global optimization and debug
settings.


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


# c5ff4aa6 10-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

It became apparent that in order to assure obos tests are run
with obos libs and r5 tests are run with r5 libs, two separate
unit testing programs in different directories would be needed.
Thus UnitTester is now just a shell program that calls the
appropriate unittester/UnitTester or unittester_r5/UnitTester_r5
program.


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


# 9342c27a 06-Aug-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved common code out of the *Test* rules and put it into separate rules (R5Objects, TestObjects).


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


# 4fb5add0 05-Aug-2002 Matthew Wilber <mwilber@nowhere.fake>

added the Translator rule for building Translators


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


# be5af1ba 03-Aug-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added UseCppUnitObjectHeaders rule and replaced UseCppUnitHeaders by UseCppUnitObjectHeaders in unit testing rules. If more than one unit test was built, the cppunit headers were added several times. There are still flags appearing multiple times when compiling an object file that is used for more than one test. But that's not that urgent...


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


# 94782cf7 24-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Made the assemble rule more like As. Why do we need assemble anyway? Any reason not to use As?


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


# 16fa4445 24-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

KEEPOBJS is set now. It makes the Library rule not remove the object files.


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


# 7378dd7f 18-Jul-2002 Axel Dörfler <axeld@pinc-software.de>

Added padding to the floppy disk (for use with VMware) - could be moved
as default padding into the makeflop executable.


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


# 9285de51 17-Jul-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Started migrating Support Kit to new testing framework
+ Migrated BLocker tests.


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


# 0d1cdd94 17-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

DEPENDS -> Depends and a Depends -> LocalDepends in R5TestLib.


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


# d1f6c38f 17-Jul-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Unit testing update:
- Verbosity is now honored globally
- Added BTestCase::Outputf()
- Migrated BNode, BStatable, BDirectory, and BPath tests
- Added CommonTestLib, TestLib, and R5TestLib rules to Jamrules
- Updated Jamfiles for unit testing stuff
- Probably a few other things I've forgotten


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


# 9eea4522 16-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Huh, what happened? Didn't I commit my previous changes?
* Added section for compatibility with original Jam.
* Replaced Clean/Depends with LocalClean/LocalDepends where necessary.
* Added checking of the variable DEBUG. If set compile and link flags are
adjusted to generate info for source level debugger.
* Fixed problem with object specific variable setting: VAR on target += value ;
is equivalent with VAR on target = value ; if VAR has not been set on this
target before, even if the global VAR is set. We need to be careful with
CCFLAGS, LINKFLAGS, LINKLIBS and the like.


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


# 2b94bc7b 15-Jul-2002 lillo <lillo@nowhere.fake>

hopefully fixed the bochs debug issue


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


# 8c27f58d 15-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

SplitPath ran into an endless loop given absolute path.


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


# 0c0b2cd0 14-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid off the third SystemMain parameter and by improving
BuildKernel and KernelFloppyImage. Now the kernel and the floppy image
depend correctly on there generating tools.
* New InstallFloppy rule to simplify the process of building and writing
the floppy image.


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


# 58efc9d8 14-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed KernelAddon to R5KernelAddon to avoid confusion.


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


# af28904f 14-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed setting the target specific LINKFLAGS in Addon and SharedLibrary. Added the rule KernelAddon for, guess what, kernel add-ons. :-)


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


# 9fc6b2e1 13-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added rules SimpleTest, PrependObjectHdrs and Filter. The latter one is not
longer needed though.


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


# 08125d07 13-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Commented out SetupIncludes in StaticLibrary.
* Added rules ObjectReference and ObjectReferences which allow for using
another identifier referring to an object. In particular useful in
combination with...
* Added *.o case in UserObject rule. It does simply nothing. This lets
you add objects to the list of sources for Objects or Main rules. Very
nice, if you want to (re-)use an object built in another directory.


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


# 13be4911 12-Jul-2002 David Reid <dreid@nowhere.fake>

Use the new drivers dir for headers.


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


# 2a83bfb4 12-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted the KernelConfigSection and WriteConfigFile rules. Now the former eats arbitrary targets. Adjusted KernelLd to make use of it.


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


# 1eb18edf 12-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed the "" I accidentially introduced in the KernelLd. Also removed them
from $(LINKLIBS), but wrapped $(NEEDLIBS) instead.


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


# 0931b8f9 12-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Wrapped filenames in all actions in "".
* Added Chmod1 to wrap the filename in "".
* Added rule RelSymLink that makes it easier to create a relative symlink
between two targets.


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


# e5dc2d93 12-Jul-2002 beveloper <beveloper@nowhere.fake>

Adding suport to see warnings at compile time.

I'm not sure if this is added in the correct way, please fix it.
As many files generate warnigs, it's inactive by default.

To compile with enabled warnings, execute jam like this:

$ WARNINGS=true jam


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


# c63f4a88 11-Jul-2002 David Reid <dreid@nowhere.fake>

I'd prefer to use <support/Errors.h> but that doesn't work and the
easiest way to fix it was to use <Errors.h> and simply include the
header path in our build line.

Can someone on the buidl team please try and tell us what path's
are/aren't being used? No doubt it'll take about 100 messages and
a lot of violent arguing, but then maybe sanity will prevail? :)


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


# f06de7f3 11-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added BinCommand and StdBinCommands rules.


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


# 8059752e 11-Jul-2002 David Reid <dreid@nowhere.fake>

Add posix to kernel objects.


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


# d25a77b4 11-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added UsePosixHeaders and UsePosixObjectHeaders rules and added the POSIX headers in SetupIncludes.


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


# f63877e7 10-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

No SetupIncludes in Server rule.


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


# 78599cf0 10-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Changed build target directory to \*.R1 and simplified AddResources rule.


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


# 7d7f280e 10-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Uncommented SetupIncludes in Addon. Same reason as with the others.
* Reintroduced Axel's fix to the public header dirs.
* Pulled the functionality to set the headers on object files out of
Use*Headers and put it into new rules Use*ObjectHeaders. The usage differed
too much.


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


# acea35dd 10-Jul-2002 Axel Dörfler <axeld@pinc-software.de>

That was too fast: "os" is added in the sub-Jamfiles (although I don't think
that's a good solution). Fixed.


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


# e9625b4b 10-Jul-2002 Axel Dörfler <axeld@pinc-software.de>

The "os" directory was missing from the UsePublicHeaders rule.
BTW the last change of this file requires updating your OBOS_TOP variable
to the current tree.


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


# 4236d490 10-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Improved LinkSharedOSLibs. It does now look, if a supplied "library" has a dirname or grist, which makes the rule handle it as if the basename would start with "lib". Needed e.g. when linking against servers.


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


# 3b9eae39 09-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Turned off optimization for unit tests. The Storage Kit tests were running
amok...
* Added rules SplitPath and SymLink used in the Storage Kit tests Jamfile.
* Removed the setting of CCFLAGS and C++FLAGS on the SystemMain target.
This really doesn't made sense.


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


# c633961a 09-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted the Use*Headers rules to reflect the new header dir structure.


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


# 5f281ed5 09-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

Well, I couldn't go to bed without making *something* build ... ;)


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


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


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


# dd9b4a3f10fcf12f43a192afd23cb1aaa7f56ea2 22-Jun-2015 Augustin Cavalier <waddlesplash@gmail.com>

build: delete DocumentationRules.

These were only used as an experiment for converting coreutils
manpages to different formats, and as coreutils is no longer in the
tree, they aren't used.


# 63cc55477cad1139290031e46586e1c77088b585 06-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Fix #11101: Broken Haiku repository creation.

* Invoking jam from Haiku's checkout directory (instead of the output
directory) caused the repository creation to fail because of relative
paths to package files being used. Now we make sure that HAIKU_TOP
is an absolute path to avoid problems like these.


# ed25955ada10b7bb84e4a1d62ed481779490d5bd 26-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Add SystemLibraryRules.

* This file contains jam rules for getting the different versions
of libgcc, libsupc++ and libstdc++ used throughout Haiku's
build system.
* Additionally, there are rules for accessing the c++ headers
and the gcc headers.
* These rules are included by Jamrules, but not yet used anywhere.


# e6d5152f7efe1e397232592f9cd4a5c3dcea924c 16-Jun-2014 Oliver Tappe <zooey@hirschkaefer.de>

Make all directories overridable by environment.


# a8c098a3ba81542b73c5be4e90ae01a4fc47507b 22-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Replace HAIKU_{BOOTSTRAP,MINIMUM}_BUILD with HAIKU_BUILD_TYPE.

* Instead of separate variables, HAIKU_BUILD_TYPE is set to one of
'bootstrap', 'minimum' or 'regular'.
* Adjust uses of HAIKU_BOOTSTRAP_BUILD accordingly.


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

Move build feature rules to separate file


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


# c0e8cc1a1368c6cc99ddf1c76f8826cd5a598fd2 25-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: prepare for hybrid support

The goal is to do hybrid builds in a single jam (instead of calling a
sub-jam to build parts with the secondary tool chain). This changeset
adds support to configure to prepare multiple tool chains.

configure:
* Merge option --build-cross-tools-gcc4 into --build-cross-tools. The
option does now always require a packaging architecture parameter,
i.e. x86_gcc2 for the legacy tool chain.
* Multiple occurrences of the --build-cross-tools and
--cross-tools-prefix options are allowed. The first one specifies the
primary tool chain, the subsequent ones the secondary tool chains.
* All architecture dependent jam variables are now suffixed with the
name of the packaging architecture. The new HAIKU_PACKAGING_ARCHS
contains the packaging architectures for the prepared tool chains. The
first element is for the primary tool chain.
* No longer generate a separate libgccObjects file. Just put the
respective variable into BuildConfig as well.

build_cross_tools[_gcc4]:
* Replace the <haiku output dir> parameter by a <install dir>
parameter. This allows to create different cross-tools directories.
They are simply suffixed by the packaging architecture.

Jamrules:
* For the moment map the variables for the primary tool chain to the
respective suffix-less variables, so that everything still works as
before.

The next step is to actually support the secondary tool chains in the
jam build system. This will require quite a bit more butchering, though.


# e173a1ec1c0c1f48e355f3cbc34c0114e336ff88 20-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Integrate building the HaikuPorts bootstrap packages

* Add configure option --bootstrap which allows specifying the
haikuporter and HaikuPorts repository paths.
* Add rules for supporting a second repository type. The
PackageRepository rule is now private and RemotePackageRepository is
used for remote repositories. The new BootstrapPackageRepository rule
is for defining a bootstrap repository (there will probably be only
the HaikuPorts cross repository) whose packages can be built as needed
via haikuporter.
* Rename DownloadPackage to FetchPackage.
* Define repository HaikuPortsCross.
* HaikuCrossDevel package(s): There are now two sets of packages: A
"stage1" set with the same content as before and a final set
additionally containing the libraries libbe, libnetwork, libpackage.
Those are needed for building the libsolv bootstrap package while for
building them we need other bootstrap packages (ICU, libz).

This is basically all that's required to build a bootstrap Haiku
completely from sources, with a few caveats:
* There's no ICU bootstrap recipe yet (so one has to cheat and use the
prebuilt package ATM).
* Probably doesn't work on Haiku yet (tested on Linux only).
* A 32 bit environment must be used (otherwise building the gcc 2
bootstrap package fails).
* Building with multiple jobs doesn't work yet, since haikuporter uses
common directories for building different packages and there's no
explicit serialization yet.
* Haven't tested the resulting image save for booting it. So it probably
needs a bit more work before it can actually build the final
HaikuPorts packages.


# b9eec5192d6b6282a2bf5284e8c4121d0a29f09d 20-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Include DefaultBuildProfiles earlier

DefaultBuildProfiles is now included earlier (right after BuildSetup).
This allows us to set HAIKU_BOOTSTRAP_BUILD earlier, so it can be used
for the repository selection. The actual build profile definitions,
which cannot be done that early, live in the rule
DefineDefaultBuildProfiles, which is invoked where the file was
previously included.


# ec945b7f0d11df7e0d2f0bdd0ef676aa0d1e96a8 07-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

ReleaseBuildProfiles -> Default*, add bootstrap profiles


# d72ce06673197dbd21336ca8f5618d98487001c8 05-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjust to changed HaikuPorts repository layout

The package kit actually requires the files "repo", "repo.info",
"repo.sha256" to be located under the repository base URL, so the
approach to name the repository file "repo-<hash>" doesn't work.
Now there's a directory "<hash>" which contains the files.

This commit moves the computation of the hash and downloading the
repository file from the build_haiku_image script to the jam build
system. The repo.info is also downloaded and a repository config file
is generated.


# 98c6dfa41e20c57edf426197a8d9aab6223a59fd 05-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Switch build system from optional package to repositories

* Build libsolv and the dependency solver part of the package kit for
the build platform.
* Add build tool get_package_dependencies. Given a list of package files
and a list of repository files it determines the additional packages
that need to be retrieved from the repositories and prints their URLs.
* Add rules to work with external repositories in the build system
(build/jam/RepositoryRules):
- PackageRepository declares an external repository with all its
packages. The URL of the repository file isn't specified. It is
computed from a given base URL and the SHA256 hash of the list of
package files.
- GeneratedRepositoryPackageList generates a file containing the file
names of all packages in a repository.
- IsPackageAvailable returns whether a package is available in any
repository.
- PackageURL returns the URL for a package.
* Declare the HaikuPorts repository for x86_gcc2
(build/jam/repositories/HaikuPorts/x86_gcc2).
* Add rule AddHaikuImagePackages to add a package to the image and rule
IsHaikuImagePackageAdded to determine whether a package has been
added.
* OptionalPackages: Remove all entries that just downloaded and
installed an external package. AddHaikuImagePackages can be used
instead and is used in the remaining entries. Also move the remaining
optional package dependency declarations from
OptionalPackageDependencies here.
* ExtractBuildFeatureArchives: Instead of the URL parameter a package
name must be specified now. This allows to simplify BuildFeatures
significantly, since there's no dealing with URLs anymore. "if" out
the entries that aren't supported yet.
* build_haiku_image: For the packages installed in system and common
resolve their dependencies and download and install them as well.


# 65ad1ba320d945c9626f471c4fb0972ae49440b5 26-May-2012 Alex Smith <alex@alex-smith.me.uk>

Made it possible to build the bootloader when targetting x86_64.

* x86_64 is using the existing *_ia32 boot platforms.
* Special flags are required when compiling the loader to get GCC to compile
32-bit code. This adds a new set of rules for compiling boot code rather
than using the kernel rules, which compile using the necessary flags.
* Some x86_64 private headers have been stubbed by #include'ing the x86
versions. These will be replaced later.


# 388476449241fb0a6c6494b1833e314a2363cd13 11-May-2012 François Revol <revol@free.fr>

Include BoardSetup from BuildSetup

* while it seemed to work before, BuildSetup was actually adding includes from the default boot platform, before BoardSetup had a chance of changing it.


# 65bce31ef8d48ff69c73970e5afdc5c23d47ca3c 17-Mar-2012 Jérôme Duval <jerome.duval@gmail.com>

Freetype: FreetypeRules isn't needed anymore.

* fixed copy of freetype headers, now part of the optional package.


# 0a53d94bd50f2e68b629179120fdd9a1e5b2e2f5 26-Sep-2010 Matt Madia <mattmadia@gmail.com>

Introduced a new variable HAIKU_CATALOGS_OBJECT_DIR. The catkeys and catalogs
are stored in signature-based subdirectories. This improves upon r37871 and
should allow BOM to properly harvest catkeys for online translation tools.


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


# 413a591c7826fe198ece7036c5e474697bf813f5 26-Sep-2010 Matt Madia <mattmadia@gmail.com>

80-char clean up. No functional change.


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


# b891b0acaeb1ff1980ebb6af6b6768ec9b9be8d0 23-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* broke out locale-related jam rules into their own file, LocaleRules
* made locale build tools shut up about anything except warnings or errors


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


# 634d229763c951cdc33356efba96d4ea02a18f44 05-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Added default build profiles "anyboot-image" and "cd-image".


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


# 1467a878b1660f4b850d03de816c9942a04f9633 26-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* bonefish: Cleanup.


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


# feb750d3311808b62ca2e2f135f4a05a3608716e 12-Aug-2009 François Revol <revol@free.fr>

[ARM]
- consolidate board specific definitions into build/jam/board/*/BoardSetup to avoid duplicating address values everywhere,
- add various addresses, boot script, custom C/C++ flags and SD card definition,
- not sure BoardSetup is included at the best place though,
- replaced board-specific ldscript with passing the loader address directly to LD from BoardSetup,
- added haiku.mmc target which generates an mmc/SD card image with a FAT partition with the files needed to boot for the board, should later be integrated with haiku.image with the BFS partition offset passed to bfs_shell, requires apt:sfdisk,mtools on GNU/Linux,
- added some more rules, one to build a script for the SD image,
- fake a NetBSD loader for now, U-Boot doesn't know haiku, and we'll need a way to pass the tgz image and RAM size, we'll either use standlone way (usual C argv[]) or the NetBSD args,
- style fixes,
- 80 cols, /me pets Ingo.


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


# a4a52ab2ae161a9bf3f289184a7b55473660767f 26-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

New build system variable HAIKU_IGNORE_USER_BUILD_CONFIG to prevent inclusion
of the UserBuildConfigs.


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


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

* Moved the optional package dependency definitions into the new
build/jam/OptionalPackageDependencies and include it earlier (before the
Jamfiles).
* Introduced build/jam/OptionalBuildFeatures which is supposed to do the setup
for optional build features that need it.
* Renamed USE_SSL to HAIKU_BUILD_FEATURE_SSL and made it more intelligent.
The OpenSSL optional package is downloaded and unzipped automatically when
enabled. Switching between enabled/disabled HAIKU_BUILD_FEATURE_SSL is
handled gracefully -- the concerned components are built in separate
subdirectories. Adding the OpenSSL optional package to the image also enables
HAIKU_BUILD_FEATURE_SSL.


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


# e2c3dec9239e1035449f39f3747a4039a9cdc38c 14-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Preliminary support for building ISO only Haiku CDs. Not working completely
clean yet. Provides a haiku-cd target and creates a bootable image using mkisofs.


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


# d5ec51ca027d32afcf837cf8241c84d3af6a2ea8 08-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Allow for a separate UserBuildConfig directly in the output directory (i.e.
generated). When not using build profiles this allows for separate configuration
per output directory. When using build profiles you could for example have a
different profile per output directory with the same name (so an @disk with
different settings per output dir for example).


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


# 30ed37c8456b5426ebd02c2653b0b9f1a8d1461f 02-Dec-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced rules UserBuildConfigRulePostBuildTargets,
UserBuildConfigRulePreImage, and UserBuildConfigRulePostImage which will be
invoked at different points in the build system execution. They can be
overridden in UserBuildConfig, thus allowing for executing user code at
those points.


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


# 889903f9ddd32ff7a953b3093b6e9bb4ebe2fd65 23-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

BuildConfig needs to be included before any other rules file. That's why
the wrong Link actions were used (always the no-attributes-support ones
which remove the target first), for instance.


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


# a679600d828ebb641330dcb032e48de430710925 22-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Followed Ingo's suggestion, and put the alpha build profiles (for raw and
vmdk images) into the new ReleaseBuildProfiles file.


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


# 96b421b83d66470f3dfabc690131ebb5dc69119c 05-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for "optional packages". Those can be defined in
HaikuImage and enabled individually using the
AddOptionalHaikuImagePackages rule or all at once by setting
HAIKU_ADD_ALL_OPTIONAL_PACKAGES. In principle an optional package can
be any kind of addition to the Haiku image, but usually a zip file will
be downloaded from somewhere and unzipped onto the image. I've added a
WonderBrush package as an example.


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


# a970df44af54bbb4be84f2d9839eda842536c81a 29-Jun-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Include HaikuImage after the Jamfiles, so they can provide/adjust info
relevant for the image creation.
* The CopySetHaikuRevision propagates the value of the
HAIKU_INCLUDE_IN_IMAGE variable from the source to the target.
* Propagate the value of HAIKU_INCLUDE_IN_IMAGE from "kernel" to
"kernel_$(TARGET_ARCH)".

Now "jam update-install kernel" should work as expected.


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


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

Added rules for performing basic integer arithmetics (+, -, *). The rules
operate manually on digit lists, so they are certainly not fast and shouldn't
be used excessively, but at least it's possible to do calculations in Jam now,
should the need arise.


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


# 9ddc1886aeda5a7b033650bac77e50aa26e7ea01 22-Feb-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Removed now unused HaikuPXE file, that triggered a "Parse error at EOF" warning on some builds.


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


# 83bf699b3fd04f7a23a2da774c280b35dc2f9eab 27-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

some build fixes for pxe_ia32 platform


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


# b28111564b74d68889e9f7ff44022cab36a4674f 01-Sep-2005 Jérôme Duval <korli@users.berlios.de>

update to freetype-2.1.10


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


# e0e43511c8dfea8345ef7dbd78b2134dc023b9ee 20-Aug-2005 Andrew Bachmann <andrewbachmann@nowhere.fake>

remove MakeLocate and MkDir1 which are in our Jambase. (make sure your jam is up to date from svn!)

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


# 200c6baf88fca990dc138325f8157c4f31492701 20-Aug-2005 Andrew Bachmann <andrewbachmann@nowhere.fake>

fix mkdir with spaces bug. change target directory based on debug and target platform. remove version variable and its one usage in target directory.

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


# 80cb793d802960c931979c26ceac4139e2b77c6c 06-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Now you can define the environment variable NO_LIBRARY_DEPENDENCIES to
avoid all dependencies on libraries (that have been specified with
LinkSharedOSLibs or a rule that uses it).
This means you can now run a
NO_LIBRARY_DEPENDENCIES=1 jam MyApp
to build MyApp without updating any library MyApp depends on, even if they
have changed. This is a feature for people who know what they are doing to
speed up development.


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


# ad3ffd12272b485f821602ac676ff3fb3bb05bd5 04-Jul-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

BuildPlatformMain now uses the original DEFINES. Otherwise we e.g. get __HAIKU__ although compiling under R5.

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


# 00173907976e3a97081855c7293cc5292f5ef528 26-Jun-2005 Philippe Houdoin <philippe.houdoin@gmail.com>

Add dependency to the pseudotarget 'obj' to improve MergeObjectFromObjects rule.
Thanks to Ingo for the hint.



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


# 0e16d351bfd96f885c64931c8d3a94fbd6404850 17-Jun-2005 Jérôme Duval <korli@users.berlios.de>

Reverted Jambase to keep jam compatibility
StaticLibraryFromObjects is a copy-paste of LibraryFromObjects without grist on source files


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


# 1cc148a9462693c9c114f55b028b06d0df113e2b 14-Jun-2005 Jérôme Duval <korli@users.berlios.de>

added opengl to SetupInclude
StaticLibrary now accepts static libraries to include (note that jam should be rebuilt)
LibraryFromObjects doesn't FGristFiles now, but Library does


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


# 18c3ce077842aa13e3aee315f3251702ccae04f7 07-Jun-2005 Jérôme Duval <korli@users.berlios.de>

added a resource parameter to Preference rule
updated Jamfiles to take this into account


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


# f35b607dd60e4567cbd2b4509f3467353b9669f6 14-May-2005 Jérôme Duval <korli@users.berlios.de>

docbook files go in objects dir
added a doc_files target
spaces in directory names don't please path xsltproc syntax


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


# 95086a3efdbae4e845b734b3df21555ad2ebd383 13-May-2005 Jérôme Duval <korli@users.berlios.de>

added Man2Doc rules


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


# 1ac083d932aeaf5b15678f5307a4929d530e7900 02-May-2005 Andrew Bachmann <andrewbachmann@nowhere.fake>

add NETAPI_LIB and use it to build HP JetDirect printer transport

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


# d67e6bc8a2acc4f92432a6d41c43f6726746ef2a 11-Apr-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed the build of several network apps under R5:
- removed libnetapi.so from $NETWORK_LIBS - it's not used by anyone anyway,
and it's definitely not necessary to link against it by default.
Note, this might cause problems in some of the mail add-ons; I haven't
tested this.
- route/ping/... now also link against $SELECT_UNAME_ETC_LIB

makehdimage should now work again under all BeOS platforms.


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


# 99801d4a88d714aad21a401966536868a39db032 06-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added variables KERNEL_C++_SUPPORT_LIBS and STL_HEADERS to aid support
for building under Linux.
* Tried to get the header setup into a shape that would allow us to build
under Linux with gcc 3.x. But I give up for the moment. The C++ support
headers don't seem to be separate from the STL headers, which makes it
virtually impossible to use our STL together with gcc 3.x.
Worse, I don't even think, how we build under BeOS at the moment is
correct. The _G_config.h (glibc configuration) header is included from
some public headers, but is itself not made available. This causes the
R5 header to be used, which belongs to a completely different glibc
version. But when building our libroot we use the new header. I wouldn't
be surprised, if that could cause all kinds of subtle problems. Maybe
even the STL string problem I encountered recently.


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


# 979afc6fa472e7832874ba88e81724a66d5719a2 05-Mar-2005 Axel Dörfler <axeld@pinc-software.de>

Exchanged -no-fpic with -fno-pic - AFAICT these should be the same, but
GCC/ppc only understands the latter (more correct) version.


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


# 3844cf706acc443e6e223cab66722707f10fdf8f 03-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* New variable DEBUG_FLAGS which can be used to specify the gcc debug
flags to be used. Defaults to -g. You might want to use -ggdb with
gcc 3.x.
* Added variable C++_SUPPORT_LIBS. Is set to sup++ for gcc 3.x.
* ResComp can be built under BeOS only at the moment.
* Define _NO_INLINE_ASM when building for the build platform. Is not
strictly necessary under BeOS, but helps under Linux.


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


# 8dc98d6d8501f2ee8df18ee6d18b9063d349bc8c 02-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

BuildPlatformMain has a new boolean parameter to disable resetting the header search paths.


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


# 16df67022abf8bb2dc970e56218937fb5cc6c092 10-Feb-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed UseArchHeaders.


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


# bc10030ef018f30856449c569057e29387433d81 29-Jan-2005 Philippe Houdoin <philippe.houdoin@gmail.com>

Added lib[b]netapi.so to NETWORK_LIBS.


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


# b8ab94faaa1a227249c0eb3d81dc11c21d827c9b 25-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

An even nicer solution for the UnarchiveObjects actions.


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


# 271174f273f709740ed4c90c8ec4d6a10e0c835f 25-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed the UnarchiveObjects rule so that it can handle any extensions (and
not just .o - newer GCC releases seem to have .oS objects in libgcc.a).


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


# b1e5b60ccffa844d663fbca95f61156b90d360e3 25-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Divided BuildConfig into three files: BuildConfig, Timezones, and libgccObjects.
That makes fine tuning any of them a nicer experience.
You have to rerun ./configure in order to build anything.


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


# b217d989e7769323e707cd7dc6152c2c5f5a40a7 17-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Removed now unnecessary comment.


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


# d5807053ee61a25c82676cfba57d785c64ec5da5 15-Jan-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Now the DEBUG_PRINTF variable can be set to cause the macro
DEBUG_PRINTF to be defined.
* Fixed KernelAddon rule: Now not the file but the target kernel.so is
specified for linking the add-on against, which results in proper
dependencies. Axel: Want to clarify the ToDo comment?


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


# 025d0733f2121f97ef4739a9208b74aed857bdaa 23-Dec-2004 Jérôme Duval <korli@users.berlios.de>

It seems libRK and libCanna don't like this CCFLAGS position
Hope it doesn't break anything


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


# 4d74cda31c9bafd7051a8b8fe26b200473e2ec46 20-Dec-2004 Axel Dörfler <axeld@pinc-software.de>

__HAIKU__ is now always defined for the kernel build rules.


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


# c407191357274b0a2f08f89bfb4295bc1d27b791 11-Dec-2004 Matthew Wilber <mwilber@nowhere.fake>

Added rule for building screen savers


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


# 2506bbb6f31e5988bd406be0e170636219527f89 28-Nov-2004 shatty <shatty@nowhere.fake>

utilize SELECT_UNAME_ETC_LIB


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


# a104c31b995823002042d1238ef9d83f8af549b1 28-Nov-2004 shatty <shatty@nowhere.fake>

define __HAIKU__ for haiku target platform


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


# 39a01fbb296df60fd7419fe4a3b39ea2160b5ce6 21-Nov-2004 shatty <shatty@nowhere.fake>

allow resources as a fourth argument to the App rule, similar to the BinCommand


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


# 6040be9931fe74ba870d67230da05a5001d73c6d 20-Nov-2004 shatty <shatty@nowhere.fake>

use NETWORK_LIBS for linking, define BUILDING_R5_LIBNET if necessary


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


# 081debe87824a5df6d1ccfcc01b931685713b29f 19-Nov-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed treatment of source files in UseArchObjectHeaders and SourceHdrs. Grist/object suffix were not set correctly.


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


# 94a49b214b85df4b697b947ac50a49f298cfef39 18-Nov-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed SetupKernel. SourceHdrs is best invoked on source files, otherwise
HDRSEARCH won't be set on the sources which may cause header dependencies
to be missing.


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


# 4bb1944270b46c4fcb9283f508a8dfdda44774b5 11-Nov-2004 shatty <shatty@nowhere.fake>

remove global activation of COMPILE_FOR_R5 based on TARGET_PLATFORM ; require TARGET_PLATFORM to be set


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


# 69f792c6bcc2b68868f85285d46769f1c46d5de9 01-Nov-2004 Jérôme Duval <korli@users.berlios.de>

added COMPILE_FOR_R5 flag for C too


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


# c0e501e020cb08a72569415795a85e6a95d8dbf5 28-Oct-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled the subdirectory specific part out of SetupKernel and changed the remaining functionality to really apply to objects. This does now really give us those headers and flags whereever we use a *Kernel* rule, unlike before. Added the root dir of the private headers to the general header search dirs. This simplifies some things a bit (like using syscalls.h).


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


# df48dfeda23b8d4a6c854ceeeee5835a7ef169c7 28-Oct-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Generally enable RTTI in the kernel -- by linking against libgcc.a we get it for free. Better recompile the complete kernel or you might get linker errors when using old objects with missing type_info. For the boot loader we'll have to explicitly disable RTTI though -- respective commits follow...


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


# a17b9c0c086ce9bb118ba3146e53c37d98551ae0 25-Oct-2004 shatty <shatty@nowhere.fake>

improved platform targeting


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


# 894d1636cf3730d741b0993699096dd8e775178b 24-Oct-2004 shatty <shatty@nowhere.fake>

define ARCH_ppc for TARGET_CPU ppc, ARCH_x86 for TARGET_CPU x86


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


# b560211bcf232ccbcaf374d7237f8cbe8a7ccc8d 23-Oct-2004 shatty <shatty@nowhere.fake>

use LocalDepends for packages instead of Depends


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


# be1aef42d3478dd1357809ca6aa275dc8b5e0fbc 17-Oct-2004 shatty <shatty@nowhere.fake>

when target platform is r5, define COMPILE_FOR_R5


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


# 53cf6d7a5cc873259caa1df0d08dc7c29318b252 10-Sep-2004 Axel Dörfler <axeld@pinc-software.de>

Added a BUILD_LIBSTDC++ variable for apps that have to run in the build
environment and have to link against libstc++.


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


# 121af366adca0ab79b2bc9be9d09b15a73b3e6c8 28-Aug-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed FObjectsDir to FCurrentObjectsDir and introduced a new FObjectsDir.


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


# c3f13647f6151ad96c663029b35e140b0b35641e 13-Aug-2004 Axel Dörfler <axeld@pinc-software.de>

Removes grist from StdBinCommands targets. You're now easily able to build
specific commands only.


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


# 6f43f04d50ea55ab7ea06710ce1e9ecd231323c4 10-Aug-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed LinkStaticOSLibs. It wasn't used, and LinkSharedOSLibs is the rule that rulez anyway. ;-)


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


# 3c71865a51b06cdd850292a9f507b1da513b65e9 02-Aug-2004 Axel Dörfler <axeld@pinc-software.de>

The UnarchiveObjects rule now works with R5's "ar" as well.
Now uses jam's ":D" variable expansion instead of "dirname".


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


# 705fc998cade176a3d1a4d402989071cc8d2dea8 05-Jul-2004 Axel Dörfler <axeld@pinc-software.de>

Adds grist to the LIBGCC_OBJECTS files.
Added UnarchiveObjects rule that dearchives "ar"-archives.


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


# cec8c8b59ec3338d2058cc3df66477d016a7cf7b 27-Jun-2004 Jérôme Duval <korli@users.berlios.de>

moved from .cpp.h to .hpp for bison generated header, still compatible with R5 bison


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


# 9ec866ccb443c122a15a519835230aa3068d1a42 22-Jun-2004 DarkWyrm <darkwyrm@gmail.com>

Added a directory to the FT_LIB build rule to account for LXW stream support added in 2.1.8


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


# 79b498345886b4bb23a4a2af5622d407ae78d999 15-Jun-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Refactored rule SetupObjectsDir. New rule FObjectsDir.


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


# 2abad45e2d11501447283c67b8db3100ad97771c 12-Jun-2004 beveloper <beveloper@nowhere.fake>

Allow compiling unit tests on Zeta. Instead of fixing the PostMessage()
issues, they deprecated that nice function. This will enable it again.


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


# 600203b105de6bd6bb9d6064aabb673b728cdf00 07-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

Added the ability to link against static libraries for both, the R5KernelAddon
and the KernelAddon rule.


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


# 99b8dab3b97a49a7e2667733152538cb0c1e72af 07-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

Added the "app" directory to the kernel includes to be able to access
AppDefs.h (for B_QUERY_UPDATE, etc.).


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


# 11fa3682945c2af4f9200e4e3b5a749407507f82 01-Jun-2004 Jérôme Duval <korli@users.berlios.de>

BinCommand and StdBinCommand rules now accept a resource file


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


# aa19f785d4ae7ecb88424268ef5167adbe5729f4 20-May-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added the __INTEL__ define in the Jamrules. That way, it's easier to compile on platform different from BeOS (i.e. linux)


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


# 811903d10c81779cda38dd594a4215e9585d8c1c 19-May-2004 Axel Dörfler <axeld@pinc-software.de>

Added a rule that builds a kernel add-on which links against our kernel.
That makes it possible to use functions not available in the original R5
kernel.
Might be a hack, but it seems to work.


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


# e91f3ca1a77056d4d94ab912e19f79557ac4336f 06-Mar-2004 beveloper <beveloper@nowhere.fake>

Added a new Jamfile rule, called SubIncludeGPL, which can be used to conditionally
include GPL licensed add-ons into the build. As GPL licensed add-ons may not be
used with non GPL compatible applications, this rule normally is not invoked when
building the tree. However, if the user is sure that he only uses GPL compatible
software, he can use the new ./configure option --include-gpl-addons to enable
the including of GPL licensed addons that are integrated by SubIncludeGPL instead
of SubInclude.


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


# ea7627e5a8b4be9bc2c365d2f19a84becfcafb92 15-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

I believe these must be defined for the kernel build. I have no idea
why they weren't yet - BTW this fixes the boot_loader build.
If anyone has a better idea about _KERNEL_MODE, please yell!


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


# 8042d2a0f8e0d62316442343204390340b85ecb9 27-Jan-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

More space in paths awareness.


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


# 15716fddcbe5d412da923617fb020481b675bf53 19-Jan-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

Space in path awareness...


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


# 82bec102a8e9682644ac8500f3aa3606c11351f5 06-Jan-2004 shatty <shatty@nowhere.fake>

grist is required for the non-zipped files in order to distinguish between the README.html for neomagic vs. nvidia, for example


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


# bacf687270a2df2eb9fe26ece976f7906cd5ebac 30-Dec-2003 shatty <shatty@nowhere.fake>

fix for constantly rebuilding app_server


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


# c06f365f2645bd0844283dcbdb3b4f5cf1ea355f 23-Dec-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added jam 2.5 rc3 MakeLocate rule.
* Fixed the Package* rules.


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


# 5c4135222d92a095fbe5a05302c13e824b8de7fd 22-Dec-2003 shatty <shatty@nowhere.fake>

fix local depends in Copy and zip up symlinks properly in PackageInstallZip


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


# 51fe1be4f7b4be1771692160c8b8f31b0dd4b63e 22-Dec-2003 shatty <shatty@nowhere.fake>

tracker-friendly install script


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


# 9b7a4b5d841f9e8ad0928c51883eed435d09751a 18-Dec-2003 shatty <shatty@nowhere.fake>

simple alpha/beta tester packages version 1


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


# 7669b69fd4e00f565668d7cc68594266c106085d 02-Dec-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a new flag to the parameters of the *SymLink rules specifying
whether or not the symlink shall be made a dependency of the pseudo target
`files' (i.e. will be made by default) and shall be removed upon `jam
clean'.
Fixed the symlink installation rules to always pass `false' for this param.


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


# 2fbd7065016d92ae982a64736f76d31c3dae9dbd 02-Nov-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added another parameter to the *MergeObject* rules, through which libraries/objects to be merged can be passed, whose names won't be gristed.


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


# 60c9c40fc9f764a83e8babd8f76223b83d0b12fd 30-Oct-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Whoa, it seems I completely forgot to check that in.
* Changed StaticLibrary and SharedLibrary to allow grist for the
library name. It will be appended to the constructed name.
* Changed the default of the third parameter of StaticLibrary to
the objects directory. Moreover the literal string STATIC_LIBRARY_DIR
can be supplied in which case the respective directory in the distro
tree is used. Other values are used unmodified.


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


# bbb6f2d463d19a76ca7433b2a4622d166005b2e1 12-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Lets the boot loader compile under GCC 3 (and possibly other C++ kernel
components).


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


# 8c17a26b5c9a187279d85dcd98d87a8ed14e37f6 12-Oct-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The configure script now sets the variable GCC_RAW_VERSION which is
parsed in Jamrules into a list (`.' and `-' are considered delimiters)
written into GCC_VERSION. E.g. for the GeekGadgets compiler expect
GCC_VERSION to be set to `2 9 beos 000224'. So, GCC_VERSION[1] should
contain the major version, GCC_VERSION[2] the middle one.


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


# b8b44e7a12799c5b8ac9a6040b1d03aece8e88d4 07-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Added the platform depending headers to the SetupKernel headers.


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


# b8baf385d164e352f0e1b7f94ff036ad4edabd7e 15-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Just another fix to LinkSharedOSLibs: Jam's :B selector does, per definition, not include the suffix. That's why the checks for *.a and *.so wouldn't work.


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


# 728b5725a81bc9f17195e38fab538a6b92c688b9 11-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

ObjectDefines is safe to be called on one file at ones only. So is
ObjectHdrs.
* Introduced a rule ObjectsDefines which is safe to be invoke with more
than one file and replaced ObjectDefines where it was used wrongly.
* Fixed SourceHdrs which used ObjectHdrs wrongly.


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


# e9230d05d0702b3524f0ffc7543e070bc8c98ea1 11-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed the target directory for static libs distributed with the system. Is develop/lib/<platform> now, as is under R5. Added an optional third parameter to StaticLibrary, which specifies the target directory for the library -- defaults to the just fixed standard directory.


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


# f1e077f8318b3b11b562ed19385c88f4a8447d3d 04-Sep-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Since we enable KEEPOBJS, the Library rules doesn't make the libraries a dependency of "lib". Since the StaticLibrary rules is supposed to build the static libs distributed with the system, we explicitly add the missing dependency there.


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


# 65c62a0145a55836fc9f41c432cc12979d626f91 26-Aug-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Semantical changes to the DEBUG and WARNINGS variables. Both do always have a value now; 0 or 1. WARNINGS defaults to 1, i.e. warnings are enabled by default, now.


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


# d5b07cf2d9548e2071397cbe30cc0705b21de466 15-Aug-2003 shatty <shatty@nowhere.fake>

fixed destination directory for translators


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


# 505554b4178ccedeaa4feec3debbcda795acaaf9 30-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added variables for etc and fonts dir.


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


# 007eb5f23c526a33a31a715955deefddaf9e0854 16-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added "-soname=_APP_" to the linker flags of the high-level rules building applications. Also added a third parameter, <libraries>, where it was missing.


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


# a8cd071927ac144450941e38aa71e52c0de55f52 13-Jul-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

LinkSharedOSLibs now strips the grist <nogrist> off targets. Otherwise one couldn't use target names that don't have a grist (like applications, against which their add-ons need to link).


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


# e29d85335825bd583d931f257a9c7794dd560f65 24-Jun-2003 Axel Dörfler <axeld@pinc-software.de>

Renamed OBOS_BOOT_LIB to OBOS_BOOT_PLATFORM


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


# 9fcaa61d0451f66b79986d79f01a4f9f31d9438a 24-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a BuildPlatformTest rule for building tests that shall run on the build platform..


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


# 966528dcbcf875d12a3171e786ef1d4bfe5ac80c 23-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added the implementation of UsePublicHeaders again.


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


# 57ec89d1b59607ab4b584305a3eebf22dc4c11da 17-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed definition of AR as 'ar t'. Default is 'ar ru', which should be just fine. If anyone experiences problems don't hesitate to tell me.


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


# 7bc56df125dc3d20e90dcdf2b9d4a86791a97e43 17-Jun-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

CP = copyattr --data, under BeOS. Added general installation rules OBOSInstall, OBOSInstall{Abs,Rel}SymLink.


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


# 2dd47f63b5b461126a8891b4bf7378697490b3ec 19-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Missing grist in SetupKernel.


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


# c8aa252a8dba3f516c2a7208d8ed189dcd08f555 19-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed Depends in MergeObjectFromObjects


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


# 98cc804c5d2f58c476ffe1e23e610fc07a0e5ad2 18-May-2003 Axel Dörfler <axeld@pinc-software.de>

Added KERNEL_C++FLAGS to define -fno-exceptions and -fno-rtti for kernel
objects automatically.
Also added a new OBOS_BOOT_LIB variable - might be changed again in the
future, though.


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


# dbf96817af43a213f461017547f6c05ce5bff2b6 17-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a rule R5KernelStaticLibrary.


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


# dd22481e7ac7f92ae71b34b124f5072ddf03f80a 12-May-2003 Axel Dörfler <axeld@pinc-software.de>

The DEFINES variable doesn't contain the "D" from the option name (-D...).


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


# 5dc4e1ef105c69b599627c9ae7787f6a1b7a0f8b 11-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed SystemMain to BuildPlatformMain and adjusted it to use the build platform headers for compilation.


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


# 09c5682d91abb5d578c601cedee390667bf98b0a 05-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The platform dependent header dir is explicitly included now. Changed the libgcc.a handling a bit. Re-run configure!


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


# c9882d9e808d4ff601bf9d3b745bf7d4c6b0d216 03-May-2003 Axel Dörfler <axeld@pinc-software.de>

TARGET_CPU can now be set externally if needed.


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


# 1f622a7b2e278d21217142ce536950aec616ad76 03-May-2003 Axel Dörfler <axeld@pinc-software.de>

The Jamrules now support different build platforms (at least in theory).
The PPC version can now be built - but of course, it doesn't work yet.


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


# 0f434a0aadc0f10cebc94f8dbe9df0482257d718 29-Mar-2003 DarkWyrm <darkwyrm@gmail.com>

The mother of all commits. :P
Unremoved zlib and added libpng to public libs (C'mon DW, make up your mind... ;^)
Added screenshot support to app_server
Added full keyboard message support to app_server
Added UseLibraryHeaders and LibraryHeaders rules to jamrules
Updated ColorUtils to convert uint32 colors to rgb_colors
BAppServerLink now autolocks client-server communications on the client side (as it should)
app_server now also juliennes and makes french fries. Yum.


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


# 83b3b0dff184a9ae4ace4764d7736cd8735503f6 23-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Added optional libraries parameter to Addon rule.


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


# 6af7607485bc73f1928d24f77ffcad00c16fa2b9 17-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

Uh, rc does not always append .rsrc to the output file, but only if it is missing. Adjusted ResComp actions.


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


# 8d3308d9aaa8d8dd542c236e78955c47b0b3eef8 17-Feb-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added a Bison and a LexC++ rule.
* Override the Jambase version of the Object rule to optionally generate
intermediate .cpp instead of .c files for .y and .l input. The
GENERATE_C++ variable must be set to enable that behavior.
* Added a ResComp rule using the shiny new rc to compile .rdef files into
.rsrc files.
* Adjusted AddResources to accept both, .rsrc and .rdef files. The rule
also grists the input files now, avoiding problems with equally named
resource files in different directories.


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


# f7901247130530c9cace1ef2cb7dcdbce4e88e5f 14-Jan-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Allow to link shared objects against the pseudo image name _APP_ and _KERNEL_.


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


# a8687de4ade64f7dc710c2ba360f4790974734c3 06-Jan-2003 Axel Dörfler <axeld@pinc-software.de>

Added a _ASSEMBLER define in the assembler rule, so that we can differentiate
in a header if it was included from assembler or not (if anybody knows a better
way how to solve this, feel free to speak, I haven't found anything :).


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


# 9b60a208f3e7af030b2501b91157934d75ca4868 08-Dec-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Worked around a Jam problem: The ObjectHdrs rule doesn't adjust the HDRSEARCH variable and thus header files may not be found while header scanning.


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


# 0ff867c2429f1e6fb045a4c123ba4fd24bc18bbd 28-Nov-2002 beveloper <beveloper@nowhere.fake>

if you specify DEBUG as environment variable, the DEBUG macro
will be defined with the same value.


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


# fbd28219aa5014ebfa2a8f0664a977df3b406b55 20-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged in FreeType 2.1.2 -> 2.1.3 differences. Resolved conflicts.


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


# 4ff6d49f35f562a6eea4b5f35009809c821e247c 19-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added setting of the variables for header and jamfile cache files and moved BuildConfig into build/.


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


# 54b7cbe14dca7cb4b90d0134758aa89b42297c32 17-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Now MergeObjectFromObjects adds grist to the to be merged objects.


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


# cfc7b456d2d29d549b94c7a9d2b489d772ace5b0 16-Nov-2002 shatty <shatty@nowhere.fake>

added missing E-mail header and updated os_includes


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


# dd9f80626c5e20103635e791435ede9fc6b308b2 15-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed invocations of SetupIncludes for the unit tests and removed the
`-nostdinc' flag from the CCFLAGS and C++FLAGS in R5Objects. The R5 tests
must be compiled with the system header.
* Introduced SetupR5Includes which simply clears HDRS.
* Fixed rule Filter.
* Removed some unnecessary `""' in CCFLAGS and C++FLAGS assignments.


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


# d391d2eb6eafed4506ed4c4e45850cdcfc71361a 14-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added AbsSymLink rule.


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


# 807212446dbf0c340c93c3c91eb4f44511f415cf 04-Nov-2002 Axel Dörfler <axeld@pinc-software.de>

Added new rules MergeObject, MergeObjectFromObjects, and KernelMergeObject.
Fixed the syntax comment in KernelLd.


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


# 089a06291664995b4dbc64cc3946835c774e1098 29-Oct-2002 beveloper <beveloper@nowhere.fake>

avoid building too long command lines (still not perfect)


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


# 3b4190ab3f887217e115109c2c70a26ef2a90fda 26-Oct-2002 beveloper <beveloper@nowhere.fake>

simplified, since SetupIncludes can now be called multiple times


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


# 28d2a30e96862be8f971d5239d34e6a8ce14d5e6 26-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

oops.. accidentally overwrote changes by Marcus -- they're back in now


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


# be36cedec2765e4c00e78c713eb71a618906650d 26-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

added system private header 'libroot' so that headers/private/kernel doesn't become filled with non-kernel library stuff


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


# c00c7b2eed1271eac49c854f61e31815258ca263 26-Oct-2002 beveloper <beveloper@nowhere.fake>

changed once again to better handle global include directories


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


# 5906bda96fa45c9f62a6f3f8845a5f1ea3cf3680 25-Oct-2002 beveloper <beveloper@nowhere.fake>

a bad hack to get cppunit testlibrary build


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


# a6c008e1b925675310cd44180025e757ce1dc2e0 23-Oct-2002 beveloper <beveloper@nowhere.fake>

modified to build without external BeOS headers on the host system
(well, nearly)


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


# 21df5945019b886117bc16ba81333e25e78cdd2a 12-Oct-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* MakeLocateObjects: The comment implied that the supplied file names
needed to be gristed, but actually all invocations supplied ungristed
files. The rule does add grist itself now.
* Added SharedLibraryFromObjects rule.
* Fixed a serious bug in ObjectReference.
* Added rules and variables needed for building the FreeType2 library.


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


# 1419ae2b1957ae803978b38002a54d6b21efaaa2 30-Sep-2002 shatty <shatty@nowhere.fake>

changed ordering of SetVersion and MimeSet to fix application version nuking.


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


# 405439be5c942a4d3f86899456e2c5ddc81ba42d 29-Sep-2002 beveloper <beveloper@nowhere.fake>

unified Bochs debugging option


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


# 6991af8cd85d87440c593a29b22a568b91dd689e 29-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

A link created with RelSymLink is properly removed on a `jam clean\' now. Overrode the Clean actions to support spaces in file names.


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


# b1b72e8797bcba14b22c1cea990b4f4319ac6bfe 27-Sep-2002 Bruno G. Albuquerque <bga@bug-br.org.br>

Automatically add the Bochs keyboard hack when --bochs-debug is used in the configure script.


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


# 7a384fde367c1436d39e94fe597ce3bfa05ceeb5 26-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Extended the Addon rule by another parameter: <is executable>. Supply "true" to prevent the usage of the -nostart linker option.


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


# b005dbe30539f62ea66b2b08efb65bdfa49cc6c4 22-Sep-2002 Axel Dörfler <axeld@pinc-software.de>

Now adds the headers/os directory to all UsePublicHeader rules. It's mostly
done to fix some build issues (BeBuild.h).
If you have a better idea on how to solve this - or a different idea how things
should work, please go on :-)


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


# 96d2746579648d29cfd4d91a48f47bbc4b89540e 16-Sep-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Now the environment variable NO_TEST_DEBUG can be set to make the rules
that build the tests NOT override the global optimization and debug
settings.


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


# c5ff4aa6f5bc5d28639250c8c93e9ee9a3d9b8fa 10-Aug-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

It became apparent that in order to assure obos tests are run
with obos libs and r5 tests are run with r5 libs, two separate
unit testing programs in different directories would be needed.
Thus UnitTester is now just a shell program that calls the
appropriate unittester/UnitTester or unittester_r5/UnitTester_r5
program.


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


# 9342c27ad7f9c5cc0a31635aed25365418555591 06-Aug-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved common code out of the *Test* rules and put it into separate rules (R5Objects, TestObjects).


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


# 4fb5add07a06d7cc33e994fa52ce43f55aa7d89a 05-Aug-2002 Matthew Wilber <mwilber@nowhere.fake>

added the Translator rule for building Translators


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


# be5af1baf8982022cdb20ab04387c369e2e9dfb2 03-Aug-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added UseCppUnitObjectHeaders rule and replaced UseCppUnitHeaders by UseCppUnitObjectHeaders in unit testing rules. If more than one unit test was built, the cppunit headers were added several times. There are still flags appearing multiple times when compiling an object file that is used for more than one test. But that's not that urgent...


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


# 94782cf7613af753ee00be756c5404372478182f 24-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Made the assemble rule more like As. Why do we need assemble anyway? Any reason not to use As?


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


# 16fa4445b939b532430a56a691fd170a13364802 24-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

KEEPOBJS is set now. It makes the Library rule not remove the object files.


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


# 7378dd7f7890479327951a49778293eefa148e99 18-Jul-2002 Axel Dörfler <axeld@pinc-software.de>

Added padding to the floppy disk (for use with VMware) - could be moved
as default padding into the makeflop executable.


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


# 9285de5124a336ecd9ab26aea1acb7c79aa2f02c 17-Jul-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

+ Started migrating Support Kit to new testing framework
+ Migrated BLocker tests.


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


# 0d1cdd942e5bc857aaa595fee2cdc7ab81a36e70 17-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

DEPENDS -> Depends and a Depends -> LocalDepends in R5TestLib.


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


# d1f6c38f0d8029fda3c77d45dde4c9fa53e2e75b 17-Jul-2002 Tyler Dauwalder <tylerdauwalder@nowhere.fake>

Unit testing update:
- Verbosity is now honored globally
- Added BTestCase::Outputf()
- Migrated BNode, BStatable, BDirectory, and BPath tests
- Added CommonTestLib, TestLib, and R5TestLib rules to Jamrules
- Updated Jamfiles for unit testing stuff
- Probably a few other things I've forgotten


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


# 9eea4522929e9226d86456f06c7507bd8b76d11c 16-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Huh, what happened? Didn't I commit my previous changes?
* Added section for compatibility with original Jam.
* Replaced Clean/Depends with LocalClean/LocalDepends where necessary.
* Added checking of the variable DEBUG. If set compile and link flags are
adjusted to generate info for source level debugger.
* Fixed problem with object specific variable setting: VAR on target += value ;
is equivalent with VAR on target = value ; if VAR has not been set on this
target before, even if the global VAR is set. We need to be careful with
CCFLAGS, LINKFLAGS, LINKLIBS and the like.


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


# 2b94bc7ba9276670d95abe42b5f802862b2827f4 15-Jul-2002 lillo <lillo@nowhere.fake>

hopefully fixed the bochs debug issue


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


# 8c27f58d89f7556005a8a414b59e0d7fe8f9ca5b 15-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

SplitPath ran into an endless loop given absolute path.


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


# 0c0b2cd0607e13c20aca154a65648586c9cfbd69 14-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Got rid off the third SystemMain parameter and by improving
BuildKernel and KernelFloppyImage. Now the kernel and the floppy image
depend correctly on there generating tools.
* New InstallFloppy rule to simplify the process of building and writing
the floppy image.


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


# 58efc9d8658b0a99498b4423662ad8d5d68b6245 14-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed KernelAddon to R5KernelAddon to avoid confusion.


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


# af28904ff30c6d7179d9e047e9ff1ba62c450f85 14-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed setting the target specific LINKFLAGS in Addon and SharedLibrary. Added the rule KernelAddon for, guess what, kernel add-ons. :-)


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


# 9fc6b2e18b6f0e5dff4221466f97ed2693341c10 13-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added rules SimpleTest, PrependObjectHdrs and Filter. The latter one is not
longer needed though.


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


# 08125d0764a2b2f10e8ade3ba7be96bf6227ed36 13-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Commented out SetupIncludes in StaticLibrary.
* Added rules ObjectReference and ObjectReferences which allow for using
another identifier referring to an object. In particular useful in
combination with...
* Added *.o case in UserObject rule. It does simply nothing. This lets
you add objects to the list of sources for Objects or Main rules. Very
nice, if you want to (re-)use an object built in another directory.


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


# 13be49117ff725f7540a5c8d99ae1191e944c8f1 12-Jul-2002 David Reid <dreid@nowhere.fake>

Use the new drivers dir for headers.


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


# 2a83bfb482f5a9b649e2ff8e758d4600883496a6 12-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted the KernelConfigSection and WriteConfigFile rules. Now the former eats arbitrary targets. Adjusted KernelLd to make use of it.


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


# 1eb18edf5fc8d9f479d92da88891a76026c92829 12-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed the "" I accidentially introduced in the KernelLd. Also removed them
from $(LINKLIBS), but wrapped $(NEEDLIBS) instead.


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


# 0931b8f939878ce0e8fbd5b8f589db2005d9f820 12-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Wrapped filenames in all actions in "".
* Added Chmod1 to wrap the filename in "".
* Added rule RelSymLink that makes it easier to create a relative symlink
between two targets.


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


# e5dc2d93a3022c8f7ad1c701c5b1e27a4522628f 12-Jul-2002 beveloper <beveloper@nowhere.fake>

Adding suport to see warnings at compile time.

I'm not sure if this is added in the correct way, please fix it.
As many files generate warnigs, it's inactive by default.

To compile with enabled warnings, execute jam like this:

$ WARNINGS=true jam


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


# c63f4a88da1d9f2454da27bb54c59da71da528d3 11-Jul-2002 David Reid <dreid@nowhere.fake>

I'd prefer to use <support/Errors.h> but that doesn't work and the
easiest way to fix it was to use <Errors.h> and simply include the
header path in our build line.

Can someone on the buidl team please try and tell us what path's
are/aren't being used? No doubt it'll take about 100 messages and
a lot of violent arguing, but then maybe sanity will prevail? :)


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


# f06de7f34fc3eafb4c9042cbb7006c70d506fcfe 11-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added BinCommand and StdBinCommands rules.


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


# 8059752e339db74f16bb8e0cfd471cd5a3369b9c 11-Jul-2002 David Reid <dreid@nowhere.fake>

Add posix to kernel objects.


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


# d25a77b4fe491629b07d8191b0798ce532f4562d 11-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added UsePosixHeaders and UsePosixObjectHeaders rules and added the POSIX headers in SetupIncludes.


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


# f63877e7f755d8230f4197695ecfb2f9ae97fe0f 10-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

No SetupIncludes in Server rule.


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


# 78599cf01dffd9c3af0cdf1edc4ca9157502d4af 10-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Changed build target directory to \*.R1 and simplified AddResources rule.


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


# 7d7f280ed3e93a3fb30660c6f5a349cf53d5cc2d 10-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Uncommented SetupIncludes in Addon. Same reason as with the others.
* Reintroduced Axel's fix to the public header dirs.
* Pulled the functionality to set the headers on object files out of
Use*Headers and put it into new rules Use*ObjectHeaders. The usage differed
too much.


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


# acea35dd63053b8bf2dc828b633c02c8336c4580 10-Jul-2002 Axel Dörfler <axeld@pinc-software.de>

That was too fast: "os" is added in the sub-Jamfiles (although I don't think
that's a good solution). Fixed.


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


# e9625b4b513eb6e01618df9cf20b03dca28ffdb0 10-Jul-2002 Axel Dörfler <axeld@pinc-software.de>

The "os" directory was missing from the UsePublicHeaders rule.
BTW the last change of this file requires updating your OBOS_TOP variable
to the current tree.


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


# 4236d4904115bae1f809fffb41fab3d7e7a710b0 10-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Improved LinkSharedOSLibs. It does now look, if a supplied "library" has a dirname or grist, which makes the rule handle it as if the basename would start with "lib". Needed e.g. when linking against servers.


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


# 3b9eae39d576dba4bfa511e7afbccb8e625309a9 09-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

* Turned off optimization for unit tests. The Storage Kit tests were running
amok...
* Added rules SplitPath and SymLink used in the Storage Kit tests Jamfile.
* Removed the setting of CCFLAGS and C++FLAGS on the SystemMain target.
This really doesn't made sense.


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


# c633961ad260805a66cbc55a72dda6792fb5f5fe 09-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted the Use*Headers rules to reflect the new header dir structure.


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


# 5f281ed502a3359a107b59a54c1f7841dcf25d32 09-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

Well, I couldn't go to bed without making *something* build ... ;)


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


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


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