History log of /haiku/Jamfile
Revision Date Author Comments
# 5b5c8f7d 29-Dec-2023 PulkoMandy <pulkomandy@pulkomandy.tk>

ffmpeg: update to ffmpeg 6

Partial change, for testing on x86_64. You need to build with
-sHAIKU_NO_DOWNLOADS=1 and manually provide the needed packages in
generated/downloads.

Confirmed working on x86_64. Other platforms will need similar updates.

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


# cac7a2f4 25-Jan-2024 Alexander von Gluck IV <kallisti5@unixzen.com>

icu: bump OS (and all dependencies) to ICU 74

* Non-x86 will likely break until they get an updated icu74
build-package

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


# 13e2db96 03-Aug-2023 Niels Sascha Reedijk <niels.reedijk@gmail.com>

build-packages: update to the latest packages

The main motivator is the update to GCC 13. As part of this, some of the other
dependencies have been updated as well.

Newly introduced:
- gawk on x68_64 (new dependency of texinfo)
- libjx (new dependency of haikuwebkit)
- openexr30 (new indirect dependency of haikuwebkit)
- brotli (new indirect dependency of haikuwebkit)

On x86_gcc2, some packages have switched to the modern GCC version:
- diffutils
- findutils
- libpsl
- tcpdump

Change-Id: Ic617b5b4af9eb34c0d28259a3c0ddbcc33f98a5d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6772
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# a81d1650 07-Dec-2021 Augustin Cavalier <waddlesplash@gmail.com>

Update build-packages for GCC 11 upgrade.


# 147b47e0 16-Jul-2020 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>

Translators: Add an AVIF translator

This translator only supports still images for now, and supports both
decoding and encoding.

Encoding support has been tested only with aom, rav1e doesn’t build on
Haiku yet, see https://github.com/haikuports/haikuports/pull/5534 for
one of the missing dependencies.

Change-Id: I716f4b862ed316b89b227bfed38072d72074201f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3040
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 3b3bcbf7 17-Apr-2021 Adrien Destugues <pulkomandy@pulkomandy.tk>

Update build packages repository

- Switch to Python3
- Switch to mawk instead of gawk
- Update ffmpeg (there are several new dependencies)
- Update ICU
- Fix various pre-existing problems with packages not being properly
declared for gcc2 (but somehow it ended up working)
- remove curl, subversion, mercurial

Confirmed that both nightly and release images are building fine on both
32 and 64bit. However, non-x86 architecture may require re-bootstrapping
to do a complete nightly or release image build (the minimal profile
should be fine)

Fixes #16751.

Change-Id: Iacac92923c4113b3e0a49a64b0b4cc1b8e2f5e2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3871
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# e6bc6d80 02-Jun-2020 Augustin Cavalier <waddlesplash@gmail.com>

Revert "Add gmp and mpfr to the regular image package set."

This reverts commit ef78f1eda04d9a9397960a7d2be3ed89e2208f85.

The new package sets do not require this.

Change-Id: I009a242f16c44510940645e0b71baaf757eca44b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2868
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# ef78f1ed 19-Apr-2020 Augustin Cavalier <waddlesplash@gmail.com>

Add gmp and mpfr to the regular image package set.

GAWK is apparently built against them (do we really need that?)
so we can't just ship them with the optional package set.


# 648cc69f 19-Apr-2020 Augustin Cavalier <waddlesplash@gmail.com>

HaikuPorts: Synchronize build-packages set.

Notable changes:
* jpeg replaced with libjpeg_turbo across the board.
* man replaced with mandoc.
* ilmbase merged into openexr.
* gnutls no longer needed in this set.

A few other packages unused in the local scripts were
also removed. Build fixes are in following commits.


# 5e15819d 19-Apr-2020 Augustin Cavalier <waddlesplash@gmail.com>

Jamfile: Remove most implicit dependencies from default installed packages.

No need to pull in e.g. "libpng16" explicitly when the appropriate
libpng version will automatically get selected by get_package_dependencies
at image build time.

I did however remove ctags altogether; nothing in the base install
uses it, so there's no reason to have it.


# 4f44282c 25-Jan-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move source and development packages out of /system/packages on release images

Activating all these packages on live boot (especially live DVD where we
also have the write overlay eating up RAM) significantly increases
memory requirements for running Haiku, to the point that Installer may
fail to run. Move them outside the packages/ directory so they are not
activated.

Installer already skips the _sources_ directory when installing, and
lists the contents of _packages_ with checkbox to decide what to include
in the install (they are put in system/packages on the target disk).

Fix from previous version: the Haiku package was installed to /system
instead of /system/packages.

Fixes #15621.


# c31d8dad 15-Mar-2020 Augustin Cavalier <waddlesplash@gmail.com>

Revert "Move source and development packages out of /system/packages on release images"

This reverts commit 0ab9c3c53849f10a3b7aef1e03714e69c7cb0c15.

It broke booting.


# 0ab9c3c5 25-Jan-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move source and development packages out of /system/packages on release images

Activating all these packages on live boot (especially live DVD where we
also have the write overlay eating up RAM) significantly increases
memory requirements for running Haiku, to the point that Installer may
fail to run. Move them outside the packages/ directory so they are not
activated.

Installer already skips the _sources_ directory when installing, and
lists the contents of _packages_ with checkbox to decide what to include
in the install (they are put in system/packages on the target disk).

Fixes #15621.

Change-Id: Ibfac14c43dbe708316a0d82ca1c9d49b5cba2aef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2157
Reviewed-by: Sergei Reznikov <diver@gelios.net>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 77d551c2 14-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Jamfile: gutenprint -> gutenprint8.


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

Jamfile: Remove doc_files.

Unused.


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


# dd45d433 18-Oct-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

u-boot: Fix after multi-loader changes

* Move MMU image to a real image define vs being crammed into
the u-boot bootloader Jamfile
* ARM not working yet, but better!
* x86 still builds

Change-Id: I3fb873dbac06fe2db893915b667bf3ce1df44686


# 18e7b997 09-Jul-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

build: Drop specalized haiku-boot-cd-ppc target

* Now generated via haiku-boot-cd when target ppc

Change-Id: I1d4e83c4d95ebc18b0dab28ffb2af03db5dc9d1d


# 8547d09e 01-Jul-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Rework InstallSourceArchive into AddHaikuImageSourcePackages.

