History log of /haiku/build/jam/packages/HaikuCrossDevel
Revision Date Author Comments
# 47320dd0 06-Oct-2020 Augustin Cavalier <waddlesplash@gmail.com>

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

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

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


# e29a6c4c 11-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Introduce stage0 into the bootstrap process.

* This stage builds the gcc packages to get the shared syslibs, which
only requires the Haiku glue code.
* Add separate declaration section for stage0 packages to
HaikuPortsCross repository files.
* For the bootstrap_stage0 platform, fall back to the gcc headers
provided by the cross-compiler.


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


# 82e975d7 02-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Add libnetwork.so to stage1 of bootstrap build.


# 833b6688 02-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

cross devel hpkg: use suffix/subdir for secondary arch

* Libraries for a secondary architectures must be placed in a respective
subdir.
* Add a suffix to the package name when building for a secondary
architecture. Looks a bit weird
("haiku_cross_devel_sysroot_x86_gcc_x86.hpkg"), but is consistent.


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


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


# 21b3820e 19-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add libbsd to cross devel package


# 872e7aa2 04-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Rename haiku_cross_devel packages.

* haiku_cross_devel is now haiku_cross_devel_sysroot
* haiku_cross_devel_wrapper is now haiku_cross_devel


# eeddc9fd 04-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix paths in haiku_cross_devel packages.

* since this is now meant to be installed into an architecture-specific
(sysroot-)folder, we need to drop the architecture-specific subpaths


# 02783d54 03-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Add new package haiku_cross_devel_wrapper.

* this package wraps the haiku_cross_devel package (i.e. it contains
that package in /develop/cross)
* the wrapper package is meant to be installed into the system
hierarchy, from where haikuporter will fetch the contained package
when needed


# 7ea6bb13 29-May-2013 Oliver Tappe <zooey@hirschkaefer.de>

Add c++-libs to haiku_cross_devel.hpkg


# 77331895 19-May-2013 Oliver Tappe <zooey@hirschkaefer.de>

Add new package haiku_cross_devel.hpkg

* This package is meant for providing haikuporter with a development
environment for building cross packages.


# e29a6c4cd44f1b189b4938beea2b7ef1d0ce65f0 11-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Introduce stage0 into the bootstrap process.

* This stage builds the gcc packages to get the shared syslibs, which
only requires the Haiku glue code.
* Add separate declaration section for stage0 packages to
HaikuPortsCross repository files.
* For the bootstrap_stage0 platform, fall back to the gcc headers
provided by the cross-compiler.


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


# 82e975d7d2b6ff915f459c238f03dc2c17caa421 02-Mar-2014 Oliver Tappe <zooey@hirschkaefer.de>

Add libnetwork.so to stage1 of bootstrap build.


# 833b6688aac53531af3e0099f96a4b9e3acba5f5 02-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

cross devel hpkg: use suffix/subdir for secondary arch

* Libraries for a secondary architectures must be placed in a respective
subdir.
* Add a suffix to the package name when building for a secondary
architecture. Looks a bit weird
("haiku_cross_devel_sysroot_x86_gcc_x86.hpkg"), but is consistent.


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


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


# 21b3820e86796176dcb894fbf60daaf1574d5575 19-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add libbsd to cross devel package


# 872e7aa2a66c6d843335d42e6412e1236c445e19 04-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Rename haiku_cross_devel packages.

* haiku_cross_devel is now haiku_cross_devel_sysroot
* haiku_cross_devel_wrapper is now haiku_cross_devel


# eeddc9fd26f6f0eefec9fb16fda673111069340e 04-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix paths in haiku_cross_devel packages.

* since this is now meant to be installed into an architecture-specific
(sysroot-)folder, we need to drop the architecture-specific subpaths


# 02783d54bdb13f44e6d9d03e9f9ee206e7521872 03-Jun-2013 Oliver Tappe <zooey@hirschkaefer.de>

Add new package haiku_cross_devel_wrapper.

* this package wraps the haiku_cross_devel package (i.e. it contains
that package in /develop/cross)
* the wrapper package is meant to be installed into the system
hierarchy, from where haikuporter will fetch the contained package
when needed


# 7ea6bb13059c8754fcd6a7594a826e09d0510bd9 29-May-2013 Oliver Tappe <zooey@hirschkaefer.de>

Add c++-libs to haiku_cross_devel.hpkg


# 773318958f9c126e067bc7219fa157c291963aff 19-May-2013 Oliver Tappe <zooey@hirschkaefer.de>

Add new package haiku_cross_devel.hpkg

* This package is meant for providing haikuporter with a development
environment for building cross packages.