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