Also add AddHaikuImageSourcePackages invocations for all relevant
(i.e. [L]GPL'ed) packages.

Doesn't truly fix #9990 as PackageKit cannot be used to install source
packages, but this is enough for creating a redistributable image,
so that ticket can be moved out of the beta1 milestone now.


# 181bcc8c 16-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

Include libedit by default for Debugger.


# b875d6d4 17-Dec-2017 Kacper Kasper <kacperkasper@gmail.com>

Outsource OpenEXR.

* Style fixes in EXRTranslator.


# 6ecad0f3 26-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

Jamfile: Guard against building with non-Haiku Jams.


# 6ac3a280 23-Nov-2017 Jérôme Duval <jerome.duval@gmail.com>

Add ZstdCompressionAlgorithm.

* kernel lib is decompress only (like zlib).
* expand compression_test for zstd.


# 98b3149c 08-Oct-2017 Jérôme Duval <jerome.duval@gmail.com>

bc: use the outsourced build.

* remove in-tree bc.


# 6454164d 02-Aug-2017 Jérôme Duval <jerome.duval@gmail.com>

Include mesa_swrast on x86_gcc2, mesa_swpipe otherwise.


# 97d08998 26-Jun-2017 Jérôme Duval <jerome.duval@gmail.com>

Includes libpng16 instead of libpng.


# d43720ad 18-Oct-2015 Jérôme Duval <jerome.duval@gmail.com>

Switch to tiff4 as system dependency.


# 5b3c88f1 17-Oct-2015 Jérôme Duval <jerome.duval@gmail.com>

Switch to ncurses 6 as system dependency.

* remove traces from libpng (as opposed to libpng16).


# ed92a105 01-Aug-2015 Jérôme Duval <jerome.duval@gmail.com>

diffutils: use the outsourced packages.

* remove diffutils Jamfile from the build and diffutils sources from the tree.


# e22a18e9 10-Jun-2015 Jérôme Duval <jerome.duval@gmail.com>

Add a feature for expat.

* Icon-O-Matic and Cortex are dependent on the feature.
* remove expat lib from the build and from the tree.
* expat package is added to regular builds.


# 1f56c11b 10-Jun-2015 Jérôme Duval <jerome.duval@gmail.com>

gzip: use the outsourced packages.

* remove gzip Jamfile from the build and gzip sources from the tree.


# 105c7e27 01-May-2015 Jérôme Duval <jerome.duval@gmail.com>

tcpdump: use the outsourced packages.

* remove tcpdump and libpcap from the build and from the tree.


# f19ef175 03-Mar-2015 Jérôme Duval <jerome.duval@gmail.com>

Added netcat packages for x86 and x86_64, use them.

* removed netcat Jamfile from the build and from the tree.
* clean image and package definitions.
* added netcat in regular builds.


# 22d29642 02-Mar-2015 Jérôme Duval <jerome.duval@gmail.com>

Add packages for zip and use them.

* remove zip Jamfile from the build and from the tree
* clean up image and package definitions.
* added zip in regular builds.


# 85e5aa30 26-Feb-2015 Jérôme Duval <jerome.duval@gmail.com>

Add packages for unzip and use them.

* remove unzip Jamfile from the build, <build>unzip stays with us.
* clean up image and package definitions.
* added unzip in regular builds.


# 950ee984 05-Feb-2015 Jérôme Duval <jerome.duval@gmail.com>

Add coreutils packages for x86_gcc2, x86 and x86_64.

* this is a mandatory package.
* removed related commands from the minimum image definition.
* removed related commands from the Haiku package PROVIDES.
* the su command is deprecated in 8.22. Use the 8.4 in-tree version.
* the packages contain and provide the df command, to be removed.


# 242c022a 12-Nov-2014 Jérôme Duval <jerome.duval@gmail.com>

Build against libpng16 instead of libpng.

* Also migrate freetype at the same time, otherwise freetype_devel
wouldn't install anymore.


# d02e38fb 01-Oct-2014 Jérôme Duval <jerome.duval@gmail.com>

moves /bin/sh to bash packages.

* bash is a mandatory package.


# b2d0f2e7 01-Oct-2014 Jérôme Duval <jerome.duval@gmail.com>

Use bash_bootstrap for the bootstrap build.

* don't build the in-tree bash.
* bash doesn't need to be a mandatory package, it's now a dependency of
the haiku package.


# 8b21b2b9 01-Oct-2014 Jérôme Duval <jerome.duval@gmail.com>

bash: use outsourced package for non-bootstrap builds.

* the bootstrap build keeps on building the in-tree bash.


# 82e60cd5 26-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

ICNSTranslator: use outsourced package libicns

* clean up Copyrights section.
* libicns becomes a default package


# fdfe641d 26-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

JPEG2000Translator: use outsourced Jasper package

* fixes for API changes with newer version of Jasper.


# af56dec4 25-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

Add libwebp as a mandatory package.


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

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


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

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


# 9cd7c6a4 02-Jun-2014 Jérôme Duval <jerome.duval@gmail.com>

tiff: use the outsourced packages.

* packages for secondary architectures would be welcomed.


# 1ee3031a 01-Jun-2014 Jérôme Duval <jerome.duval@gmail.com>

wget: use the outsourced packages.

* remove wget Jamfile from the build.


# c73c8e23 10-May-2014 Jérôme Duval <jerome.duval@gmail.com>

gutenprint: add gutenprint as a mandatory package.

* use the shared library libgutenprint.so
* remove the xml data files from the tree and the Haiku package.


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

Whitespace cleanup in root and 'build' folder.

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


# 1a8c6944 16-Apr-2014 Jérôme Duval <jerome.duval@gmail.com>

less: use the outsourced packages.

* added packages for x86 and x86_64.


# eb763779 14-Apr-2014 Jérôme Duval <jerome.duval@gmail.com>

sharutils: use the hpkg.

* delete the intree sources.


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


# 6d8c8a9d 20-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Default packages are now selected via image build feature.

* Introduce a build feature per image type (i.e. minimum_image,
bootstrap_image and regular_image).
* Activate the build feature matching the active image type.
* Use the image build features to group the default packages.


# ff35d6c1 16-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Refactor definition of Haiku image contents.

* Move actual definitions of respective image contents to files
underneath build/jam/images/definitions (minimum, bootstrap, regular).
* HaikuImage now only includes the image definitions for the selected
build profile and adds the Haiku packages.
* Simplified topmost Jamfile to some extent.
* Move definition of DESKBAR_APPLICATIONS and DESKBAR_DESKTOP_APPLETS
from build/jam/packages/Haiku to the respective image definition file.
* Sort and reformat several lists to make them more readable.


# 72e67791 15-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Make set of source packages for bootstrap-image configurable.

* Add new build profile 'minimum', which defines a minimum set of
packages.
* Introduce HAIKU_BOOTSTRAP_SOURCES_PROFILE and let it default to
'@minimum-raw'. This can be overruled in UserBuildConfig, setting
it to '@release-raw' will cause all source packages required for a
full release to be put onto the bootstrap-image.
* Add new image HaikuImageMinimum, which is meant to define the minimum
useful Haiku image (yeah, I know that's vague).
* Add HAIKU_MINIMUM_BUILD, which indicates that HaikuImageMinimum should
be used (it would be better to merge this with HAIKU_BOOTSTRAP_BUILD
into something like HAIKU_BUILD_TYPE)
* Cleanup duplicate references to basic packages - those are now added
by the topmost Jamfile (no longer referenced by the build profiles).


# 8219739b 02-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Put curl on every image, as it is required by the haiku package.


# 91e3737d 25-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

gawk: use the HaikuPorts package.

* left the in-tree version as its libintl is used by gdb.
* added as bootstrap package.


# 8b804bc1 25-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

findutils: use the HaikuPorts package.

* removed in-tree version.
* added as bootstrap package.
* note: HaikuPorts package has no rdef for binaries.


# be5e6fef 18-Jan-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add repository config for the Haiku repository to the image

* HaikuRepository rule: Create the repository config.
* HaikuImage: Add the repository config for the Haiku image. The
repository cache is not added, though (it would only be available, if
the repository had been built before).

Implements #10287. The Haiku repository is now available in Haiku by
default.


# 5fd5e562 23-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

GL: Ensure mesa_devel and mesa_swrast are always present

* As the OpenGL kit is assumed by most ports (and BeOS apps)
to "exist", lets make mesa_devel present by default until
post R1
* mesa_swrast ensures we always have the basic swrast renderer
To play with mesa_swpipe (gallium llvmpipe, gcc4) uninstall
mesa_swrast and install mesa_swpipe. (you can install both,
but it's first renderer found, first used atm)


# d85bab41 22-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add target for building a Haiku package repository

* Add rule HaikuRepository to build a repository from a repository info
file and a list of package files. It calls a build_haiku_repository
script which does all the work.
* Add target <repository>haiku for building the Haiku package
repository.
It should be built via "jam -q @alpha-raw build <repository>haiku";
the build profile is only needed to activate all build features.


# ab1ba835 20-Oct-2013 Matt Madia <mattmadia@gmail.com>

Add 'which' to the "mandatory" packages.

Note: untested on non-x86 archs.


# f73f5d4c 29-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Initial changes to remove /boot/common

* find_directory() and hard-coded paths use /boot/system instead of
/boot/common.
* The build system creates the writable directories in /boot/system
instead of /boot/common.
* The build system no longer installs any packages in /boot/common.


# 24796718 17-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Bootstrap Haiku image: add source for more required packages

* Introduce build variable HAIKU_IMAGE_ADDITIONAL_PACKAGES which can be
set to add additional packages to the image.
* Use HAIKU_IMAGE_ADDITIONAL_PACKAGES to support specifying a list of
additional packages via the build-package-list build profile action.
* Add htmldoc and texi2html when building the list of the packages for
which we need source packages when building the bootstrap Haiku image.
We don't want them on the regular image, but they are needed to build
some packages that are on it.


# 271e9484 10-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Build secondary architecture Haiku package for regular image

Also add secondary architecture packages to image.


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

Fix usage of obsolete HAIKU_BUILD_FEATURE_OPENSSL_ENABLED


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


# 48b1ed42 23-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add all bootstrap packages in DefaultBuildProfiles

* Don't handle the bootstrap case in the main Jamfile. Add all bootstrap
packages to the image in the profile definition. That's less
confusing, hopefully.
* Add the missing bootstrap packages (ncurses*, libtool_libltdl). The
would normally be added in build_haiku_image when the package
dependencies are resolved, but we don't do that for the bootstrap
image, since we intentionally leave some dependencies out (e.g. perl)
because they can be built.


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

Remove more stuff from the Haiku bootstrap packages/image

Namely GL/Mesa and libtiff.


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

Beginnings of support for building a bootstrap Haiku image

Copy:
* packages: Haiku -> HaikuBootstrap
* images: HaikuImage -> HaikuImageBootstrap
... and remove some unncessary content.

Setting the jam variable HAIKU_BOOTSTRAP_BUILD enables using the
bootstrap files.


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

Move image definition jamfiles to build/jam/images


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


# 5a7d7bc5 30-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove *Kit pseudo targets from root Jamfile


# ef0c2a82 10-May-2013 Jérôme Duval <jerome.duval@gmail.com>

HaikuImage: use the same HaikuImage Jamfile for x86 and x86_64


# f0cacbb3 08-Dec-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

OptionalBuildFeatures -> BuildFeatures, make use of new rules

Got rid of X86_ONLY and friends in HaikuImage, FloppyBootImage, etc.
Instead we use build feature specification annotated lists with
FFilterByBuildFeatures (either explicitly or implicitly where passing
the list directly to the image rules).

I just translated the variables to the respective annotatation in most
cases, though in some cases different annotation would be more correct
(e.g. for the OpenGL stuff).

Provides a simple framework for addressing #3798. The interested reader
may add the build features and add/adjust the annotations accordingly.


# 700c8d30 22-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Support building images for x86_64.

Added a temporary Haiku64Image file that gets included instead of
HaikuImage when building for x86_64, which I will add to as I port
stuff. Images currently only include the boot loader, kernel and
a bunch of add-ons.


# f4eb5cf7 09-Jul-2012 Matt Madia <mattmadia@gmail.com>

Process the sub-jam's opt packages before OptionalBuildFeatures

Several build features (including a future patch for WebKit)
are enabled only if a respective optional package is added.
Prior to this, none of those build features could be activated
in a sub-jam process.


# 60f75e90 04-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

Merge liblocale.so into libbe.so.

* Make the locale kit a part of libbe.
* Drop the LocaleBackend kludge used from within libbe (and from
other places, too) in order to access system catalog strings.
This is now done via gSystemCatalog, which is provided and initialized
by libbe.
* Drop all references to liblocale.so from all Jamfiles.
* Add legacy symlink liblocale.so in order to keep optional packages
that rely on it in a working state.

TODO: the documentation hasn't been updated.


# 0fdf2b41 31-Oct-2010 Matt Madia <mattmadia@gmail.com>

Some cleanup. Removed 'alltests' as there are no other references to its
dependencies. Commented out GLInfo from OpenGLKit as it was removed in r33115.
Added some TODO's for MediaKit and LocaleKit.


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


# 9de5b022 24-Oct-2010 Matt Madia <mattmadia@gmail.com>

Renamed the variables for the catalogs and re-introduced the target 'catkeys',
which builds just the en.catkeys inside HAIKU_OUTPUT_DIR/objects/catalogs


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


# a8fcb885 23-Oct-2010 Matt Madia <mattmadia@gmail.com>

Improved upon r39090.
* removed the catkeys pseudo-target
* created catalogs pseudo-target, which builds all catalogs & en.catkeys(.pre)
* created LocalizedTargets pseudo-target, which builds all targets that have
been localized.


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


# 80ad173e 23-Oct-2010 Matt Madia <mattmadia@gmail.com>

Introduced a pseudo-target "catkeys", for building all of the localized
applications. The eventual goal is to have jam package a catkeys.zip,
which can be provided to the application translation websites.


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


# ad0bdcaa 23-Oct-2010 Matt Madia <mattmadia@gmail.com>

Automatic whitespace cleanup. No functional change.

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


# 2a90ce53 14-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Actually include ICU 4.4 in the image we build
Note this doesn't fix everything yet, apparently there is a problem with ICU genereating an invalid opcode exception.


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


# 546fac2d 13-Jul-2010 Philippe Houdoin <philippe.houdoin@gmail.com>

Removed NetworkingKit pseudo-target from OpenBeOS era: useless since long already.


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


# 69681c75 15-Mar-2010 Jérôme Duval <korli@users.berlios.de>

fix typo


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


# 0e82d313 15-Mar-2010 Matt Madia <mattmadia@gmail.com>

Allows AddOptionalHaikuImagePackages and OptionalPackageDependencies to work in
arbitrary order. Follow-up to r35830.


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


# 429618d2 12-Mar-2010 Matt Madia <mattmadia@gmail.com>

Moves the conditional adding of OpenSSL from HaikuImage to the root Jamfile.


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


# a5c31cbb 12-Mar-2010 Matt Madia <mattmadia@gmail.com>

* Introduced "MandatoryPackages", which is added to all default images
* Renamed "BasicCommandLinesTools" to "Sed"
* Removed isCDPackage's parameter from "Sed"s InstallOptionalHaikuImagePackage
* Currently, "MandatoryPackages" only dependency is "Sed"
* Fixes #5560


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


# 100e9192 28-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

Adding buildsystem support for the "anyboot" images. They can be built using
the haiku-anyboot-image pseudo target. As I'm not too much at home with Jam I'd
appreciate any input. Especially for the TODO where removing the MBR using
RmTemps seems to cause a failure to get it built again every other time.


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


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

* Use the new Add{Files,Symlink}ToHaikuHybridImage rules in HaikuImage and
OptionalPackages. This makes the content definition part in
AlternativeGCCArchive superfluous.
* Moved the cc and c++ wrapper scripts from src/bin to data/bin.
* Added build variable HAIKU_ADD_OPTIONAL_PACKAGES to add optional packages
-- the list can be separated by slashes to allow easier passing through
the shell.
* When invoking the sub-jam that builds the alternative GCC archive, we force
it to ignore the UserBuildConfigs and we enable the optional packages
enabled in the main jam.
* Reorganized /boot/develop:
- There's now an "abi" subdirectory containing a <arch>/<gcc>/ subdirectory
for each installed ABI-incompatible gcc version and a "current" symlink
pointed to the currently selected one.
- All ABI-dependent directories under /boot/develop/ (lib/x86, headers/cpp,
tools/gnupro) symlink into /boot/develop/abi/current.
- Changed BELIBRARIES to contain
/boot/develop/abi/current/library-paths/common instead of /boot/common/lib.
The former is a symlink to either /boot/common/lib or
/boot/common/lib/<gccVersion>. There's also a respective "home" symlink.
- Repackaged the optional binutils+gcc 2/4 packages accordingly. Also fixed
the obsolete /boot/beos/system/lib/libstdc++.so symlink in the gcc 4
package.
- The new structure allows to switch between compilers by changing the
/boot/develop/abi/current symlink. Added script setgcc to do that.


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


# 723383c0 01-May-2009 Oliver Tappe <zooey@hirschkaefer.de>

Applied patch by PulkoMandy, adjusted and extended by myself:
* integrating most of the locale kit into the build (and image)
* removed LocaleBuild.h and _IMPEXP_LOCALE since that does not make
sense for elf (which usually exports all symbols anyway)
* added a couple of locale kit related pseudo targets for convenience
Hey, some of that stuff already seems to work :-)

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


# ad27081f 06-Dec-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Missed to check this one in:
* Invoke the UserBuildConfigRulePostBuildTargets rule.
* Some automatic whitespace cleanup.


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


# c7d3cf5b 06-Nov-2008 François Revol <revol@free.fr>

First attempt at a PPC bootable iso, doesn't work yet.


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


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

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


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


# 9ed64004 01-Mar-2008 François Revol <revol@free.fr>

Rules and targets to build a boot CD iso... use:
jam haiku-boot-cd


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


# 22ec1df3 01-Mar-2008 François Revol <revol@free.fr>

Add rules to create a boot floppy (use jam haiku-boot-floppy), in preparation for CD booting.


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


# a7ec9c1d 11-Jan-2008 François Revol <revol@free.fr>

Hook in 3rdparty/ to the main build.
Currently it's optional, you must define HAIKU_INCLUDE_3RDPARTY in [User]BuildConfig.


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


# 689e6794 26-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Reset the correct subdir environment before doing the final stuff (haiku
image, netboot archive, etc).


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


# b39c8d37 10-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Refactored the image creation rules. There are now generalized rules that
work on arbitrary "containers". The image rules are just
specializations.
* Added rules, a definition file (build/jam/NetBootArchive), and a shell
script for creating a gzipped tar archive containing kernel and modules
required for network booting (the contents may need some fine-tuning).
ATM it can be built via the haiku-netboot-archive pseudo target. It is
generated in the output directory (e.g. "generated").


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


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

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


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


# 1effc988 15-Dec-2006 DarkWyrm <darkwyrm@gmail.com>

Add the spam filter and server to the MailKit pseudo-target


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


# 1559de12 29-Aug-2005 Jérôme Duval <korli@users.berlios.de>

added screensaver kit package


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


# 99a77abf 28-Jul-2005 Philippe Houdoin <philippe.houdoin@gmail.com>

Added an OpenGLKit pseudo-target.


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


# 184dd027 05-Jul-2005 Marcus Overhagen <marcusoverhagen@gmail.com>

adjusted media kit library dependencies to allow compiling for R5


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


# 215c91df 10-Jun-2005 David McPaul <dlmcpaul@gmail.com>

Added mov_reader to media kit - Very Alpha

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


# dfac3f85 25-Dec-2004 beveloper <beveloper@nowhere.fake>

added matroska to jamfile


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


# d3e72bf6 07-Oct-2004 Jérôme Duval <korli@users.berlios.de>

added an input kit target


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


# 4e7ab2f1 30-Sep-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

Add latests network drivers to NetworkingKit pseudo-target.
Add a MailKit pseudo-target to build the whole mail kit simply.


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


# 28a06094 15-Aug-2004 beveloper <beveloper@nowhere.fake>

Modified media_server and media_addon_server cration/terminatio.
Now uses application mime sig for start/stopping. Much better
compatibility with libbe.so restarting functions.


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


# ed942695 15-Aug-2004 beveloper <beveloper@nowhere.fake>

added more targets to the "MediaKit" jam target


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


# 6c3f95cd 15-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added libbind.so and libsocket.so to NetworkingKit target.


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


# 79a14ca5 30-Mar-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added route to NetworkingKit target (and renamed route (the command) to <bin>route).


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


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

added ac3-decoder to the MediaKit target


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


# df016bba 25-Jan-2004 beveloper <beveloper@nowhere.fake>

media kit plugins update


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


# ca1e03bd 01-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added modem to PPP devices (in NetworkKit target).


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


# 4a687b07 25-Dec-2003 beveloper <beveloper@nowhere.fake>

added a few media kit targets


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


# 1b1b7ddf 06-Dec-2003 beveloper <beveloper@nowhere.fake>

remove warnings


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


# ef0e9a6a 26-Nov-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Added IPCP and PAP to Networking-Kit pseudo-target.
Added some comments.


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


# 83abf055 21-Nov-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Update MediaKit pseudo target to include newer add-ons and plugins.


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


# b82b832e 23-Oct-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Added ppp, pppoe, and pppconfig to NetworkingKit.


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


# 0b153628 07-Sep-2003 beveloper <beveloper@nowhere.fake>

added media demo nodes


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


# ceeee963 18-Jun-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Add sis900 and rtl8139 network adapters drivers to the whole network build.


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


# 4d48a4d0 01-Jun-2003 beveloper <beveloper@nowhere.fake>

fixed mixer target name


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


# 047625c2 30-May-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Quick pseudo-target hack to build MediaKit only.


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


# 5c3a5204 12-May-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Change pseudo target net_stack into a simpler one: running "jam NetworkingKit" will
build all Networking Kit stuffs.


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


# 58f2dcab 12-May-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Added a pseudo target to ease building only net stack.


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


# 07a49963 19-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added pseudo target alltests as a short hand for r5tests+obostests. Just 'tests' would be nicer but we have several dirs with that name.


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


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

Added installfloppy target.


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


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

Removed the kernel building lines as they are in src/kernel again.


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


# 8a0ccf99 12-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

There mustn't be any rules after a SubInclude.


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


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

Whoops! Forgot to move the final kernel link and floppy creation lines
here :)

