The "exec" tool can only handle one command with environs set at
the beginning of the line, so now we set the ADD_BUILD_COMPAT...
in this format. This also seems to be a general performance
improvement to builds using real shells, too.
Change-Id: If4b3117651b5475039d5e8116cd3de398582290a
As Jam prints the entire erring command on failure, including this if-test
in the command itself makes the output somewhat difficult to decipher.
So instead we use two separate rules based on whether or not NO_DOWNLOADS
is set or not.
Previously only the "effective revision", i.e. the hrev by itself,
was used. Now we include the "commits ahead" count and the "dirty" flag,
if they're there, using _ instead of - of course.
Change-Id: I5238d01926c2cca242bffbdef30bff606a173a06
Reviewed-on: https://review.haiku-os.org/596
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit e7c5d994267fb7d49e3dd50c2854e9b37c9ffca1)
Reviewed-on: https://review.haiku-os.org/597
* I shrunk this down, but it seems like packages.haiku-os.org
is taking an long time to access some packages (>10 sec)
* This should help relability of package downloads until
someone checks out why connections take so long
* If --no-downloads has been given, Haiku will be built without
trying to download anything, all required packages need to be put
into the download folder manually (the build will stop on missing
packages).
* As the required HaikuPorts repository can't be downloaded in this
mode, a local repository is created during the build, which only
contains the packages available in the downloads folder.
This is useful for building Haiku completely from source.
We now only attempt to strip binaries, by detecting the
LINKFLAGS variable on the targets.
CopySetHaikuRevision now also forwards LINKFLAGS
to revisioned binaries.
Introduce separate AppendToContainerCopyFilesScriptStripFile actions
which are used for copying and stripping, and avoids many useless
shell tests.
When asked to strip binaries, they are detected and handled
individually for simplicity.
Note we still don't keep resources and attributes when stripping.
* Remove support for VCSs other than git.
* Make the haiku-revision file a regular build target and make sure it
is built only once.
* Make determine_haiku_revision an actual shell script and simplify
it a bit.
* 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).
* The call to the dummy actions isn't needed
* The calls to Extract{Zip,Tar,HPKG}Archive1 couldn't work like that.
The directory has to be the main target, since ExtractArchive is
potentially invoked multiple times with different extracted file
targets and the Extract*Archive1 is only invoked the first time.
Tested only with the HPKG actions, but they others should work as
well.
Introduce HAIKU_DOWNLOAD_CACHE variable that can point to a directory.
containing optional packages to check first before downloading.
Missing packages are also added to the cache.
This allows sharing and reusing them to make builds without a connection.
Allow wget to output to files with spaces in the DownloadFile rule.
Fixes#7609.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42015 a95241bf-73f2-0310-859d-f6bbb57e9c96
* convert determine_haiku_revision to only contain functions and now pass the arguments
via function call
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41539 a95241bf-73f2-0310-859d-f6bbb57e9c96
* break out most of the CopySetHaikuRevision action into a separate script:
determine_haiku_revision
* fix git branch detection such that it'll actually work for local branches (thanks to
Andreas Färber for the hint)
* add some sanity checks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41520 a95241bf-73f2-0310-859d-f6bbb57e9c96
extracts the files, even when the specified target directory exists.
Fixes#7425. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41211 a95241bf-73f2-0310-859d-f6bbb57e9c96
CopySetHaikuRevision: Added support for extracting the svn revision number
from an hg repository.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35926 a95241bf-73f2-0310-859d-f6bbb57e9c96
* InstallOptionalHaikuImagePackage: Made the first argument an actual file
name, i.e. the extension ".zip" is no longer appended by it.
* Renamed rules UnzipArchiveTo{Container,HaikuImage} to
ExtractArchiveTo{Container,HaikuImage} and generalized them to support
tgz/tar.gz archives (implemented in build_haiku_{image,cd}).
* Removed DownloadOptionalPackage. DownloadFile is used instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35634 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Renamed DownloadFile to DownloadLocatedFile.
* Pulled a generalized rule DownloadFile out of DownloadOptionalPackage.
* Added InstallSourceArchive rule which can be used in OptionalPackages to
add sources for installed packages to the image.
* Added configure option --include-sources to enable including the sources
for third party software in the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35617 a95241bf-73f2-0310-859d-f6bbb57e9c96
repository, not mirroed via git-svn. Calling git-svn on a plain
repository seems to cause it to go haywire.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33192 a95241bf-73f2-0310-859d-f6bbb57e9c96