#
9d87b2c5 |
| 15-Sep-2019 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Revert "Jamrules: Include the UserBuildConfig before processing repositories."
This reverts commit 7115cef98944c1bd53960441894010b1f60811b9.
It prevents using UserBuildConfig to decide what package
Revert "Jamrules: Include the UserBuildConfig before processing repositories."
This reverts commit 7115cef98944c1bd53960441894010b1f60811b9.
It prevents using UserBuildConfig to decide what packages gets included in the resulting image.
show more ...
|
#
7115cef9 |
| 13-May-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
Jamrules: Include the UserBuildConfig before processing repositories.
Repository processing triggers HAIKU_REVISION computation, and it is intended that the UserBuildConfig can override or set HAIKU
Jamrules: Include the UserBuildConfig before processing repositories.
Repository processing triggers HAIKU_REVISION computation, and it is intended that the UserBuildConfig can override or set HAIKU_REVISION.
Fixes #14834.
show more ...
|
#
633e29ae |
| 22-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
Jamrules: Add a hard requirement on the new Jambase.
And remove the overridden rules that were migrated back to it.
|
#
f2b20de6 |
| 03-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
Jamrules: Fix instantiation of HAIKU_ABSOLUTE_OUTPUT_DIR.
That's what I get for copy-pasting without reading over what I just did...
|
#
68191643 |
| 03-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
build: Add HAIKU_ABSOLUTE_TOP and use it to root BootArchive.
Strictly POSIX-compliant shells (like dash) do not allow sourcing files in the present directory without "./". The script really should
build: Add HAIKU_ABSOLUTE_TOP and use it to root BootArchive.
Strictly POSIX-compliant shells (like dash) do not allow sourcing files in the present directory without "./". The script really should not know or care about what directory the passed files are in, so now we add a jam grist to make the passed paths absolute.
Fixes the build on all systems where /bin/sh is dash or a similarly POSIX-compliant-no-extensions shell (i.e. virtually all Linux.)
show more ...
|
#
c52d856e |
| 02-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
Jamrules: Permit (but don't advertise) support for any relative path.
This allows fully "shadowed" builds to work, as the buildbots do.
|
#
f7b5d8a1 |
| 02-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
Jamrules: Print the path to the repository root in the error case.
|
#
3facc270 |
| 02-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
Jamrules: Force HAIKU_TOP to be relative.
Prior to hrev47631 (2014), HAIKU_TOP was relative when jam was invoked from the repository root, and not relative when jam was invoked from any other locati
Jamrules: Force HAIKU_TOP to be relative.
Prior to hrev47631 (2014), HAIKU_TOP was relative when jam was invoked from the repository root, and not relative when jam was invoked from any other location, including "generated." In hrev47631, Jamrules was changed to be as it was before this commit, in order to fix #11101 (Haiku repository creation failed due to the use of relative paths.)
GCC, however, injects the full path passed to the compiler into some symbols under certain circumstanes (anonymous namespaces, for one), and so a relative path for more reproducible builds is preferred. It seems the aforementioned bug is no longer with us, as a full image build that I did with this change worked just fine.
Note that you will have to run "configure --update" after this in the case that you usually invoke "jam" from the generated directory, as the Jamfile configure generated included absolute paths. (The reminder to do that this diff includes can be removed after some reasonable amount of time.)
show more ...
|
#
dd9b4a3f |
| 22-Jun-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
build: delete DocumentationRules.
These were only used as an experiment for converting coreutils manpages to different formats, and as coreutils is no longer in the tree, they aren't used.
|
#
87e8603d |
| 13-Aug-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Merge branch 'gcc_syslibs'
* From now on, the gcc-specific system libraries (libgcc, libsupc++ and libstdc++) are provided by separate packages built along with gcc: - gcc_syslibs contains the s
Merge branch 'gcc_syslibs'
* From now on, the gcc-specific system libraries (libgcc, libsupc++ and libstdc++) are provided by separate packages built along with gcc: - gcc_syslibs contains the shared libraries (libgcc_s.so, libsupc++.so and libstdc++.so) - gcc_syslibs_devel contains the static libraries and both c++ and gcc headers The shared libraries now make proper use of symbol versioning and there are version-specific symlinks * The buildsystem has been adjusted to no longer use the libraries and headers from the cross-compiler, but use the ones provided by the above-mentioned packages. The only exception is that the 32-bit libraries required for the bootloader of the x86_64 architecture are still taken from the cross-compiler.
show more ...
|
#
63cc5547 |
| 06-Aug-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Fix #11101: Broken Haiku repository creation.
* Invoking jam from Haiku's checkout directory (instead of the output directory) caused the repository creation to fail because of relative paths to
Fix #11101: Broken Haiku repository creation.
* Invoking jam from Haiku's checkout directory (instead of the output directory) caused the repository creation to fail because of relative paths to package files being used. Now we make sure that HAIKU_TOP is an absolute path to avoid problems like these.
show more ...
|
#
ed25955a |
| 26-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Add SystemLibraryRules.
* This file contains jam rules for getting the different versions of libgcc, libsupc++ and libstdc++ used throughout Haiku's build system. * Additionally, there are rules
Add SystemLibraryRules.
* This file contains jam rules for getting the different versions of libgcc, libsupc++ and libstdc++ used throughout Haiku's build system. * Additionally, there are rules for accessing the c++ headers and the gcc headers. * These rules are included by Jamrules, but not yet used anywhere.
show more ...
|
#
e6d5152f |
| 16-Jun-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Make all directories overridable by environment.
|
#
a8c098a3 |
| 22-Mar-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Replace HAIKU_{BOOTSTRAP,MINIMUM}_BUILD with HAIKU_BUILD_TYPE.
* Instead of separate variables, HAIKU_BUILD_TYPE is set to one of 'bootstrap', 'minimum' or 'regular'. * Adjust uses of HAIKU_BOOTST
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.
show more ...
|
#
9f81ca83 |
| 27-Sep-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge branch 'package-management'
Conflicts: src/preferences/network/Jamfile
|
#
d31a50ee |
| 04-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move build feature rules to separate file
|
#
b0944c78 |
| 01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support
* All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel a
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).
show more ...
|
#
c0e8cc1a |
| 25-Jul-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
configure: prepare for hybrid support
The goal is to do hybrid builds in a single jam (instead of calling a sub-jam to build parts with the secondary tool chain). This changeset adds support to conf
configure: prepare for hybrid support
The goal is to do hybrid builds in a single jam (instead of calling a sub-jam to build parts with the secondary tool chain). This changeset adds support to configure to prepare multiple tool chains.
configure: * Merge option --build-cross-tools-gcc4 into --build-cross-tools. The option does now always require a packaging architecture parameter, i.e. x86_gcc2 for the legacy tool chain. * Multiple occurrences of the --build-cross-tools and --cross-tools-prefix options are allowed. The first one specifies the primary tool chain, the subsequent ones the secondary tool chains. * All architecture dependent jam variables are now suffixed with the name of the packaging architecture. The new HAIKU_PACKAGING_ARCHS contains the packaging architectures for the prepared tool chains. The first element is for the primary tool chain. * No longer generate a separate libgccObjects file. Just put the respective variable into BuildConfig as well.
build_cross_tools[_gcc4]: * Replace the <haiku output dir> parameter by a <install dir> parameter. This allows to create different cross-tools directories. They are simply suffixed by the packaging architecture.
Jamrules: * For the moment map the variables for the primary tool chain to the respective suffix-less variables, so that everything still works as before.
The next step is to actually support the secondary tool chains in the jam build system. This will require quite a bit more butchering, though.
show more ...
|
#
e173a1ec |
| 21-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
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.
show more ...
|
#
b9eec519 |
| 21-Jul-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Include DefaultBuildProfiles earlier
DefaultBuildProfiles is now included earlier (right after BuildSetup). This allows us to set HAIKU_BOOTSTRAP_BUILD earlier, so it can be used for the repository
Include DefaultBuildProfiles earlier
DefaultBuildProfiles is now included earlier (right after BuildSetup). This allows us to set HAIKU_BOOTSTRAP_BUILD earlier, so it can be used for the repository selection. The actual build profile definitions, which cannot be done that early, live in the rule DefineDefaultBuildProfiles, which is invoked where the file was previously included.
show more ...
|
#
ec945b7f |
| 07-Jul-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
ReleaseBuildProfiles -> Default*, add bootstrap profiles
|
#
d72ce066 |
| 06-Jul-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Adjust to changed HaikuPorts repository layout
The package kit actually requires the files "repo", "repo.info", "repo.sha256" to be located under the repository base URL, so the approach to name the
Adjust to changed HaikuPorts repository layout
The package kit actually requires the files "repo", "repo.info", "repo.sha256" to be located under the repository base URL, so the approach to name the repository file "repo-<hash>" doesn't work. Now there's a directory "<hash>" which contains the files.
This commit moves the computation of the hash and downloading the repository file from the build_haiku_image script to the jam build system. The repo.info is also downloaded and a repository config file is generated.
show more ...
|
#
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
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.
show more ...
|
#
25a7b01d |
| 05-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature
Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature "gcc2" to allow for easier checks. * Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter is not needed and prevents building for the build platform. * zlib/zutil.h: Fix gcc 2 build. We really should use the external package instead.
Conflicts: .gitignore build/jam/BuildSetup build/jam/FileRules build/jam/FloppyBootImage build/jam/HaikuImage build/jam/ImageRules build/jam/KernelRules build/jam/NetBootArchive build/jam/OptionalBuildFeatures build/jam/OptionalLibPackages build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_haiku_image configure data/bin/installoptionalpackage data/system/boot/Bootscript headers/os/app/Message.h headers/os/package/PackageInfo.h headers/os/package/PackageInfoAttributes.h headers/os/package/PackageInfoSet.h headers/os/package/PackageRoster.h headers/os/package/PackageVersion.h headers/os/package/hpkg/PackageInfoAttributeValue.h headers/os/storage/FindDirectory.h headers/os/storage/Node.h headers/os/support/StringList.h headers/private/system/directories.h src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp src/add-ons/kernel/file_systems/packagefs/Jamfile src/add-ons/kernel/file_systems/packagefs/Package.cpp src/add-ons/kernel/file_systems/packagefs/Package.h src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp src/add-ons/kernel/file_systems/packagefs/PackageDomain.h src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageNode.h src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp src/add-ons/kernel/file_systems/packagefs/Version.cpp src/add-ons/kernel/file_systems/packagefs/Version.h src/add-ons/kernel/file_systems/packagefs/Volume.cpp src/add-ons/kernel/file_systems/packagefs/Volume.h src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c src/apps/deskbar/BarApp.cpp src/apps/deskbar/BarMenuBar.cpp src/apps/deskbar/BarMenuBar.h src/apps/deskbar/BarView.cpp src/apps/deskbar/BarView.h src/apps/deskbar/BarWindow.cpp src/apps/deskbar/BarWindow.h src/apps/deskbar/DeskbarMenu.cpp src/apps/deskbar/DeskbarMenu.h src/apps/deskbar/DeskbarUtils.cpp src/apps/deskbar/DeskbarUtils.h src/apps/deskbar/ExpandoMenuBar.cpp src/apps/deskbar/ExpandoMenuBar.h src/apps/deskbar/TeamMenu.cpp src/apps/processcontroller/ProcessController.cpp src/apps/remotedesktop/RemoteDesktop.cpp src/bin/bash/config-top.h src/bin/finddir.c src/bin/package/Jamfile src/bin/package/command_add.cpp src/bin/package/command_create.cpp src/bin/package/command_list.cpp src/bin/package_repo/command_list.cpp src/bin/pkgman/command_refresh.cpp src/build/libbe/support/Jamfile src/build/libpackage/Jamfile src/build/libroot/Jamfile src/build/libroot/fs.cpp src/build/libroot/remapped_functions.h src/kits/locale/MutableLocaleRoster.cpp src/kits/opengl/GLRendererRoster.cpp src/kits/package/PackageInfo.cpp src/kits/package/PackageInfoSet.cpp src/kits/package/PackageRoster.cpp src/kits/package/PackageVersion.cpp src/kits/package/RepositoryCache.cpp src/kits/package/hpkg/PackageWriterImpl.cpp src/kits/package/hpkg/ReaderImplBase.cpp src/kits/package/hpkg/WriterImplBase.cpp src/kits/print/PrintTransport.cpp src/kits/print/Printer.cpp src/kits/screensaver/ScreenSaverRunner.cpp src/kits/support/StringList.cpp src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/PoseView.cpp src/libs/print/libprint/Transport.cpp src/preferences/printers/AddPrinterDialog.cpp src/preferences/screensaver/ScreenSaverWindow.cpp src/servers/debug/DebugServer.cpp src/servers/input/AddOnManager.cpp src/servers/media_addon/MediaAddonServer.cpp src/system/boot/Jamfile src/system/boot/loader/Jamfile src/system/boot/loader/loader.cpp src/system/boot/loader/vfs.cpp src/system/kernel/fs/vfs.cpp src/system/kernel/fs/vfs_boot.cpp src/system/libroot/os/find_directory.cpp src/system/runtime_loader/runtime_loader.cpp src/tools/package/Jamfile
show more ...
|
#
77d95e1d |
| 18-Nov-2012 |
François Revol <revol@free.fr> |
Merge branch 'master' into sam460ex
Conflicts: src/system/boot/platform/u-boot/arch/ppc/Jamfile
|