Thanks to Marcus for pointing this out to me.


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


# ed92a1052069f6a3afb353d71c563662de66a47a 01-Aug-2015 Jérôme Duval <jerome.duval@gmail.com>

diffutils: use the outsourced packages.

* remove diffutils Jamfile from the build and diffutils sources from the tree.


# e22a18e9f340d6acefbc1b3269efe96c9a2aba78 10-Jun-2015 Jérôme Duval <jerome.duval@gmail.com>

Add a feature for expat.

* Icon-O-Matic and Cortex are dependent on the feature.
* remove expat lib from the build and from the tree.
* expat package is added to regular builds.


# 1f56c11b79c6465688164f0d37cf6a0093543a5a 10-Jun-2015 Jérôme Duval <jerome.duval@gmail.com>

gzip: use the outsourced packages.

* remove gzip Jamfile from the build and gzip sources from the tree.


# 105c7e27371cd9f515edcd54908d8605e59b92db 01-May-2015 Jérôme Duval <jerome.duval@gmail.com>

tcpdump: use the outsourced packages.

* remove tcpdump and libpcap from the build and from the tree.


# f19ef17518b79b15b123975b6d642186479b2a0e 03-Mar-2015 Jérôme Duval <jerome.duval@gmail.com>

Added netcat packages for x86 and x86_64, use them.

* removed netcat Jamfile from the build and from the tree.
* clean image and package definitions.
* added netcat in regular builds.


# 22d29642fb6cd2efd7a983b98c265ccce4033035 02-Mar-2015 Jérôme Duval <jerome.duval@gmail.com>

Add packages for zip and use them.

* remove zip Jamfile from the build and from the tree
* clean up image and package definitions.
* added zip in regular builds.


# 85e5aa30b15cf47a82095f337bf6f6212f3870b6 26-Feb-2015 Jérôme Duval <jerome.duval@gmail.com>

Add packages for unzip and use them.

* remove unzip Jamfile from the build, <build>unzip stays with us.
* clean up image and package definitions.
* added unzip in regular builds.


# 950ee98409129f2426576869746597866d25822b 05-Feb-2015 Jérôme Duval <jerome.duval@gmail.com>

Add coreutils packages for x86_gcc2, x86 and x86_64.

* this is a mandatory package.
* removed related commands from the minimum image definition.
* removed related commands from the Haiku package PROVIDES.
* the su command is deprecated in 8.22. Use the 8.4 in-tree version.
* the packages contain and provide the df command, to be removed.


# 242c022af85a97c742a67a30d49bf7bfc5a9ec3b 12-Nov-2014 Jérôme Duval <jerome.duval@gmail.com>

Build against libpng16 instead of libpng.

* Also migrate freetype at the same time, otherwise freetype_devel
wouldn't install anymore.


# d02e38fb131904b2049355705fe50c8fd2b93d83 01-Oct-2014 Jérôme Duval <jerome.duval@gmail.com>

moves /bin/sh to bash packages.

* bash is a mandatory package.


# b2d0f2e7b6631b82a18bec9feeb7f1ce14271814 01-Oct-2014 Jérôme Duval <jerome.duval@gmail.com>

Use bash_bootstrap for the bootstrap build.

* don't build the in-tree bash.
* bash doesn't need to be a mandatory package, it's now a dependency of
the haiku package.


# 8b21b2b910c4aed4632e192812ac586b981a42a0 01-Oct-2014 Jérôme Duval <jerome.duval@gmail.com>

bash: use outsourced package for non-bootstrap builds.

* the bootstrap build keeps on building the in-tree bash.


# 82e60cd5ec5cfd68e1beec5be20caccff1fe17d6 26-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

ICNSTranslator: use outsourced package libicns

* clean up Copyrights section.
* libicns becomes a default package


# fdfe641dcafdc85fdd85e97a17e44bb439f1e675 26-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

JPEG2000Translator: use outsourced Jasper package

* fixes for API changes with newer version of Jasper.


# af56dec460a5ffd7f2519f7a47dde48b1ffaa8c2 25-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

Add libwebp as a mandatory package.


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

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


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

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


# 9cd7c6a4338747b8ef15b38a06df188134248495 02-Jun-2014 Jérôme Duval <jerome.duval@gmail.com>

tiff: use the outsourced packages.

* packages for secondary architectures would be welcomed.


# 1ee3031a901ef3e35e167b892597eb4fe35fb11a 01-Jun-2014 Jérôme Duval <jerome.duval@gmail.com>

wget: use the outsourced packages.

* remove wget Jamfile from the build.


# c73c8e23678353b500885e90e7ef4fddfabe9071 10-May-2014 Jérôme Duval <jerome.duval@gmail.com>

gutenprint: add gutenprint as a mandatory package.

* use the shared library libgutenprint.so
* remove the xml data files from the tree and the Haiku package.


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

Whitespace cleanup in root and 'build' folder.

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


# 1a8c69444374dca896a43fe2716a78dcd5f82f7e 16-Apr-2014 Jérôme Duval <jerome.duval@gmail.com>

less: use the outsourced packages.

* added packages for x86 and x86_64.


# eb763779e32a988bff3babacf9c99e4a2e3af2d5 14-Apr-2014 Jérôme Duval <jerome.duval@gmail.com>

sharutils: use the hpkg.

* delete the intree sources.


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


# 6d8c8a9dfdd7c0250a2a7784cdca86750f786569 20-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Default packages are now selected via image build feature.

* Introduce a build feature per image type (i.e. minimum_image,
bootstrap_image and regular_image).
* Activate the build feature matching the active image type.
* Use the image build features to group the default packages.


# ff35d6c18a2a0bb58109ceca26b37755a32d265b 16-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Refactor definition of Haiku image contents.

* Move actual definitions of respective image contents to files
underneath build/jam/images/definitions (minimum, bootstrap, regular).
* HaikuImage now only includes the image definitions for the selected
build profile and adds the Haiku packages.
* Simplified topmost Jamfile to some extent.
* Move definition of DESKBAR_APPLICATIONS and DESKBAR_DESKTOP_APPLETS
from build/jam/packages/Haiku to the respective image definition file.
* Sort and reformat several lists to make them more readable.


# 72e677911f70c9b191fa5ea2f1c0e76cb00ea2b7 15-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Make set of source packages for bootstrap-image configurable.

* Add new build profile 'minimum', which defines a minimum set of
packages.
* Introduce HAIKU_BOOTSTRAP_SOURCES_PROFILE and let it default to
'@minimum-raw'. This can be overruled in UserBuildConfig, setting
it to '@release-raw' will cause all source packages required for a
full release to be put onto the bootstrap-image.
* Add new image HaikuImageMinimum, which is meant to define the minimum
useful Haiku image (yeah, I know that's vague).
* Add HAIKU_MINIMUM_BUILD, which indicates that HaikuImageMinimum should
be used (it would be better to merge this with HAIKU_BOOTSTRAP_BUILD
into something like HAIKU_BUILD_TYPE)
* Cleanup duplicate references to basic packages - those are now added
by the topmost Jamfile (no longer referenced by the build profiles).


# 8219739b06e1f6357e73c7992c6a18c0af220045 02-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Put curl on every image, as it is required by the haiku package.


# 91e3737dd8a7b24cb60d13c5d7cc66ad4c175934 25-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

gawk: use the HaikuPorts package.

* left the in-tree version as its libintl is used by gdb.
* added as bootstrap package.


# 8b804bc17b2fe8e85fbdca88c0f8c27bed3648a2 25-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

findutils: use the HaikuPorts package.

* removed in-tree version.
* added as bootstrap package.
* note: HaikuPorts package has no rdef for binaries.


# be5e6fefdfbc9f98011e65f4acf1efb635d35f8c 18-Jan-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add repository config for the Haiku repository to the image

* HaikuRepository rule: Create the repository config.
* HaikuImage: Add the repository config for the Haiku image. The
repository cache is not added, though (it would only be available, if
the repository had been built before).

Implements #10287. The Haiku repository is now available in Haiku by
default.


# 5fd5e562aa8b8ae91cc4d3609d7bbea5a4d9ff4f 23-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

GL: Ensure mesa_devel and mesa_swrast are always present

* As the OpenGL kit is assumed by most ports (and BeOS apps)
to "exist", lets make mesa_devel present by default until
post R1
* mesa_swrast ensures we always have the basic swrast renderer
To play with mesa_swpipe (gallium llvmpipe, gcc4) uninstall
mesa_swrast and install mesa_swpipe. (you can install both,
but it's first renderer found, first used atm)


# d85bab41bd6873ef4b0cfc02c3b0bb5f224317d2 22-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add target for building a Haiku package repository

* Add rule HaikuRepository to build a repository from a repository info
file and a list of package files. It calls a build_haiku_repository
script which does all the work.
* Add target <repository>haiku for building the Haiku package
repository.
It should be built via "jam -q @alpha-raw build <repository>haiku";
the build profile is only needed to activate all build features.


# ab1ba83536e1d4b80c0ee35e86b5c9de8f49cb12 20-Oct-2013 Matt Madia <mattmadia@gmail.com>

Add 'which' to the "mandatory" packages.

Note: untested on non-x86 archs.


# f73f5d4c42a01ece688cbb57b5d332cc0f68b2c6 29-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Initial changes to remove /boot/common

* find_directory() and hard-coded paths use /boot/system instead of
/boot/common.
* The build system creates the writable directories in /boot/system
instead of /boot/common.
* The build system no longer installs any packages in /boot/common.


# 24796718b99aff208846310dd982c5c41d5e7eff 17-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Bootstrap Haiku image: add source for more required packages

* Introduce build variable HAIKU_IMAGE_ADDITIONAL_PACKAGES which can be
set to add additional packages to the image.
* Use HAIKU_IMAGE_ADDITIONAL_PACKAGES to support specifying a list of
additional packages via the build-package-list build profile action.
* Add htmldoc and texi2html when building the list of the packages for
which we need source packages when building the bootstrap Haiku image.
We don't want them on the regular image, but they are needed to build
some packages that are on it.


# 271e9484edaefffa11528782abf3734888153a5c 10-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Build secondary architecture Haiku package for regular image

Also add secondary architecture packages to image.


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

Fix usage of obsolete HAIKU_BUILD_FEATURE_OPENSSL_ENABLED


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


# 48b1ed424227095ac7e4c67074ff4681601dc3eb 23-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add all bootstrap packages in DefaultBuildProfiles

* Don't handle the bootstrap case in the main Jamfile. Add all bootstrap
packages to the image in the profile definition. That's less
confusing, hopefully.
* Add the missing bootstrap packages (ncurses*, libtool_libltdl). The
would normally be added in build_haiku_image when the package
dependencies are resolved, but we don't do that for the bootstrap
image, since we intentionally leave some dependencies out (e.g. perl)
because they can be built.


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

Remove more stuff from the Haiku bootstrap packages/image

Namely GL/Mesa and libtiff.


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

Beginnings of support for building a bootstrap Haiku image

Copy:
* packages: Haiku -> HaikuBootstrap
* images: HaikuImage -> HaikuImageBootstrap
... and remove some unncessary content.

Setting the jam variable HAIKU_BOOTSTRAP_BUILD enables using the
bootstrap files.


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

Move image definition jamfiles to build/jam/images


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


# 5a7d7bc5ddf4ca5ec9797e24f07f1b313eed4e8e 30-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove *Kit pseudo targets from root Jamfile


# ef0c2a820bf1f11f12584307200b7a5cf95c9642 10-May-2013 Jérôme Duval <jerome.duval@gmail.com>

HaikuImage: use the same HaikuImage Jamfile for x86 and x86_64


# f0cacbb32ba55d1fb4bdbd71152e57a3da3f290e 08-Dec-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

OptionalBuildFeatures -> BuildFeatures, make use of new rules

Got rid of X86_ONLY and friends in HaikuImage, FloppyBootImage, etc.
Instead we use build feature specification annotated lists with
FFilterByBuildFeatures (either explicitly or implicitly where passing
the list directly to the image rules).

I just translated the variables to the respective annotatation in most
cases, though in some cases different annotation would be more correct
(e.g. for the OpenGL stuff).

Provides a simple framework for addressing #3798. The interested reader
may add the build features and add/adjust the annotations accordingly.


# 700c8d3078c1caf65667b7cbb955527d524ff07c 22-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Support building images for x86_64.

Added a temporary Haiku64Image file that gets included instead of
HaikuImage when building for x86_64, which I will add to as I port
stuff. Images currently only include the boot loader, kernel and
a bunch of add-ons.


# f4eb5cf7e18054ccddc100e43116db37c5227392 09-Jul-2012 Matt Madia <mattmadia@gmail.com>

Process the sub-jam's opt packages before OptionalBuildFeatures

Several build features (including a future patch for WebKit)
are enabled only if a respective optional package is added.
Prior to this, none of those build features could be activated
in a sub-jam process.


# 60f75e901ce3063c63441ac644dd0e55a17d5d09 04-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

Merge liblocale.so into libbe.so.

* Make the locale kit a part of libbe.
* Drop the LocaleBackend kludge used from within libbe (and from
other places, too) in order to access system catalog strings.
This is now done via gSystemCatalog, which is provided and initialized
by libbe.
* Drop all references to liblocale.so from all Jamfiles.
* Add legacy symlink liblocale.so in order to keep optional packages
that rely on it in a working state.

TODO: the documentation hasn't been updated.


# 0fdf2b41aab4a13c77fcb1c0d5761afeccc5650b 31-Oct-2010 Matt Madia <mattmadia@gmail.com>

Some cleanup. Removed 'alltests' as there are no other references to its
dependencies. Commented out GLInfo from OpenGLKit as it was removed in r33115.
Added some TODO's for MediaKit and LocaleKit.


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


# 9de5b022528d89a7b67ee0dfcda2c4f3b8df707e 24-Oct-2010 Matt Madia <mattmadia@gmail.com>

Renamed the variables for the catalogs and re-introduced the target 'catkeys',
which builds just the en.catkeys inside HAIKU_OUTPUT_DIR/objects/catalogs


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


# a8fcb885b086ab456cb5ce297939c5d912c6726d 23-Oct-2010 Matt Madia <mattmadia@gmail.com>

Improved upon r39090.
* removed the catkeys pseudo-target
* created catalogs pseudo-target, which builds all catalogs & en.catkeys(.pre)
* created LocalizedTargets pseudo-target, which builds all targets that have
been localized.


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


# 80ad173e8928f1f6659bb5065334567703065896 23-Oct-2010 Matt Madia <mattmadia@gmail.com>

Introduced a pseudo-target "catkeys", for building all of the localized
applications. The eventual goal is to have jam package a catkeys.zip,
which can be provided to the application translation websites.


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


# ad0bdcaa37ed1cd9b12eca947a23458affd4b9e1 23-Oct-2010 Matt Madia <mattmadia@gmail.com>

Automatic whitespace cleanup. No functional change.

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


# 2a90ce534c7dc60ca4060a5f6e7b60bc68b8d511 14-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Actually include ICU 4.4 in the image we build
Note this doesn't fix everything yet, apparently there is a problem with ICU genereating an invalid opcode exception.


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


# 546fac2d14873647600c3e5ec94032296b410961 13-Jul-2010 Philippe Houdoin <philippe.houdoin@gmail.com>

Removed NetworkingKit pseudo-target from OpenBeOS era: useless since long already.


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


# 69681c7500dbfdd0c81bf5856a6dfbc9c8cc4a71 15-Mar-2010 Jérôme Duval <korli@users.berlios.de>

fix typo


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


# 0e82d313d6b0daf800160322c7f9820cd15e26b8 15-Mar-2010 Matt Madia <mattmadia@gmail.com>

Allows AddOptionalHaikuImagePackages and OptionalPackageDependencies to work in
arbitrary order. Follow-up to r35830.


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


# 429618d249dd14ab73931a7b2a876d2adc56cd64 12-Mar-2010 Matt Madia <mattmadia@gmail.com>

Moves the conditional adding of OpenSSL from HaikuImage to the root Jamfile.


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


# a5c31cbbc00c119a580b7229adfa692a641e91ba 12-Mar-2010 Matt Madia <mattmadia@gmail.com>

* Introduced "MandatoryPackages", which is added to all default images
* Renamed "BasicCommandLinesTools" to "Sed"
* Removed isCDPackage's parameter from "Sed"s InstallOptionalHaikuImagePackage
* Currently, "MandatoryPackages" only dependency is "Sed"
* Fixes #5560


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


# 100e91926caf03afee1030bcd0d6f6e4f2db1d01 28-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

Adding buildsystem support for the "anyboot" images. They can be built using
the haiku-anyboot-image pseudo target. As I'm not too much at home with Jam I'd
appreciate any input. Especially for the TODO where removing the MBR using
RmTemps seems to cause a failure to get it built again every other time.


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


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

* Use the new Add{Files,Symlink}ToHaikuHybridImage rules in HaikuImage and
OptionalPackages. This makes the content definition part in
AlternativeGCCArchive superfluous.
* Moved the cc and c++ wrapper scripts from src/bin to data/bin.
* Added build variable HAIKU_ADD_OPTIONAL_PACKAGES to add optional packages
-- the list can be separated by slashes to allow easier passing through
the shell.
* When invoking the sub-jam that builds the alternative GCC archive, we force
it to ignore the UserBuildConfigs and we enable the optional packages
enabled in the main jam.
* Reorganized /boot/develop:
- There's now an "abi" subdirectory containing a <arch>/<gcc>/ subdirectory
for each installed ABI-incompatible gcc version and a "current" symlink
pointed to the currently selected one.
- All ABI-dependent directories under /boot/develop/ (lib/x86, headers/cpp,
tools/gnupro) symlink into /boot/develop/abi/current.
- Changed BELIBRARIES to contain
/boot/develop/abi/current/library-paths/common instead of /boot/common/lib.
The former is a symlink to either /boot/common/lib or
/boot/common/lib/<gccVersion>. There's also a respective "home" symlink.
- Repackaged the optional binutils+gcc 2/4 packages accordingly. Also fixed
the obsolete /boot/beos/system/lib/libstdc++.so symlink in the gcc 4
package.
- The new structure allows to switch between compilers by changing the
/boot/develop/abi/current symlink. Added script setgcc to do that.


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


# 723383c0f41f8d3833d7792e5b3fc70c4068bd47 01-May-2009 Oliver Tappe <zooey@hirschkaefer.de>

Applied patch by PulkoMandy, adjusted and extended by myself:
* integrating most of the locale kit into the build (and image)
* removed LocaleBuild.h and _IMPEXP_LOCALE since that does not make
sense for elf (which usually exports all symbols anyway)
* added a couple of locale kit related pseudo targets for convenience
Hey, some of that stuff already seems to work :-)

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


# ad27081fa6fe9a550769394390023dd66d3649f6 06-Dec-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Missed to check this one in:
* Invoke the UserBuildConfigRulePostBuildTargets rule.
* Some automatic whitespace cleanup.


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


# c7d3cf5b8aef81654f2e3416034302bb63b3232c 06-Nov-2008 François Revol <revol@free.fr>

First attempt at a PPC bootable iso, doesn't work yet.


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


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

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


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


# 9ed64004cc51a220be8c9d1860aab494d56db063 01-Mar-2008 François Revol <revol@free.fr>

Rules and targets to build a boot CD iso... use:
jam haiku-boot-cd


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


# 22ec1df3f0bbe72c63303d1df4ca0977c0d17782 01-Mar-2008 François Revol <revol@free.fr>

Add rules to create a boot floppy (use jam haiku-boot-floppy), in preparation for CD booting.


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


# a7ec9c1d594476b4c68e865467e9ccfe3a428a9f 11-Jan-2008 François Revol <revol@free.fr>

Hook in 3rdparty/ to the main build.
Currently it's optional, you must define HAIKU_INCLUDE_3RDPARTY in [User]BuildConfig.


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


# 689e67941d3387a62f08e62fbbca926a83131b75 26-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Reset the correct subdir environment before doing the final stuff (haiku
image, netboot archive, etc).


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


# b39c8d3711299d7ff89bbb725ad5ce6036d5c4db 10-Jul-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

* Refactored the image creation rules. There are now generalized rules that
work on arbitrary "containers". The image rules are just
specializations.
* Added rules, a definition file (build/jam/NetBootArchive), and a shell
script for creating a gzipped tar archive containing kernel and modules
required for network booting (the contents may need some fine-tuning).
ATM it can be built via the haiku-netboot-archive pseudo target. It is
generated in the output directory (e.g. "generated").


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


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

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


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


# 1effc98815277c934dbc74f3847abf5dd4b525b7 15-Dec-2006 DarkWyrm <darkwyrm@gmail.com>

Add the spam filter and server to the MailKit pseudo-target


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


# 1559de12858d7c0768e9d737edb5d9f37fdcc777 29-Aug-2005 Jérôme Duval <korli@users.berlios.de>

added screensaver kit package


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


# 99a77abfdfc2adafa32dbef47ce531d8955dfd88 28-Jul-2005 Philippe Houdoin <philippe.houdoin@gmail.com>

Added an OpenGLKit pseudo-target.


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


# 184dd027c31a5c019636ac89535a4d30a64bfc51 05-Jul-2005 Marcus Overhagen <marcusoverhagen@gmail.com>

adjusted media kit library dependencies to allow compiling for R5


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


# 215c91dfb16672b9d1787905ff352e427508399c 10-Jun-2005 David McPaul <dlmcpaul@gmail.com>

Added mov_reader to media kit - Very Alpha

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


# dfac3f8555b052f8865a38a5ffd086183fd89f20 25-Dec-2004 beveloper <beveloper@nowhere.fake>

added matroska to jamfile


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


# d3e72bf66aba44727004fd91b113795e659adec3 07-Oct-2004 Jérôme Duval <korli@users.berlios.de>

added an input kit target


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


# 4e7ab2f1d336a72ddd5c89e9a943e1e647cfb2bd 30-Sep-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

Add latests network drivers to NetworkingKit pseudo-target.
Add a MailKit pseudo-target to build the whole mail kit simply.


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


# 28a06094b2a1b2239861d222260e501413990cde 15-Aug-2004 beveloper <beveloper@nowhere.fake>

Modified media_server and media_addon_server cration/terminatio.
Now uses application mime sig for start/stopping. Much better
compatibility with libbe.so restarting functions.


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


# ed942695d69a747864600ba6790577a57c0c4dfe 15-Aug-2004 beveloper <beveloper@nowhere.fake>

added more targets to the "MediaKit" jam target


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


# 6c3f95cd4b42488db8246dd5241dd9dbef90b9ee 15-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added libbind.so and libsocket.so to NetworkingKit target.


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


# 79a14ca58fcb4a5b6ef9401e4bbc4cf9dac4dee3 30-Mar-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added route to NetworkingKit target (and renamed route (the command) to <bin>route).


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


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

added ac3-decoder to the MediaKit target


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


# df016bba35caeaf90c6053d79d4bba4ec8c8eef8 25-Jan-2004 beveloper <beveloper@nowhere.fake>

media kit plugins update


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


# ca1e03bddc2a182213e769af553498795cb3f107 01-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added modem to PPP devices (in NetworkKit target).


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


# 4a687b079daebefac325226e37e2729fc22a41e3 25-Dec-2003 beveloper <beveloper@nowhere.fake>

added a few media kit targets


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


# 1b1b7ddf8f67ee6e19e57287b59662998a827805 06-Dec-2003 beveloper <beveloper@nowhere.fake>

remove warnings


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


# ef0e9a6aba4cdf6aa9d90cb0328cc2784b6941c2 26-Nov-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Added IPCP and PAP to Networking-Kit pseudo-target.
Added some comments.


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


# 83abf055e97a0465c4af673236b7be503767bb84 21-Nov-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Update MediaKit pseudo target to include newer add-ons and plugins.


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


# b82b832e8cc74df716e05c759eab408adce26246 23-Oct-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Added ppp, pppoe, and pppconfig to NetworkingKit.


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


# 0b153628d89bbbb9e9d3b242308a979e4b6ac7be 07-Sep-2003 beveloper <beveloper@nowhere.fake>

added media demo nodes


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


# ceeee96387d4c648592f3e930eff6fa1f51c1de9 18-Jun-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Add sis900 and rtl8139 network adapters drivers to the whole network build.


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


# 4d48a4d0937b0644727644db1c4f36a27d59f7f0 01-Jun-2003 beveloper <beveloper@nowhere.fake>

fixed mixer target name


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


# 047625c2c5089832fcb35570da74bd6371dd74c5 30-May-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Quick pseudo-target hack to build MediaKit only.


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


# 5c3a520419aaf180b39be904bb830629e06d2bbf 12-May-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Change pseudo target net_stack into a simpler one: running "jam NetworkingKit" will
build all Networking Kit stuffs.


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


# 58f2dcabcb71646bb79dd17ed2d0e2cf22772baa 12-May-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Added a pseudo target to ease building only net stack.


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


# 07a49963049a9a5422837dc3208f01324ab4a912 19-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added pseudo target alltests as a short hand for r5tests+obostests. Just 'tests' would be nicer but we have several dirs with that name.


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


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

Added installfloppy target.


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


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

Removed the kernel building lines as they are in src/kernel again.


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


# 8a0ccf997a5666292702893a19b85ea8ce1421cc 12-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

There mustn't be any rules after a SubInclude.


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


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

Whoops! Forgot to move the final kernel link and floppy creation lines
here :)

Thanks to Marcus for pointing this out to me.


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