History log of /haiku/configure
Revision Date Author Comments
# 6f582441 29-Oct-2023 Kacper Kasper <kacperkasper@gmail.com>

Support repositories created with git worktree

* .git is a file in worktree-created copies.
* Determines the correct directory using git command, when
running configure.
* Fixes #16808.

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


# e9e00b80 20-Jul-2021 Jessica Hamilton <jessica.l.hamilton@gmail.com>

cross_tools: allow specifying a custom sysroot path

* Use with --sysroot /path/to/sysroot; useful for CI
environments and cross-building.

Change-Id: I27a93a5d209cd5324591587e85fce9b47c18172d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5318
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 4df4b48f 23-Mar-2022 Jérôme Duval <jerome.duval@gmail.com>

configure & build: make use of 64-bit libgcc and libsupc++ for EFI/x86_64

Change-Id: I7636530d927843d155b9d7dada2db4f67c875290
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5139
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
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>


# 31f27c4d 06-Feb-2022 Alexander von Gluck IV <kallisti5@unixzen.com>

boot/efi: Optionally sign our EFI bootloader

* The private keys are in possession of Haiku, Inc.

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


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

configure: Use IS_LEGACY_GCC instead of manually comparing GCC versions.


# f6381021 22-Oct-2021 Augustin Cavalier <waddlesplash@gmail.com>

Remove conditions for HOST_PLATFORM=msys.

It never really worked beyond the most basic of commands
and required a lot of hacks, and these days WSL should be used instead.


# 34fef46b 06-Sep-2021 Augustin Cavalier <waddlesplash@gmail.com>

configure: Pass -e to JAMSHELL.

We have a number of "actions" blocks in our Jam rules with more than
one command, and so without -e, the actions will only fail if the last
command does. This is clearly not what was intended in virtually all
cases, so we should pass -e to the shell to ensure any command failing
causes the whole actions to fail.

I am kind of surprised that nobody noticed this before now, even
in the original Jamrules going back to the Perforce days. I only
noticed it because I experimented with making "rm" fail to find
places where it was invoked instead of $(RM)...


# 04be20a7 01-May-2021 Jérôme Duval <jerome.duval@gmail.com>

Implement stack protection support

this adds kernel & libroot stack protector hooks. it uses /dev/random in userspace.
A configure option --enable-stack-protector is added to activate -fstack-protector
on selected system components (ATM apps, kits, servers).

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


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


# 14d8c772 11-Sep-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

configure: Break out cross-tools source path

* Stops the ackward "buildtools sources on first --build-cross-tools"

Change-Id: I683acf5ccc2a83b526a58aa54c7716d28d47b52d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3206
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>


# 583db6f5 08-Jul-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

configure: Properly detect clang version > 9

Change-Id: Ide083442fddc6f3f103f1ff3811a92d5db5c75a1


# 7d72ed01 29-May-2020 Augustin Cavalier <waddlesplash@gmail.com>

configure: Use /bin/dash as JAMSHELL if available.

On platforms (such as Haiku) where dash is available or can be installed
but is not the default /bin/sh, this can provide a significant improvement
to compile times vs. /bin/bash or other more complex shells.

At least under Haiku, this is around a ~10% "real" time gain for builds.

This also allows one to specify a JAMSHELL by passing that environ
to ./configure.


# 7a617f59 03-May-2020 Augustin Cavalier <waddlesplash@gmail.com>

configure & build: Add basic support for building with MSYS.

Also remove the MINGW support, as it was far too incomplete.

This *should* work under case-sensitive NTFS, but instead,
it seems #14963 occurs. So perhaps there is a GCC bug
related to case-sensitive vs. case-insensitivity after all.


# 78b22458 08-Feb-2020 Augustin Cavalier <waddlesplash@gmail.com>

configure: Building GCC2-only Haiku is not supported anymore.

Fixes #15682.


# 1f52c921 30-Aug-2019 Jaroslaw Pelczar <jarek@jpelczar.com>

ARM64: Initial changes so we can compile GCC toolchain

Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I0859d0619d601efd003472e2846d2f980ee2e457
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1799
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 2a1cc90e 27-Jun-2019 John Scipione <jscipione@gmail.com>

configure: use stat -f on bsds, -c otherwise

Move host platform detection up, fix indentation.

If the host platform is a BSD (darwin|freebsd|openbsd) use stat -f,
otherwise use stat -c to check for a restrictive umask.

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


# c59cde3d 03-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

riscv32: Drop any remaining mentions

* I added this early on, but to be honest, any interesting
workstation class hardware would be riscv64.
* Since riscv32 is mostly embedded or low power, just drop.

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


# f23db0ed 25-Mar-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

sparc: add to known architectures in configure script

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


# 2b200496 03-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

configure: Check for python the same way we check for sha256.

Avoids printing an extra line to stdout that users don't really
need to see.


# 17dc34ac 02-Mar-2019 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Build Configure for Python

Some operating systems only ship with Python 3 and the
binary for this is 'python3' instead of 'python' which
causes the Jam build process to fail because it expects
to find 'python'. This change will mean that the
configure process will detect this case and configure
the build to use the correct binary name.

Fixes #14938

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


# 5629675a 17-Feb-2019 Adrien Destugues <pulkomandy@gmail.com>

sparc: add defines and minimum set of required files

Gets the stage0 bootstrap to run.
Imlementation is probably nonsense at this point.

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


# 1d91b371 09-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

build: Fixes to support building in paths with spaces in them.

Now that HAIKU_TOP is a relative path, nearly all paths Jam actually
has to deal with will never contain spaces, so this is now feasible.
Only one issue remains after this commit (namely, setting
HOST_BUILD_COMPATIBILITY_LIB_DIR.)


# d4c38925 23-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Restore execute bit.

It seems "git stash" on Windows loses filemodes... sorry about that.


# 807304b1 23-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Add basic support for MinGW hosts.

This doesn't fully work yet (the FS code in libroot_build
needs to be adapted, as some of the symlink-related calls
are not available on MinGW), but it gets much further than
the "Cygwin" target did.


# 37c10606 23-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Remove support for cross-building from Cygwin and SunOS.

These have been broken for a long time. Some Cygwin changes that
are relevant on MinGW are kept here, but users on Windows who
want to build Haiku should probably use WSL at this point.

However, now that we are using relative paths and don't need
to worry about drive path kludges, it's actually possible to
get some host tools built on MinGW. Changes for that coming.


# 241b61a7 21-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

Revert "configure: Change default ARFLAGS to use deterministic mode."

This reverts commit da693d1fdc35cce39b7eca0d8178ff470d37cc5b.

GCC2 binutils doesn't like this. As mentioned in the previous commit,
"u" is a no-op on modern binutils and only issues a warning.


# da693d1f 21-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Change default ARFLAGS to use deterministic mode.

Jambase now expects this (and its defaults were changed); and this
is already the default on most systems, so adding this should
silence the "D is now the default mode" warning.


# 5bd0fbd1 04-Nov-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

build: Add riscv architecture

* I mean, qemu 3.0 supports it.
* Nobody get excited, we need all the triplets added to
our gcc buildtools. clang 7.0 seems to be cool with riscv though.

Change-Id: I17728163e4f28a3c16cee482a253364724b06f3a


# 3facc270 01-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 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.)


# ca20bd2e 27-Oct-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Account for umasks < 0022.

It seems recent Debian has a umask of 002, interestingly enough;
and so the original check failed there.

Thanks to luroh for reporting!


# 02f3646a 20-Oct-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Ensure the git checkout was not done with a restrictive umask.

It seems that the old buildbots had their (ancient) checkouts done with a
restrictive umask, and this meant that some files in buildbot-generated
builds were not readable by "world" as they should have been.

Now instead of just verifying the umask itself is not too restrictive,
we also validate the "SetupEnvironment" script in the tree has mode 644.

Fixes #14085.


# b57e7df9 15-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Clean up BuildConfig generation and add HOST_CC.

We do a lot of checks against the CC specified in environment,
but we never pass it into the BuildConfig, so we have no guarantee
that's what Jam's actually using.

Additionally remove HAIKU_BOOT_BOARD while we're at it (nothing uses
it anymore), and reorder the sections in BuildConfig to make a little
more sense.


# 252e4f62 15-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Set a default LINKFLAGS in addition to LDFLAGS.

The former is passed to the compiler when linking using it,
the latter is passed to ld when it is invoked directly.

Also modify ArchitectureRules to not overwrite this setting.


# 20c61bb7 13-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

Revert unrelated changes from previous commit.

I should have read the update script more closely as to
how it added changes for committing...


# 5924b6e4 12-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Guard against using Clang < 7 for builds.

Only Clang 7+ has -fno-delete-null-pointer-checks.


# ef9994ee 13-Aug-2018 Autocomitter <noreply@haiku-os.org>

Update translations from Pootle


# fb4cc984 02-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Add initial ARM64 target.

It will probably be just stubs for the significant future, but,
here it is anyway.

Regarding the naming: Yes, the official name is "aarch64." However,
Linux, FreeBSD, and Zircon all call it "arm64", and so we will do the same.

I've configured it initially to be a Clang-only port, making no
changes to GCC buildtools whatsoever here. We'll see if that sticks,
however.


# d9f698ea 01-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Fix copying clang_headers for non-x86 architectures.

Also allow Clang for PowerPC builds.


# 20dbf032 01-Aug-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

configure: Allow Clang for ARM builds.


# a107d3b4 01-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Do --update check earlier.

Previously we initialized variables and ran a few $CC tests first
(which was what the old version of --update needed.) Now, we can do it
almost immediately after the script begins.

Spotted by running --update on a GCCless system (as the $CC tests
gave warning messages due to no GCC, while CC= was set in --update
environs.)


# 1c307243 01-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Detect lld and elfedit properly under Clang.


# c44472c5 01-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

Enable use of Clang's integrated assembler.


# 101564e4 03-Jul-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Fix "unsupported target architecture" message.


# 32b50a88 23-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Add missing word-boundary marker to test invocation.

Fixes specifying a secondary cross-arch that is a substring of the first
(e.g. "x86_gcc2"+"x86".) Thanks to nielx for noticing!


# c1249957 18-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Cleaner grouping of compiler settings.

Now, instead of breaking them up, all settings related to or gleaned
from the compiler are listed first (except for BOOT_CXXFLAGS_...).
No functional change intended.


# 6c5fcb4f 18-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Move deduplifying targetArchs to where HAIKU_PACKAGING_ARCHS is built.

If one specifies a cross-tools path instead of --build-cross-tools along
with --use-clang, then the specified architecture winds up in the list twice,
as the first test looks for the arch name where only "unknown" exists
(since in the case of cross-tools paths, we delay fetching the arch.)
So we need to move this check to there instead.


# ddf7f643 18-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: If set, pass the cross-tools-prefix when invoking Clang.

This lets clang use our linker and other binutils instead of its own.
Now clang builds produce a working bootloader and get all the way
to the "rocket" icon, at which point userland init fails.


# b337e9a8 13-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

Remove HAIKU_INCLUDE_PATENTED_CODE.

Nothing uses it anymore. Fixes #8935.


# 1f839e89 22-May-2018 waddlesplash <waddlesplash@gmail.com>

configure: Rebuild cross-tools if GCC configure is newer than built GCC.


# 43f5f35a 14-Apr-2018 Augustin Cavalier <waddlesplash@gmail.com>

configure: Make sure the output directory exists before running xattr tests.


# e5d446fc 01-Mar-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

configure: Improve toolchain validation

* Seeing an issue on our builders where the toolchain directory
exists, but the gcc binaries do not.
* Check for the path, as well as the actual compiler binaries
to improve detection of need to rebuild toolchain.

Change-Id: I54fd5789e3255c8295136bb0614e72c5393718fe


# 8a9e1e0d 31-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Removal of non-Haiku target platform logic from build system (part 1.)

Following recent changes to use libroot_build on Haiku also, it is now
actually impossible to build Haiku components on non-Haiku platforms
(BeOS R5, Dan0, BONE, Zeta), so we can remove any logic related to this.

This is only the first part; still to be removed are:
* SetSubDirSupportedPlatformsBeOSCompatible
* HOST_PLATFORM_BEOS_COMPATIBLE
* TARGET_PLATFORM_BEOS_COMPATIBLE


# 503ef6d4 14-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

build: Correct libroot_build's usage of xattrs on a Haiku host.

Implemented by just not defining the functions at all and letting
the Haiku ones shine through. In the future, though, we should wrap
them properly.

(Between the switch to libroot_build and this commit, libroot_build
was using the generic attribute emulation layer on Haiku ... whoops.)


# 36f28382 12-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

configure: Properly test for set crossToolsPrefix and targetArchs.

Now you can specify a --build-cross-tools and then override just
GCC from it with a following --use-clang in the same configure
invocation.


# fc2c93fb 05-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

configure: Enable use-xattr or use-xattr-ref automatically.

The previous commit only checked that they worked if the user
enabled them, but now they will be enabled automatically if the
underlying filesystem supports them.

The ReadMe.Compiling has been updated accordingly.


# a5c952db 05-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

configure: Actually check the host's support for extended attributes.

Previously the helptext just displayed a warning to "make sure your
file system supports sufficient attribute sizes", and left the
actual checks to libroot_build at runtime.

Now we use the native command-line tools of each platform to make sure
that we can actually set attributes large enough for --use-xattr and
--use-xattr-ref respectively.


# 825700d3 04-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

configure: Rewrite implementation of --update.

Previously --update was kind of a hack, as it just dumped all
the variables from BuildConfig back into ./configure and attempted
to rerun from there.

Instead, now we store all of the variables and environs configure
was invoked with in the top of BuildConfig and re-call it using them.
This is much more robust, as configure will actually recompute
all of the values from the BuildConfig.

As a side effect, if configure was originally invoked to build crosstools,
it would have done so again, so instead add a check to see if they
exist, and skip them if they do. It's easy enough to delete the
directory if you want to force a crosstools rebuild.

Briefly discussed with mmlr on IRC.


# 9c292427 02-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

configure: Remove totally useless --enable-multiuser switch.

It's not used anywhere in the build system at all.


# 1f6fe055 01-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

build: Copy and use Clang's vector intrinsics headers.

When compiling with GCC, these headers get pulled in from the
gcc_syslibs_devel package, but we cannot do something similar
for Clang as Clang adds/removes internal builtins used by
the headers nearly every version. So instead we just copy
all the intrinsics headers from current Clang into generated,
and make sure this directory is included before any others.


# 65706842 01-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

configure: Further fixes to Clang support.

* Actually locate the clang executable, and allow user overrides
* Properly preserve arguments in get_build_tool_path
* Fix get_build_tool_path for commands with dashes (e.g. "clang-5.0")


# e042a53b 23-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

configure: Avoid bashism introduced in previous hrev.


# d73993ff 23-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

configure: Fix & enhance --use-clang.

Now you set the arch along with the argument, and specify the binutils
manually (and thus build without a complete crosstools environment.)


# c6c03d56 31-Jul-2017 Augustin Cavalier <waddlesplash@gmail.com>

Reinstate umask test into configure now that the buildbots have been fixed.


# ec89bb26 31-Jul-2017 Jérôme Duval <jerome.duval@gmail.com>

Revert "configure: Ensure that umask is not too restrictive."

Please reapply when someone is available to adjust the buildbot config.


# 70dde0b3 30-Jul-2017 Augustin Cavalier <waddlesplash@gmail.com>

configure: Ensure that umask is not too restrictive.

There have been some odd bugs in the past possibly caused by this,
so guard against it.

Discussed with PulkoMandy.


# ff0184be 30-Jul-2017 Augustin Cavalier <waddlesplash@gmail.com>

Remove GPL-add-ons build machinery.

No longer used by anything (it appears some old kernel drivers that
are not included in the build might use it, but I don't know why
they need it -- we already ship GPL'd code [libntfs] for the kernel
in the default build unconditionally.)

Briefly discussed with js a few weeks back.


# 84edb1a1 20-Jul-2017 Axel Dörfler <axeld@pinc-software.de>

configure: Bumped GCC version to 2.95.3-haiku-2017_07_20.

* Script would fail otherwise, thanks korli!


# f2ed9d80 10-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

configure: Drop target-board for arm/ppc


# 855fc5a0 09-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

platform/u-boot: Build all fdt's and include in u-boot mmc

* Eventually BoardSetups and target boards will go away.
* Include all known fdt's in the mmc image
* This gets us closer to target board-less arm
* Changing hardware is as simple as plugging a new fdt
into u-boot's startup script.
* Drop my original rpi1 work. We're targetting ARMv7
minimum.


# 133e4131 13-May-2017 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 8.


# deb1a319 17-Feb-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

Revert "configure: Add host as valid build target in help."

This hack is no longer needed.

This reverts commit ea74aafd98c609b418c71a76689b143ddca5dc6c.


# b2bdabc7 20-Oct-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Add beaglebone target, rename beagle

* beaglebone vs beagleboard
* While the boards are almost the same, they have
diff. FDT's now (more memory, different layout etc)
* Make u-boot script more rpi-like
(depend on u-boot for initial addresses)
* Wasn't working, still doesn't.


# 4da6cf84 19-Oct-2016 François Revol <revol@free.fr>

configure: allow building GDB along with the buildtools

from a stock GDB source tree.

I was getting tired of doing it manually.

Note the prefix is not exactly the same as the buildtools since the
machine triplet is different, but it's not an issue.

Tested with arm and ppc with GDB 7.8. Might need patching gdbTarget for other archs,
as stock GDB doesn't know about Haiku.


# c9dba742 05-May-2016 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 7.


# ea74aafd 27-Jul-2015 Jeroen Oortwijn <oortwijn@gmail.com>

configure: Add host as valid build target in help.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# c6fb0e2c 08-Nov-2015 Jonathan Schleifer <js@webkeks.org>

configure: Disable Clang's integrated assembler

We have too much code that doesn't work with it yet and it makes more
sense to get the other parts working with Clang first.


# a7bddff1 08-Nov-2015 Jonathan Schleifer <js@webkeks.org>

configure: Cleaner way for --use-clang


# 299467d2 02-Nov-2015 John Scipione <jscipione@gmail.com>

configure: remove set -e

This was added in hrev47174 but isn't needed. (confirmed with jessicah)

the -e flag was causing the script to exit when it encountered an error
instead of allowing us to print an error message and exit ourselves.
I accidentially tried to compile Haiku on a case-insensitive FS and
tripped over this.

The configure script should print an error message if you try to configure
on a case-insensitive FS once again.


# 7a05e252 02-Nov-2015 John Scipione <jscipione@gmail.com>

configure: Update the case-sensitive FS error text

Remove the second line so that it fits in 80 chars and the sentence does not
end in a proposition; reads better.


# 961fc581 29-Oct-2015 François Revol <revol@free.fr>

configure: Fix copy-paste from hrev49029


# 736bd376 29-Oct-2015 François Revol <revol@free.fr>

configure: remove help text for --remote-user

This option got removed in hrev46738.


# 94887feb 20-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 5+.


# 9c5e234c 11-Apr-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Initial Cubieboard4 work

* SD cards are "blessed" with a boot0 spl and boot1 u-boot
at fixed locations.
* Allwinner's u-boot is lacking a lot.
* Upstream u-boot should be better at some point. WIP:
http://lists.denx.de/pipermail/u-boot/2015-January/201537.html


# 87236c4f 16-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

jam/arm: Add missing overo target board


# 620dfc84 15-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

configure: Fix arm target boards in help


# 427d40ad 06-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm/targets: Add rpi2, rename raspberry_pi to rpi1

* The Raspberry pi 2 uses a new SoC which differs slightly
from the Raspberry Pi 1.
* Someday these two board targets could go away when we get
FDT support.


# c9dd05ff 26-Oct-2014 Jonathan Schleifer <js@webkeks.org>

configure: Add variable to see if we're bootstrapping


# 7f9beaf1 30-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Fix #11110: problems invoking configure.

* configure without arguments used to work on Haiku, but it no
longer did since hrev47574 - fix the usage check to make it
work again.


# 3e6c09cd 21-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

configure: make nasm check compatible with BSD grep.

The BSD grep doesn't know about \s. Moreover, checking for elf (rather
than ELF) seems to make more sense, as that's the format name, not part
of the description.

Patch suggested by geist. Thanks!


# 21af7e54 17-Aug-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: remove all references to sfdisk

sfdisk is no longer used by the ARM build, since we can handle
everything with mtools (using mpartition instead of sfdisk).


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

Cleanup build system and configuration.

* Drop unused variables from build system that refer to the system
libraries.
* Drop unused lists of libgcc objects.
* Drop no longer used variables from configuration script.
* Remove no longer needed building of kernel-libgcc and -libsupc++ from
build_cross_tools_gcc4, only the boot-specific (32-bit) libs are
built for a x86_64 target.
* Explicitly disable threads and TLS support when building the cross
compiler, as the only libraries that are used by Haiku's build system
is the 32-bit libgcc and libsupc++ for the bootloader on x86_64 (and
for that neither is wanted).


# cb721c59 05-Aug-2014 François Revol <revol@free.fr>

Add a nasm test for ELF generation

We should probably only test this when targetting x86 arch...


# 410d94cf 28-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Update version of legacy compiler.


# 61eac7b9 26-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Drop unused variable HAIKU_GCC_GLUE_CODE_<target_arch>


# 8b420c2f 26-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Fix configure --help to not rely on gcc.

* Make sure that the invocation of 'configure --help', 'configure -h' or
just 'configure' will show the usage text and exit.


# 63701e7d 26-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Add support for specifying the host compiler with CC.

* On some systems, the host compiler may not be called 'gcc', so allow
overriding the default via the CC environment variable.


# 4880ae01 11-May-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

configure: correct documentation of the -j<N> option. Fixes #10828.


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

Add new configuration option --no-downloads.

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


# c0b833b1 27-Apr-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

build: Fix raspberry_pi target board name. Not pi


# 502882db 26-Apr-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

configure: correct check for haikuporter from directory to file


# 3aece555 26-Apr-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Whitespace fixes.


# 39d444a3 26-Apr-2014 Arvind S Raj <sraj.arvind@gmail.com>

Abort configure script if haikuports, haikuports cross and haikuporter directories do not exist.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# e70c4c64 22-Apr-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

configure: allow setting HAIKU_BOOT_BOARD

* Since this affects generated objects and needs a clean build anyway,
it is better set and fixed at configure time.
* It could also be used when building the cross compiler to set
appropriate options.


# c2b76f7f 03-Apr-2014 Jonathan Schleifer <js@webkeks.org>

Add --use-clang option to configure

This also adjusts the jam files to not use $(CLANG) anymore.


# d6f80927 28-Mar-2014 Jonathan Schleifer <js@webkeks.org>

Sorry, my last commit was incomplete


# a04a520b 28-Mar-2014 Jonathan Schleifer <js@webkeks.org>

Switch back from yasm to nasm

These days, nasm supports more instructions than yasm. Additionally, it
offers a disassembler.


# 1b38c341 18-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

mips: Remove mips

* As per the ML discussions. Bumps MIPS to tier 3.
* We've reached a unanimous descision that MIPS doesn't
target any real / valid hardware Haiku wants to pursue
at the moment. In the event that anyone wants to pursue
MIPS, feel free to fork Haiku into your own repository
(and we'll even link to it on the website ports page)
* If someone develops a viable plan for MIPS (and gets the
port working, it can be readded at a later date)


# b3ece905 09-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

configure: --use-gcc-pipe now affects build_cross_tools_gcc4.


# 1e93288e 28-Jan-2014 Jérôme Duval <jerome.duval@gmail.com>

build_cross_tools_gcc4: unbreak --use-gcc-graphite.

* added -pipe to CFLAGS, builds are faster and /tmp usage is avoided at the
cost of more memory used.
* replaced ppl by isl as required by gcc 4.8


# 68f8b94e 22-Jan-2014 Oliver Tappe <zooey@hirschkaefer.de>

Drop --remote-user configuration option again.

* as Ingo has pointed out, the remote user settings doesn't
relate to the build configuration at all, so setting the
remote user via HAIKU_REMOTE_USER in UserBuildConfig or
via shell environment is the way to go
* additionally: drop debug output


# 86d7e283 22-Jan-2014 Oliver Tappe <zooey@hirschkaefer.de>

Add support for specifying remote ssh login user.

* add option --remote-user to configure, which sets HAIKU_REMOTE_USER
* add evaluation of HAIKU_REMOTE_USER variable when ssh-ing
into git.haiku-os.org


# 66a7f29f 15-Jan-2014 Jérôme Duval <jerome.duval@gmail.com>

x86_64: include the "32" dir when targeting 32-bit

* helps with building boot loader with GCC 4.8


# 8304ec7c 23-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: Fix for whitespace in path (2nd try)

May fix #10170.


# bae76b37 22-Nov-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

Revert "configure: Fix for whitespace in path"

This reverts commit 5369d17d119d1ae8e496805ed7c820bbfaa9accd.

Breaks the build. Take the walk of shame.


# 5369d17d 23-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: Fix for whitespace in path

May fix #10170.


# eaef83a9 20-Oct-2013 Jeroen Oortwijn <oortwijn@gmail.com>

configure: fix error message

Signed-off-by: Matt Madia <mattmadia@gmail.com>


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

configure: secondary architecture packages have canonical names


# dda53eae 12-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: haiku.hpkg now has a canonical name

Should fix the script on newer Haiku versions (and break it on older
ones). Ticket #10087.


# f04f7042 29-Sep-2013 Niels Sascha Reedijk <niels.reedijk@gmail.com>

Determine how to invoke sed with extended regexp

This will require re-running configure


# b5a871b1 29-Sep-2013 Niels Sascha Reedijk <niels.reedijk@gmail.com>

shasum -a 256 is an alternative for sha256 on Mac OS X

First set of patches from #10028


# 6a4f3954 28-Sep-2013 François Revol <revol@free.fr>

configure: Fix bashism

Debian uses dash as /bin/sh which doesn't know about [[ ]].


# d68208fa 22-Sep-2013 Matt Madia <mattmadia@gmail.com>

Use double parenthesis for math expressions.

This allows FreeBSD with a pure /bin/sh (not a symlink to /bin/bash) to build
the cross-tools to a dedicated directory, outside of the generated folder.


# 86de8c37 21-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Use GNU make also for building gcc 2

Should fix the build on {Free,Open}BSD.


# cc91b333 21-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: update required legacy compiler version


# 483b28e4 12-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add option --target-arch

On Haiku it allows to specify the target architecture to build for
using one of the installed native compilers.


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

Build the cross gcc for the secondary arch as such

Pass --enable-hybrid-secondary to gcc's configure when building it as
a secondary compiler. Doesn't make a difference for building Haiku
itself, but makes it easier to match the Haiku cross devel package with
the compiler when building bootstrap packages with haikuporter.

gcc 4 only ATM.


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


# ef57df3d 24-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: remove BeOS support

Likely doesn't work anymore anyway.


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


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

Determine HAIKU_CPU and HAIKU_PACKAGING_ARCH in configure

... instead of in BuildSetup.


# 983aba29 15-Jul-2013 Oliver Tappe <zooey@hirschkaefer.de>

Adjust configure script to new version of legacy compiler.


# 3942ca0d 05-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: fix sha256sum/sha256 checks


# 2a5d0aaf 05-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: set new variable HOST_SHA256

sha256sum and sha256 are detected.


# 2ebcd86d 03-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add configure option --host-only

When specified, the build will be configured for building build host
tools only.


# bc96e8f3 06-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add more robust generic attribute emulation variant

The new configure option "--use-xattr-ref" enables an xattr assisted
variant of the generic attribute emulation. Instead of using the inode
ID of a node to identify its attribute directory, we use a reasonably
unique random 128 bit number, which we generate and attach as an
attribute to the node. This way, when a node changes its inode ID
(defragmentation?) or the inode ID of a removed node with a left-over
attribute directory is reused, attributes won't get mixed up.

The old method is still used for symlinks (since on Linux only
priviledged users can write attributes on symlinks), but those usually
only have a rather boring BEOS:TYPE attribute, so mix-ups wouldn't be
that problematic anyway.


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

Updated version of compiler to match BuildtoolsPM


# e25f5f75 26-Apr-2013 Oliver Tappe <zooey@hirschkaefer.de>

Update required version of legacy compiler in configure


# 5c01289f 21-Apr-2013 Oliver Tappe <zooey@hirschkaefer.de>

Adjust configure script to changed compiler version


# 0837d6c6 06-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: builds with ppl and cloog when --use-gcc-graphite is given


# ed38d2ef 06-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

Forgot to add the usage for --use-gcc-graphite


# 748c10f2 06-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

Added a configure option to activate Graphite compilations flags

* check if GCC actually supports Graphite flags when the option
--use-gcc-graphite is used


# 35f39081 03-Jan-2013 Matt Madia <mattmadia@gmail.com>

Use strip provided by the cross-tools.

This allows a 32-bit host to successfully build x86_64.


# 54295d08 31-Oct-2012 Joseph R. Prostko <joe.prostko@gmail.com>

Updated configure script due to GCC2 update
* The GCC2 buildtool sources were updated, so change the date
* A new GCC2 optional package will be added later today
+alpha 4 (build will break otherwise)


# 4fa936c1 12-Oct-2012 Joseph R. Prostko <joe.prostko@gmail.com>

Update required legacy GCC version


# 4591ebc9 18-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Fixes for building Haiku x86_64 from itself.


# aaeadfcb 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Do a separate libgcc build for the kernel as well.

Turns out that libgcc is needed, for some reason building the kernel
with -O0 does not end up referencing libgcc but -O2 does. A separate
build of it is done with -mno-red-zone, same reason as for libsupc++.
Ended up being easy to rebuild with different CFLAGS: previously I'd
tried doing `CFLAGS="-mno-red-zone" make` in the libgcc dir which
didn't override, the correct way is `make CFLAGS="-mno-red-zone"`


# c864ba1a 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Build a separate libsupc++ for the kernel with correct flags.

Kernel mode code on x86_64 needs to be built with -mno-red-zone as
interrupts would corrupt the red zone if it were in use. However, the
kernel is linked with libsupc++, which was not compiled with
-mno-red-zone. If an interrupt occurred in libsupc++ code the red zone
would get corrupted. This was causing random panics, particularly under
heavy system load. Therefore, on x86_64 a separate build of libsupc++
with -mno-red-zone is now done for the kernel to use. Note: this commit
will require a rerun of configure and rebuild of cross tools.


# b7777272 01-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Changed x86_64 toolchain target to x86_64-unknown-haiku.


# bd16f0dd 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed configure for legacy buildtools.

The elfedit tool doesn't exist with the old binutils, so configure was
failing when it tried to get the path to it. Only try to search for it
if building GCC 4.


# 0d47dc5d 28-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed incorrect variable name in generated BuildConfig.


# 385d69fc 19-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Made it possible to build kernel modules for x86_64.

Added the necessary build flags for modules, and added a module (dpc)
to the floppy image for x86_64 builds for testing purposes. The module
gets loaded correctly and its code runs without issue. Only non-trivial
addition is the different method for generating kernel.so, this is
explained in the kernel Jamfile.


# 97f5a0bd 11-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed case-sensitive filesystem check.


# 0962132c 10-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed Mac OS X 10.7 as a build platform (for GCC 4).

* Use gcc and g++ rather than cc and c++, as the latter now point to
clang with recent Xcode versions and compilation of the host tools
fail for various reasons with it.
* Replace the case-sensitive filesystem check with a more basic one,
as diskutil no longer supports the behaviour of getting info for the
volume that any path is on.
* Updated ReadMe with a correct list of prerequisites for OS X.
* GCC 2 builds are still broken due to a strange error that only
occurs with a GCC 2 built on OS X 10.7


# 65ad1ba3 26-May-2012 Alex Smith <alex@alex-smith.me.uk>

Made it possible to build the bootloader when targetting x86_64.

* x86_64 is using the existing *_ia32 boot platforms.
* Special flags are required when compiling the loader to get GCC to compile
32-bit code. This adds a new set of rules for compiling boot code rather
than using the kernel rules, which compile using the necessary flags.
* Some x86_64 private headers have been stubbed by #include'ing the x86
versions. These will be replaced later.


# 81b45e48 29-Feb-2012 John Scipione <jscipione@gmail.com>

Fix build on Mac OS X 10.6 gcc2 and gcc4 and 10.7 gcc4 by adding some Mac OS X specific files that implement missing *at() functions.
Mac OS X 10.7 generates a gcc2 cross-compiler that fails when assigning NULL to a static method pointer so is still broken.
Added a weak attribute in driver_settings.cpp.
Move futimesat() from fs.cpp to fs_darwin.cpp since it is implimented on FreeBSD.
Implemented eaccess(), for the AT_EACCESS flag of faccessat()
Fix configure script to correctly detect case-sensitive file system


# 19d28b22 05-Mar-2012 John Scipione <jscipione@gmail.com>

Fix configure script to correctly detect case-sensitive file system


# 5e4d3774 14-Dec-2011 John Scipione <jscipione@gmail.com>

Change m86k to m68k in configure script. Fixes ticket #8239.


# c5101477 22-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Adjust required legacy gcc version.


# bd291de3 03-Nov-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove yasm check. Looks like I had accidentally (?) disabled the
version already.


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


# b55bd1da 17-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: Update required gcc 2 version


# 3dfd9cb9 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# 25dc253d 22-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Merged weak-symbols branch.
* Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp
* Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c.


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


# 9a001156 30-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Last part of #3298:
* applied patch by VinDuv that adds a Perl-based implementation of readlink,
which is needed on Mac OX X, as that doesn't have any of the other fallbacks
- thanks!
IIRC, other people have managed to configure without this on Mac OS X, but
I suppose no harm can be done by providing this as last resort.


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


# f9bb7404 26-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Updated the GCC2 package to version -100818. This will soon be needed to be
able to build Haiku.


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


# c3bcd1ce 27-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* remove references to timezone files, as those no longer exist

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


# 7a5c50f9 12-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* updated optional package for gcc2 to gcc-2.95.3-x86-gcc2-2010-07-12
(a version that correctly deals with utf-8 chars in wide character literals)
* adjusted required gcc2 version in configure

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


# 97901ec5 11-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Nathan Mentley:
* Added a few header files in headers/posix/arch that'll allow for an x86_64
haiku target to be compiled. fenv.h is src/lib/msun/amd64/fenv.h from
freebsd.
* configure: Added support for x86_64 arch when running
build_cross_tools_gcc4.
* config[_build]/HaikuConfig.h, BuildSetup: Added x86_64 recognition.


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


# 51355c10 20-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Axel changed the HAIKU_ADD_ALTERNATIVE_GCC_LIBS semantics. Init to 0.


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


# 138f5fb4 20-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Just check which's return value -- no need for test and output capturing.


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


# b6c7c428 20-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Burn the witches.


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


# 089cfbf7 20-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Updated required legacy gcc version.


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


# b29b48b1 19-Apr-2010 Matt Madia <mattmadia@gmail.com>

A further refinement to support realpath when available.


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


# b4b6d83c 19-Apr-2010 Matt Madia <mattmadia@gmail.com>

Reworks 36361 to not assume that greadlink is installed.


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


# 7fe2e06c 19-Apr-2010 Matt Madia <mattmadia@gmail.com>

Replaced '&> /dev/null' with '> /dev/null 2>&1'.


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


# ff3c7b96 19-Apr-2010 François Revol <revol@free.fr>

Use greadlink when found, as the BSD readlink has no clue about the -e option.


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


# 3f9f9f9a 19-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Resolve symlinks to the standard libraries as suggested by Andreas Faerber.
Fixes #5744.
* Removed commented obsolete code.


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


# 76fa0be3 25-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Matt Madia:
* 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


# ab2540c4 03-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

80 columns limit.


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


# 7986925f 03-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Use the same names for the HAIKU_[HOST_]USE_32BIT and HAIKU_[HOST_]USE_XATTR
variables in the script and in generated BuildConfig file. Otherwise the
--update option wouldn't correctly pick it up.


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


# ffe8b20c 03-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Clear HAIKU_SHARED_LIBSTDC++ and HAIKU_SHARED_LIBSUPC++ when the compiler
doesn't know them. Not sure why that was commented out -- only this way the
build system knows that the libs aren't available. Fixes the non-Haiku build.


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


# 441945d5 10-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Whitespace cleanup. Someone should check his editor settings. :-)


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


# c505b276 07-Jan-2010 François Revol <revol@free.fr>

Patch by Matt Madia: detect host sfdisk in configure for ARM, including the FreeBSD port.


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


# 7c4641d0 04-Jan-2010 Oliver Tappe <zooey@hirschkaefer.de>

* added --update option to configure which will re-run the last invocation
(--update must be given as first option, but can be followed by others)
* added simple perl scripts that is used by configure to convert BuildSetup
from jam to shell format



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


# 3e5498e4 04-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Färber modified by myself:
* Determine HOST_LD and HOST_OBJCOPY in configure.
* Removed Solaris ld work-around in BuildSetup.

The change requires configure to be re-run. Alternatively HOST_{LD,OBJCOPY}
can be added to generated/build/BuildConfig.


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


# 55d267a4 02-Jan-2010 François Revol <revol@free.fr>

Make configure dump its invocation arguments to the BuildConfig file to allow for easier rerun later, as I'm getting tired to figure each of them each time someone adds some config variable...


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


# 0b58d844 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to
be run again or generated/build/BuildConfig needs to be adjusted manually.
* Removed bochs debug hack.


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


# a85cf9d7 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* configure: Pass gcc's host machine string to the jam build system.
* BuildSetup: Set jam variable HOST_PLATFORM_IS_64_BIT and add host define
HAIKU_HOST_PLATFORM_64_BIT if the host platform is 64 bit. Removed the
check from BeOSBuildCompatibility.h.


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


# 60d8d8fc 23-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added -j<n> option to configure. It is passed to the
build_cross_tools[_gcc4] script which in turn passes it to make. Cores and
hyperthreads are plentiful these days; no need to let most of them idle when
building the cross tools.
* Sorted the configure options alphabetically again.


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


# 3578c56a 10-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Moved timezone and keymap source files to the correct place in the repository.


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


# 0651c859 03-Sep-2009 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

In OS X 10.6 diskutil returns an error for ".". Now pass the absolute path of the current working directory.


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


# 67838392 21-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Applied stippi's no-patents patch, but without the ffmpeg part, as that one
is obviously already configured not to use patented code.


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


# 16d5c24e 07-Jul-2009 Oliver Tappe <zooey@hirschkaefer.de>

* merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

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


# 23eb9a9e 29-Jun-2009 François Revol <revol@free.fr>

Set default ARFLAGS to cru instead of ru. No functionnal change, but it should suppress a warning about ar needing to create the archive.


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


# 3ecc5287 29-May-2009 Michael Lotz <mmlr@mlotz.ch>

On Darwin/Mac OS X use diskutil to determine if the volume we configure on is a
case-sensitive one. If not, print out a message and a link to the guide that
describes how to set one up.


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


# a21fdd20 16-May-2009 François Revol <revol@free.fr>

This check doesn't work when used inside linux32... just remove it. Use linux32 ./configure --use-32bit


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


# 161ad355 18-Apr-2009 Jérôme Duval <korli@users.berlios.de>

added other target architectures (m68k, arm, mipsel).


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


# 92696166 13-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed debug output accidentally committed.
* Also allow yasm 0.7.{0,1} -- they have been reported to successfully build
at least.


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


# 77e84f21 13-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

configure does now check the yasm version for target architecture x86, and
sets the HAIKU_YASM build variable, which will be checked in BuildSetup.
Re-running configure or adding the variable manually to
generated/build/BuildConfig is required.


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


# 3e62a755 12-Apr-2009 Jonas Sundström <jonas@kirilla.com>

humble mips beginnings

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


# 292e63bf 18-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Applied (slighly modified) patch by Matt Madia: When the
--alternative-gcc-output-dir configure option has been specified,
HAIKU_ADD_ALTERNATIVE_GCC_LIBS is set by default. One has to explicitely
unset it in UserBuildConfig to avoid building the alternative gcc libs.
* Adjusted documentation accordingly.


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


# 5abd9a46 24-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Whitespace cleanup and variable renaming for consistency. No functional
change.


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


# 308c212c 24-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Matt Madia: Added automatic detection of 32 or 64 bit mode.


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


# 4a9f6b4a 06-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Add support for the arm target as well. Not that we'd support it in any way yet.

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


# 64f6da31 02-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Matt Madia (slightly modified): Extended the usage text by some
info regarding non-default output directories.


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


# 14210488 28-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Check the presence of the C++ header dir. The native and cross GCC4 do have
different directory layouts and this way we can still use a native compiler
as a cross compiler since we don't make the decision based on whether we are
cross compiling or not.


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


# 55751274 28-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Fix C++ header location.

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


# 28b5bc75 27-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

The include-fixed directory is a normal default include dir on GCC4.

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


# 83d554a7 25-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Require new GCC version.


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


# ff1beff8 20-Oct-2008 François Revol <revol@free.fr>

Add OpenBSD to the list of supported build platforms.


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


# e688a433 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* add Cygwin to the list of supported platforms

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


# 9b0dd528 17-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Support for adding libraries compiled with the alternative gcc (2 vs.
4). One has to have a (fully configured) "generated" directory for the
alternative gcc and specify it using the new option
"--alternative-gcc-output-dir" when configuring the main build.
Additionally the build variable HAIKU_ADD_ALTERNATIVE_GCC_LIBS has to be
set to "1".

If that has been done, when building the image a sub-jam is invoked that
generates the alternative libs and zips them. The main-jam unzips them
into the correct directory in the image. Note that the JAM build
variable has to be set when using a jam executable not invoked by "jam".

Tested with gcc 2 NetPositive, Pe, and FireFox under gcc 4 Haiku, and
with a few of the standard gcc 4 Haiku apps under gcc 2 Haiku. Seems to
work fine so far.


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


# a559f87a 11-Apr-2008 François Revol <revol@free.fr>

Remove use of bashisms since we use #!/bin/sh. This should help supporting solaris.
Added sunos to the list of platforms, but it needs more work.


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


# 0da9c208 23-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Switched the legacy compiler to the i586-pc-haiku 2.95.3-haiku-080323
gcc. You need to reconfigure and rebuild the cross-tools to have this
change take effect.

Note that from now on it is no longer possible to use the native BeOS
compiler to build Haiku. You'll have to build a cross compiler, too. I
haven't tested whether this works at all, though.


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


# 1974210f 25-Jan-2008 François Revol <revol@free.fr>

Add --include-3rdparty option to enable jam targets from 3rdparty/. It is suggested that 3rd party applications use the <3rdparty> grist to avoid shadowing Haiku stuff. (or what about <3rdparty!vendor> ?)

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


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

Add --enable-multiuser configure option for adventurous people.


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


# 8074e217 23-Oct-2007 François Revol <revol@free.fr>

Build support for m68k.


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


# 0385b065 22-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Samuel Rodriguez Perez, slightly modified by myself: New
configure flag "--use-32bit" enabling 32 bit builds with a 64 bit host
compiler.


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


# da0f9ae0 02-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Haiku as host platform supported by the build system ("haiku_host").
Completely untested yet.


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


# a66c32dd 20-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced new configure option --distro-compatibility to specify the
compatibility relation to the official Haiku distribution. "official"
is for the official Haiku distribution itself, "compatible" for Haiku
Compatible (tm) distros, and "default" for all others (the default value
for the option). The build system variable HAIKU_DISTRO_COMPATIBILITY is
defined accordingly, and one of the
HAIKU_DISTRO_COMPATIBILITY_{OFFICIAL,COMPATIBLE,DEFAULT} macros is
defined for source code and rdefs.


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


# 6dcd0ccf 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


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


# 4f4e5272 07-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Under Linux it is now possible to emulate the BeOS attribute support via
xattrs. It can be enabled with the configure switch "--use-xattr". Note
that the amount of data stored in attributes may be limited by the used
file system -- e.g. AFAIK ext3 has a limit of one block (usually 4 KB)
for all attributes of a file, which might not suffice. XFS should be
fine, as should ReiserFS 3.6 (or any FS which stores attributes in
hidden files).


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


# eedc3d0b 21-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Since configuring an unsuitable cross-compiler has become a FAQ lately,
we do now check whether the target the compiler has been configured for
looks compatible.


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


# 141e72be 19-Feb-2007 François Revol <revol@free.fr>

Remove dupped case 6.* for platform checking.


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


# 5a34a443 15-Feb-2007 François Revol <revol@free.fr>

Remove dupped word.


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


# eccc7665 04-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added configure option --use-gcc-pipe to enable building with the gcc
-pipe option.


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


# ac5beb17 03-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed obsolete --floppy option.


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


# 6cc8eecf 16-Nov-2006 Oliver Tappe <zooey@hirschkaefer.de>

* fixed my own stupid bug that did not reliably check for the legacy compiler
version


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


# a5b60fa8 03-Oct-2006 Oliver Tappe <zooey@hirschkaefer.de>

* reverted changes of revision 18985, as Ingo has pointed out, they were useless.


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


# be2bd5ef 01-Oct-2006 Oliver Tappe <zooey@hirschkaefer.de>

* implemented a suggestion of korli: the legacy & gcc4 cross-tools are now built
in separate folders ('cross-tools-legacy' and 'cross-tools-gcc4') and you
can use the new cmdline-switches 'use-cross-tools' and 'use-cross-tools-gcc4'
to switch between those two. Before, you always had to recompile the tools
in order to switch.


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


# dad36002 17-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

switch back to local system gcc headers, the outcome is similar unuseable



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


# 274b450a 16-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

gcc 4 only: modified the previous change to allow fallback to local C++ system headers



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


# e3c3c198 16-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

gcc 4 only: when not building the cross compiler, use haiku default C++ headers from source tree (haiku/headers/os/cpp), instead of local system headers



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


# f7784f57 16-Sep-2006 Oliver Tappe <zooey@hirschkaefer.de>

* removed debug output...


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


# af4bf973 16-Sep-2006 Oliver Tappe <zooey@hirschkaefer.de>

* fixed dependency of build_cross_tools on version of legacy compile, this finally fixes
building of cross-compiler on Linux (as reported by korli, thanks!).


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


# 5b0f7b1b 03-Sep-2006 Oliver Tappe <zooey@hirschkaefer.de>

* added checking of legacy gcc against required version, suggested by Axel



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


# 1213a0db 26-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

newer versions of ZETA advertise version 6.0


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


# 6e7c6fe5 03-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Applied patch by mathewblack@ntlworld.com (bug #723) to support spaces
in the path to the Haiku working dir.


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


# db63fe67 30-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Strangely enough, one of my R5 system's doesn't have a "cc".


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


# 0838a930 11-Jan-2006 Jérôme Duval <korli@users.berlios.de>

improved set_default_value


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


# 5d978968 09-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove eabi.o from the libgcc objects. It's in the static libgcc for PPC
(would not be in the dynamic one though).


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


# 20ab75e6 06-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted build_cross_tools_gcc4 and configure to be able to build PPC
build tools as well. The configure option --build-cross-tools-gcc4 has a
new parameter to specify the architecture.


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


# 9743fe87 05-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

When building the gcc 4 cross tools we now configure for machine
i586-pc-haiku.


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


# 307807f2 18-Nov-2005 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Moved FreeBSD setup to define a freebsd build platform. GCC4 apparently also requires the use of GNU Make, so told the build_cross_tools script to use 'gmake' instead of 'make' on BSD systems.


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


# 29ef597d 18-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added build_cross_tools_gcc4 script which builds gcc 4 and binutils
from the sources. Added respective configure option
--build-cross-tools-gcc4.
* Fixed running "configure --build-cross-tools" from another directory
than the source dir. The parameter to the script was missing and thus
the tools were created in <sources>/generated.
* Removed stdc++ lib header dir ".../debug". One is supposed to include
<debug/...> to get the debug headers.
* The stdc++ lib header dirs are now listed one per line in the
generated BuildConfig. This works around the 512 bytes jam line length
limit.


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


# 98391347 16-Nov-2005 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Made FreeBSD a valid build platform by setting FreeBSD to define buildplatform=linux.


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


# c89fc875 14-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* More consequent handling of libsupc++. configure looks it up now and
provides it via BuildConfig. We link everything against it.
* Temporarily pass --no-undefined to the linker. Should be in the
compiler specs, but isn't in the gcc 4 I built.
* Define _BEOS_R5_COMPATIBLE_ macro when building with gcc 2. Can be
used in headers for instance.


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


# 8b5934c9 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added support for compiling Haiku with GCC 4. The main difference is that
we use the libstdc++ (including it's headers) that comes with the
compiler.
* Apparently option "-I-" has been deprecated, which is why we now treat the
include stuff a bit differently.
* Removed avcodec from the Haiku image, since the library wouldn't build with
gcc 4, and I'm not in the mood to fix that (declaration of an array of an
incomplete type).


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


# 14998c8b 08-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Zeta apparently uses a OS major version >= 6.


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


# 0df3cc9c 30-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Re-enabled host platform BeOS version detection. Tested only under BeOS R5.


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


# 4cbe4925 02-Sep-2005 Axel Dörfler <axeld@pinc-software.de>

The "configure" script should now be able to detect the Haiku platform as well.


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


# 62339647 01-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Removed host BeOS version recognition: we now always default to target "haiku".
Building our components for use with R5/dano/whatever is now something you need
to want, it's not the default anymore.
Note: you can still build single components for R5 by overriding the target
platform per target, too, for example:
$ TARGET_PLATFORM=r5 jam app_server


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


# 733fed3a 17-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

CVS -> .svn.

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


# b1e5b60c 25-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Divided BuildConfig into three files: BuildConfig, Timezones, and libgccObjects.
That makes fine tuning any of them a nicer experience.
You have to rerun ./configure in order to build anything.


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


# 6f9587dd 20-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

The build target now defaults to "haiku", not $platform.
Updated the help text with respect to the bochs debug output hack.


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


# d2ab012d 21-Nov-2004 Jérôme Duval <korli@users.berlios.de>

Fix a bug with timezones defined through Link (hint from Ingo).


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


# 4d5737d0 19-Nov-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Filter the CVS dir.
BTW, I find this whole thing somehow misplaced and ugly, but I have no
good idea how to do that with Jam.


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


# 4c74bde8 19-Nov-2004 Jérôme Duval <korli@users.berlios.de>

Added support for timezone files which are parsed at configure time.
This allows jam to know which targets are expected.


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


# 7c8bb86f 31-Oct-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed getting the target parameter.


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


# a17b9c0c 25-Oct-2004 shatty <shatty@nowhere.fake>

improved platform targeting


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


# 614026d7 17-Oct-2004 shatty <shatty@nowhere.fake>

first cut target identification


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


# b45cb282 05-Jul-2004 Axel Dörfler <axeld@pinc-software.de>

Now sets the variables LIBGCC_OBJECTS and LIBGCC_DIR.


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


# 54d94d39 04-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

Replaced double equal symbols with single ones - seems to be more compatible.


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


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

Added a new Jamfile rule, called SubIncludeGPL, which can be used to conditionally
include GPL licensed add-ons into the build. As GPL licensed add-ons may not be
used with non GPL compatible applications, this rule normally is not invoked when
building the tree. However, if the user is sure that he only uses GPL compatible
software, he can use the new ./configure option --include-gpl-addons to enable
the including of GPL licensed addons that are integrated by SubIncludeGPL instead
of SubInclude.


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


# 1bf10faf 12-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Fixed the new version identification (now uses -dumpversion instead of --version),
also added a semi-colon to the Jam line defining GCC_RAW_VERSION.


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


# 8c17a26b 12-Oct-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The configure script now sets the variable GCC_RAW_VERSION which is
parsed in Jamrules into a list (`.' and `-' are considered delimiters)
written into GCC_VERSION. E.g. for the GeekGadgets compiler expect
GCC_VERSION to be set to `2 9 beos 000224'. So, GCC_VERSION[1] should
contain the major version, GCC_VERSION[2] the middle one.


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


# 09c5682d 05-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The platform dependent header dir is explicitly included now. Changed the libgcc.a handling a bit. Re-run configure!


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


# 7209d830 19-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved BuildConfig into build/.


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


# 405439be 29-Sep-2002 beveloper <beveloper@nowhere.fake>

unified Bochs debugging option


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


# b1b72e87 27-Sep-2002 Bruno G. Albuquerque <bga@bug-br.org.br>

Automatically add the Bochs keyboard hack when --bochs-debug is used in the configure script.


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


# f2578b0a 17-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Set the variables in BuildConfig with ?= which allows for overriding them with environment variables.


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


# 2b94bc7b 15-Jul-2002 lillo <lillo@nowhere.fake>

hopefully fixed the bochs debug issue


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


# c4786ea6 15-Jul-2002 lillo <lillo@nowhere.fake>

Made bochs e9 hack switchable by configure


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


# 022fa244 14-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added handling of floppy location parameter.


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


# 94887feb6442669d41c72e998a0a4e57fee8cba1 20-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 5+.


# 9c5e234cb3c17864281fd225467f692d7b4f26db 11-Apr-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Initial Cubieboard4 work

* SD cards are "blessed" with a boot0 spl and boot1 u-boot
at fixed locations.
* Allwinner's u-boot is lacking a lot.
* Upstream u-boot should be better at some point. WIP:
http://lists.denx.de/pipermail/u-boot/2015-January/201537.html


# 87236c4fb307ff81ff9dd3bdd0baa6bd4b3b33dd 16-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

jam/arm: Add missing overo target board


# 620dfc84e9f62ebcb9b82820555f7cba6688c7a4 15-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

configure: Fix arm target boards in help


# 427d40adb56fbbb21dcdf5c0f72129bc2ca5faba 06-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm/targets: Add rpi2, rename raspberry_pi to rpi1

* The Raspberry pi 2 uses a new SoC which differs slightly
from the Raspberry Pi 1.
* Someday these two board targets could go away when we get
FDT support.


# c9dd05ff400733baf569ee023c05d48fdbcf4ef1 26-Oct-2014 Jonathan Schleifer <js@webkeks.org>

configure: Add variable to see if we're bootstrapping


# 7f9beaf1f8bbe631cbceb2aae9b4dc8567940b71 30-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Fix #11110: problems invoking configure.

* configure without arguments used to work on Haiku, but it no
longer did since hrev47574 - fix the usage check to make it
work again.


# 3e6c09cdfb4b207b37148818db092c1d318d71af 21-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

configure: make nasm check compatible with BSD grep.

The BSD grep doesn't know about \s. Moreover, checking for elf (rather
than ELF) seems to make more sense, as that's the format name, not part
of the description.

Patch suggested by geist. Thanks!


# 21af7e541fa6710976f1c64290654ddc75acacaa 17-Aug-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: remove all references to sfdisk

sfdisk is no longer used by the ARM build, since we can handle
everything with mtools (using mpartition instead of sfdisk).


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

Cleanup build system and configuration.

* Drop unused variables from build system that refer to the system
libraries.
* Drop unused lists of libgcc objects.
* Drop no longer used variables from configuration script.
* Remove no longer needed building of kernel-libgcc and -libsupc++ from
build_cross_tools_gcc4, only the boot-specific (32-bit) libs are
built for a x86_64 target.
* Explicitly disable threads and TLS support when building the cross
compiler, as the only libraries that are used by Haiku's build system
is the 32-bit libgcc and libsupc++ for the bootloader on x86_64 (and
for that neither is wanted).


# cb721c596392cbbaa63137ea292dc928a07992af 05-Aug-2014 François Revol <revol@free.fr>

Add a nasm test for ELF generation

We should probably only test this when targetting x86 arch...


# 410d94cf868ca358661927a3f34243402c5ce2d1 28-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Update version of legacy compiler.


# 61eac7b933af5ead006a5536a04ffd90d692bd2e 26-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Drop unused variable HAIKU_GCC_GLUE_CODE_<target_arch>


# 8b420c2f0af777d6dc281b11312e226ea6f5a94a 26-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Fix configure --help to not rely on gcc.

* Make sure that the invocation of 'configure --help', 'configure -h' or
just 'configure' will show the usage text and exit.


# 63701e7dd54ec05141df916ddfcf1d233af1c45b 26-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Add support for specifying the host compiler with CC.

* On some systems, the host compiler may not be called 'gcc', so allow
overriding the default via the CC environment variable.


# 4880ae0122d5504c7b7bffd01442501d1307a2dd 11-May-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

configure: correct documentation of the -j<N> option. Fixes #10828.


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

Add new configuration option --no-downloads.

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


# c0b833b10a18d15bcb273dc10b3350f0ed4b63ea 27-Apr-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

build: Fix raspberry_pi target board name. Not pi


# 502882dbd93cecb448cf2b79b2f2ceccd8313e7a 26-Apr-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

configure: correct check for haikuporter from directory to file


# 3aece555713b62a01de2d0237507cde952aaf394 26-Apr-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Whitespace fixes.


# 39d444a339c3605e30d7d8afe671b48cb4365479 26-Apr-2014 Arvind S Raj <sraj.arvind@gmail.com>

Abort configure script if haikuports, haikuports cross and haikuporter directories do not exist.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# e70c4c64041d51fe070266753a3d52a4917031d6 22-Apr-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

configure: allow setting HAIKU_BOOT_BOARD

* Since this affects generated objects and needs a clean build anyway,
it is better set and fixed at configure time.
* It could also be used when building the cross compiler to set
appropriate options.


# c2b76f7f8f6877fa77c64c6c9a2f90f571486c5b 03-Apr-2014 Jonathan Schleifer <js@webkeks.org>

Add --use-clang option to configure

This also adjusts the jam files to not use $(CLANG) anymore.


# d6f80927323b91e9c8105aec3aa8488698ab4e11 28-Mar-2014 Jonathan Schleifer <js@webkeks.org>

Sorry, my last commit was incomplete


# a04a520b0d0c0d075c2a002bb42a1fe7be20ca69 28-Mar-2014 Jonathan Schleifer <js@webkeks.org>

Switch back from yasm to nasm

These days, nasm supports more instructions than yasm. Additionally, it
offers a disassembler.


# 1b38c3412cee70121540687295e301b8817b9cc0 18-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

mips: Remove mips

* As per the ML discussions. Bumps MIPS to tier 3.
* We've reached a unanimous descision that MIPS doesn't
target any real / valid hardware Haiku wants to pursue
at the moment. In the event that anyone wants to pursue
MIPS, feel free to fork Haiku into your own repository
(and we'll even link to it on the website ports page)
* If someone develops a viable plan for MIPS (and gets the
port working, it can be readded at a later date)


# b3ece9056dd49388bee911aa095d22db604916db 09-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

configure: --use-gcc-pipe now affects build_cross_tools_gcc4.


# 1e93288e656fdcaf4ec315b6f1ae5568bfd4acee 28-Jan-2014 Jérôme Duval <jerome.duval@gmail.com>

build_cross_tools_gcc4: unbreak --use-gcc-graphite.

* added -pipe to CFLAGS, builds are faster and /tmp usage is avoided at the
cost of more memory used.
* replaced ppl by isl as required by gcc 4.8


# 68f8b94e2a287c970e2d92a8b51842c155bf51eb 22-Jan-2014 Oliver Tappe <zooey@hirschkaefer.de>

Drop --remote-user configuration option again.

* as Ingo has pointed out, the remote user settings doesn't
relate to the build configuration at all, so setting the
remote user via HAIKU_REMOTE_USER in UserBuildConfig or
via shell environment is the way to go
* additionally: drop debug output


# 86d7e28306626756a5d31a3903b7d123500ac6eb 22-Jan-2014 Oliver Tappe <zooey@hirschkaefer.de>

Add support for specifying remote ssh login user.

* add option --remote-user to configure, which sets HAIKU_REMOTE_USER
* add evaluation of HAIKU_REMOTE_USER variable when ssh-ing
into git.haiku-os.org


# 66a7f29f59a4b9a9d014f77aeeb64f27a479200a 15-Jan-2014 Jérôme Duval <jerome.duval@gmail.com>

x86_64: include the "32" dir when targeting 32-bit

* helps with building boot loader with GCC 4.8


# 8304ec7c122b0c03abd84afb87386e35709cfe2d 23-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: Fix for whitespace in path (2nd try)

May fix #10170.


# bae76b378341cea1374dbf3d2d61a24a1b5753e2 22-Nov-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

Revert "configure: Fix for whitespace in path"

This reverts commit 5369d17d119d1ae8e496805ed7c820bbfaa9accd.

Breaks the build. Take the walk of shame.


# 5369d17d119d1ae8e496805ed7c820bbfaa9accd 23-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: Fix for whitespace in path

May fix #10170.


# eaef83a97ad07551a67b0e496a44af128cd2f818 20-Oct-2013 Jeroen Oortwijn <oortwijn@gmail.com>

configure: fix error message

Signed-off-by: Matt Madia <mattmadia@gmail.com>


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

configure: secondary architecture packages have canonical names


# dda53eae4be642c3f746dd930b6c308d9a2cea1b 12-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: haiku.hpkg now has a canonical name

Should fix the script on newer Haiku versions (and break it on older
ones). Ticket #10087.


# f04f7042c5559ac05a6e2e3fe65020b30e7c4eb9 29-Sep-2013 Niels Sascha Reedijk <niels.reedijk@gmail.com>

Determine how to invoke sed with extended regexp

This will require re-running configure


# b5a871b1bf06bb62a4de95bcde6bdd748c0bfb8a 29-Sep-2013 Niels Sascha Reedijk <niels.reedijk@gmail.com>

shasum -a 256 is an alternative for sha256 on Mac OS X

First set of patches from #10028


# 6a4f39545cd2cbc225108d713d3359b6f4aa24f2 28-Sep-2013 François Revol <revol@free.fr>

configure: Fix bashism

Debian uses dash as /bin/sh which doesn't know about [[ ]].


# d68208fa16f6716c53d598d3aa65ed1d4659d06a 22-Sep-2013 Matt Madia <mattmadia@gmail.com>

Use double parenthesis for math expressions.

This allows FreeBSD with a pure /bin/sh (not a symlink to /bin/bash) to build
the cross-tools to a dedicated directory, outside of the generated folder.


# 86de8c37b5bc2266be9f61eb8cb07c932c11625d 21-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Use GNU make also for building gcc 2

Should fix the build on {Free,Open}BSD.


# cc91b333bede32fbf9dc43e1f21d609e89b2d3fa 21-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: update required legacy compiler version


# 483b28e478b142d429975d49e805afcc03a32b0d 12-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add option --target-arch

On Haiku it allows to specify the target architecture to build for
using one of the installed native compilers.


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

Build the cross gcc for the secondary arch as such

Pass --enable-hybrid-secondary to gcc's configure when building it as
a secondary compiler. Doesn't make a difference for building Haiku
itself, but makes it easier to match the Haiku cross devel package with
the compiler when building bootstrap packages with haikuporter.

gcc 4 only ATM.


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


# ef57df3d81efabe336b76734d2897418c3ad8098 24-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: remove BeOS support

Likely doesn't work anymore anyway.


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


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

Determine HAIKU_CPU and HAIKU_PACKAGING_ARCH in configure

... instead of in BuildSetup.


# 983aba29833ee0d76d98c4e7e94990bd908391d5 15-Jul-2013 Oliver Tappe <zooey@hirschkaefer.de>

Adjust configure script to new version of legacy compiler.


# 3942ca0d5edd79e23886294b36b75e14fded4bfb 05-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: fix sha256sum/sha256 checks


# 2a5d0aafa6290c153744386ada7000191b7b868f 05-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: set new variable HOST_SHA256

sha256sum and sha256 are detected.


# 2ebcd86dfe64e3c44c30350b3bc83228eeb2b8d4 03-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add configure option --host-only

When specified, the build will be configured for building build host
tools only.


# bc96e8f30cd209672c33293f0e5c71e81027d3e2 06-Jun-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Add more robust generic attribute emulation variant

The new configure option "--use-xattr-ref" enables an xattr assisted
variant of the generic attribute emulation. Instead of using the inode
ID of a node to identify its attribute directory, we use a reasonably
unique random 128 bit number, which we generate and attach as an
attribute to the node. This way, when a node changes its inode ID
(defragmentation?) or the inode ID of a removed node with a left-over
attribute directory is reused, attributes won't get mixed up.

The old method is still used for symlinks (since on Linux only
priviledged users can write attributes on symlinks), but those usually
only have a rather boring BEOS:TYPE attribute, so mix-ups wouldn't be
that problematic anyway.


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

Updated version of compiler to match BuildtoolsPM


# e25f5f75e8c0fba577b8785e8affc1fddaf1c5d1 26-Apr-2013 Oliver Tappe <zooey@hirschkaefer.de>

Update required version of legacy compiler in configure


# 5c01289f68d67772de21aa97655f420a0044b50e 21-Apr-2013 Oliver Tappe <zooey@hirschkaefer.de>

Adjust configure script to changed compiler version


# 0837d6c650d03deb33b924e34841c57331cc3680 06-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

GCC4 cross tools: builds with ppl and cloog when --use-gcc-graphite is given


# ed38d2efccd2da104daabfddc70f970aad10fa91 06-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

Forgot to add the usage for --use-gcc-graphite


# 748c10f2229c3b05047976b7a029a49caf935c12 06-Apr-2013 Jerome Duval <jerome.duval@gmail.com>

Added a configure option to activate Graphite compilations flags

* check if GCC actually supports Graphite flags when the option
--use-gcc-graphite is used


# 35f390814940144bf74048de3ff56d863adf6938 03-Jan-2013 Matt Madia <mattmadia@gmail.com>

Use strip provided by the cross-tools.

This allows a 32-bit host to successfully build x86_64.


# 54295d081fc19aa50174e2e45cc588b40b61a3ae 31-Oct-2012 Joseph R. Prostko <joe.prostko@gmail.com>

Updated configure script due to GCC2 update
* The GCC2 buildtool sources were updated, so change the date
* A new GCC2 optional package will be added later today
+alpha 4 (build will break otherwise)


# 4fa936c1dd956da86f42bd43faaec72e8b84e3d0 12-Oct-2012 Joseph R. Prostko <joe.prostko@gmail.com>

Update required legacy GCC version


# 4591ebc99ad545bab672417533b706d7104a9fac 18-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Fixes for building Haiku x86_64 from itself.


# aaeadfcb02fea79141251cd3a9f872d6f47fc244 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Do a separate libgcc build for the kernel as well.

Turns out that libgcc is needed, for some reason building the kernel
with -O0 does not end up referencing libgcc but -O2 does. A separate
build of it is done with -mno-red-zone, same reason as for libsupc++.
Ended up being easy to rebuild with different CFLAGS: previously I'd
tried doing `CFLAGS="-mno-red-zone" make` in the libgcc dir which
didn't override, the correct way is `make CFLAGS="-mno-red-zone"`


# c864ba1a2d8525aeabd6199c01675f70f5abd7bd 16-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Build a separate libsupc++ for the kernel with correct flags.

Kernel mode code on x86_64 needs to be built with -mno-red-zone as
interrupts would corrupt the red zone if it were in use. However, the
kernel is linked with libsupc++, which was not compiled with
-mno-red-zone. If an interrupt occurred in libsupc++ code the red zone
would get corrupted. This was causing random panics, particularly under
heavy system load. Therefore, on x86_64 a separate build of libsupc++
with -mno-red-zone is now done for the kernel to use. Note: this commit
will require a rerun of configure and rebuild of cross tools.


# b77772725ccf08904ed1ed8e0e28500868093ef4 01-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Changed x86_64 toolchain target to x86_64-unknown-haiku.


# bd16f0dd82af89e53cb3f616a0bbc2d448b5266a 30-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed configure for legacy buildtools.

The elfedit tool doesn't exist with the old binutils, so configure was
failing when it tried to get the path to it. Only try to search for it
if building GCC 4.


# 0d47dc5dd23f53a6bbd999b44b010d68229a4f83 28-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed incorrect variable name in generated BuildConfig.


# 385d69fc0177827257822eec1274f4286bc6600d 19-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Made it possible to build kernel modules for x86_64.

Added the necessary build flags for modules, and added a module (dpc)
to the floppy image for x86_64 builds for testing purposes. The module
gets loaded correctly and its code runs without issue. Only non-trivial
addition is the different method for generating kernel.so, this is
explained in the kernel Jamfile.


# 97f5a0bd35abf42a41961d9c3ca4e6d7bf51480e 11-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed case-sensitive filesystem check.


# 0962132cc60f7f93c696c16776f50ee66e4c65f7 10-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed Mac OS X 10.7 as a build platform (for GCC 4).

* Use gcc and g++ rather than cc and c++, as the latter now point to
clang with recent Xcode versions and compilation of the host tools
fail for various reasons with it.
* Replace the case-sensitive filesystem check with a more basic one,
as diskutil no longer supports the behaviour of getting info for the
volume that any path is on.
* Updated ReadMe with a correct list of prerequisites for OS X.
* GCC 2 builds are still broken due to a strange error that only
occurs with a GCC 2 built on OS X 10.7


# 65ad1ba320d945c9626f471c4fb0972ae49440b5 26-May-2012 Alex Smith <alex@alex-smith.me.uk>

Made it possible to build the bootloader when targetting x86_64.

* x86_64 is using the existing *_ia32 boot platforms.
* Special flags are required when compiling the loader to get GCC to compile
32-bit code. This adds a new set of rules for compiling boot code rather
than using the kernel rules, which compile using the necessary flags.
* Some x86_64 private headers have been stubbed by #include'ing the x86
versions. These will be replaced later.


# 81b45e484a2f71f1235d48ab743c20357f070593 29-Feb-2012 John Scipione <jscipione@gmail.com>

Fix build on Mac OS X 10.6 gcc2 and gcc4 and 10.7 gcc4 by adding some Mac OS X specific files that implement missing *at() functions.
Mac OS X 10.7 generates a gcc2 cross-compiler that fails when assigning NULL to a static method pointer so is still broken.
Added a weak attribute in driver_settings.cpp.
Move futimesat() from fs.cpp to fs_darwin.cpp since it is implimented on FreeBSD.
Implemented eaccess(), for the AT_EACCESS flag of faccessat()
Fix configure script to correctly detect case-sensitive file system


# 19d28b2205be23ef5763fe134f2b56b8ecb85bce 05-Mar-2012 John Scipione <jscipione@gmail.com>

Fix configure script to correctly detect case-sensitive file system


# 5e4d3774eba8549f088eb1a4a9ef8ce699a95f91 14-Dec-2011 John Scipione <jscipione@gmail.com>

Change m86k to m68k in configure script. Fixes ticket #8239.


# c51014771dbf90a3ab3709566a95d8ce5361ecb4 22-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Adjust required legacy gcc version.


# bd291de302b781ac9d216c80c816d17dfa1cda33 03-Nov-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove yasm check. Looks like I had accidentally (?) disabled the
version already.


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


# b55bd1da251d647c19080b5334860d72910563fa 17-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

configure: Update required gcc 2 version


# 3dfd9cb95ce45f59160d50975210bc55e3fc0709 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# 25dc253d6ab28ce204fa4de2d3e7a27d167fc817 22-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Merged weak-symbols branch.
* Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp
* Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c.


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


# 9a001156430b46d43e53be33e158a145a070f106 30-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Last part of #3298:
* applied patch by VinDuv that adds a Perl-based implementation of readlink,
which is needed on Mac OX X, as that doesn't have any of the other fallbacks
- thanks!
IIRC, other people have managed to configure without this on Mac OS X, but
I suppose no harm can be done by providing this as last resort.


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


# f9bb7404fa15dae9ebb93b794a29978cf746eac8 26-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Updated the GCC2 package to version -100818. This will soon be needed to be
able to build Haiku.


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


# c3bcd1ce7c62449b9cfab0d3e937ab4b60e9bef8 27-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* remove references to timezone files, as those no longer exist

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


# 7a5c50f90059d17b9c01d4677c3e0e7a07a9794c 12-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* updated optional package for gcc2 to gcc-2.95.3-x86-gcc2-2010-07-12
(a version that correctly deals with utf-8 chars in wide character literals)
* adjusted required gcc2 version in configure

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


# 97901ec593ec4dd50ac115c1c35a6d72f6e489a5 11-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Nathan Mentley:
* Added a few header files in headers/posix/arch that'll allow for an x86_64
haiku target to be compiled. fenv.h is src/lib/msun/amd64/fenv.h from
freebsd.
* configure: Added support for x86_64 arch when running
build_cross_tools_gcc4.
* config[_build]/HaikuConfig.h, BuildSetup: Added x86_64 recognition.


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


# 51355c1037bda541a3bc5bcba217dd90d2598855 20-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Axel changed the HAIKU_ADD_ALTERNATIVE_GCC_LIBS semantics. Init to 0.


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


# 138f5fb42a1dc207571b975e3a62f397c75518d5 20-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Just check which's return value -- no need for test and output capturing.


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


# b6c7c4286101950daa2654ffbb2024a2acd4c2ac 20-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Burn the witches.


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


# 089cfbf77409fbf01e45238bd480f741ef26ee29 20-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Updated required legacy gcc version.


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


# b29b48b1164f2e38f1a50251d88c674b0e5ae434 19-Apr-2010 Matt Madia <mattmadia@gmail.com>

A further refinement to support realpath when available.


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


# b4b6d83c5a9bd3d08a0fdd929bf41654e86a14b8 19-Apr-2010 Matt Madia <mattmadia@gmail.com>

Reworks 36361 to not assume that greadlink is installed.


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


# 7fe2e06cfdfa333c178a131fa8406224b44425ec 19-Apr-2010 Matt Madia <mattmadia@gmail.com>

Replaced '&> /dev/null' with '> /dev/null 2>&1'.


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


# ff3c7b964532485dcb5cd1ee8d3770d67b185af2 19-Apr-2010 François Revol <revol@free.fr>

Use greadlink when found, as the BSD readlink has no clue about the -e option.


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


# 3f9f9f9aee77bbb04de2edbc0bd86bd992f53a0a 19-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Resolve symlinks to the standard libraries as suggested by Andreas Faerber.
Fixes #5744.
* Removed commented obsolete code.


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


# 76fa0be374dd0b9b66c7e1845d6ea0a79c84d231 25-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Matt Madia:
* 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


# ab2540c49cacd05c0c364a89e22072d45ae1cca7 03-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

80 columns limit.


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


# 7986925f9f27095e11d2b54258559fe65c8eab4d 03-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Use the same names for the HAIKU_[HOST_]USE_32BIT and HAIKU_[HOST_]USE_XATTR
variables in the script and in generated BuildConfig file. Otherwise the
--update option wouldn't correctly pick it up.


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


# ffe8b20cda9cb27883433a5ba7805f26f403fe23 03-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Clear HAIKU_SHARED_LIBSTDC++ and HAIKU_SHARED_LIBSUPC++ when the compiler
doesn't know them. Not sure why that was commented out -- only this way the
build system knows that the libs aren't available. Fixes the non-Haiku build.


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


# 441945d568c6307096d2bcf9d496556ba095dae8 10-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Whitespace cleanup. Someone should check his editor settings. :-)


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


# c505b2765bbcd876aa1beb5c499dc97d6b45e74f 07-Jan-2010 François Revol <revol@free.fr>

Patch by Matt Madia: detect host sfdisk in configure for ARM, including the FreeBSD port.


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


# 7c4641d0afeb3fda1871223f4fe01fd9ffc4cb69 04-Jan-2010 Oliver Tappe <zooey@hirschkaefer.de>

* added --update option to configure which will re-run the last invocation
(--update must be given as first option, but can be followed by others)
* added simple perl scripts that is used by configure to convert BuildSetup
from jam to shell format



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


# 3e5498e4c94ca459ddb87344e26f749750bfdb03 04-Jan-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Färber modified by myself:
* Determine HOST_LD and HOST_OBJCOPY in configure.
* Removed Solaris ld work-around in BuildSetup.

The change requires configure to be re-run. Alternatively HOST_{LD,OBJCOPY}
can be added to generated/build/BuildConfig.


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


# 55d267a46d48658b0a08ef79611f6c79fa265952 02-Jan-2010 François Revol <revol@free.fr>

Make configure dump its invocation arguments to the BuildConfig file to allow for easier rerun later, as I'm getting tired to figure each of them each time someone adds some config variable...


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


# 0b58d8440cdd5ffb87ff7ec5e8938818a68ec261 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to
be run again or generated/build/BuildConfig needs to be adjusted manually.
* Removed bochs debug hack.


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


# a85cf9d793c5c1dde0bd4887e7c66d11ed2c07ec 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* configure: Pass gcc's host machine string to the jam build system.
* BuildSetup: Set jam variable HOST_PLATFORM_IS_64_BIT and add host define
HAIKU_HOST_PLATFORM_64_BIT if the host platform is 64 bit. Removed the
check from BeOSBuildCompatibility.h.


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


# 60d8d8fcc5005cdd8cff9861a803e5fa6a8fd725 23-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added -j<n> option to configure. It is passed to the
build_cross_tools[_gcc4] script which in turn passes it to make. Cores and
hyperthreads are plentiful these days; no need to let most of them idle when
building the cross tools.
* Sorted the configure options alphabetically again.


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


# 3578c56a15462ee2a68e8c102a27f7f2d4b94650 10-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Moved timezone and keymap source files to the correct place in the repository.


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


# 0651c859cf9c314ea5cfc2f83567be2e234ff6ac 03-Sep-2009 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

In OS X 10.6 diskutil returns an error for ".". Now pass the absolute path of the current working directory.


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


# 67838392dcea5e9a2ee3a4d30754c32fb9b0274c 21-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Applied stippi's no-patents patch, but without the ffmpeg part, as that one
is obviously already configured not to use patented code.


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


# 16d5c24e533eb14b7b8a99ee9f3ec9ba66335b1e 07-Jul-2009 Oliver Tappe <zooey@hirschkaefer.de>

* merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

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


# 23eb9a9e8285310f394f3bd74311c5617c44b631 29-Jun-2009 François Revol <revol@free.fr>

Set default ARFLAGS to cru instead of ru. No functionnal change, but it should suppress a warning about ar needing to create the archive.


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


# 3ecc52877442a2ff4019eba8613fbfc9a49d6718 29-May-2009 Michael Lotz <mmlr@mlotz.ch>

On Darwin/Mac OS X use diskutil to determine if the volume we configure on is a
case-sensitive one. If not, print out a message and a link to the guide that
describes how to set one up.


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


# a21fdd20f1163df7b9b0654522e8b539e9b05860 16-May-2009 François Revol <revol@free.fr>

This check doesn't work when used inside linux32... just remove it. Use linux32 ./configure --use-32bit


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


# 161ad3558de356146b5cb19ee90a2645f3ec1ed9 18-Apr-2009 Jérôme Duval <korli@users.berlios.de>

added other target architectures (m68k, arm, mipsel).


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


# 92696166d0335802f501d60aadbab98eb73865bd 13-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed debug output accidentally committed.
* Also allow yasm 0.7.{0,1} -- they have been reported to successfully build
at least.


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


# 77e84f219a28bcb45d9287a756e312c1d19e6623 13-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

configure does now check the yasm version for target architecture x86, and
sets the HAIKU_YASM build variable, which will be checked in BuildSetup.
Re-running configure or adding the variable manually to
generated/build/BuildConfig is required.


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


# 3e62a75547cee1aff1c04c75cfc1eb81f1ad73d0 12-Apr-2009 Jonas Sundström <jonas@kirilla.com>

humble mips beginnings

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


# 292e63bf9f2f09cb4c6b01f0a5dc2ab25a916f81 18-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Applied (slighly modified) patch by Matt Madia: When the
--alternative-gcc-output-dir configure option has been specified,
HAIKU_ADD_ALTERNATIVE_GCC_LIBS is set by default. One has to explicitely
unset it in UserBuildConfig to avoid building the alternative gcc libs.
* Adjusted documentation accordingly.


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


# 5abd9a464d1cdf6e65aaa532ba15df6c2af12c1c 24-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Whitespace cleanup and variable renaming for consistency. No functional
change.


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


# 308c212c312787855532a1a0b85f986cbb0662b0 24-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Matt Madia: Added automatic detection of 32 or 64 bit mode.


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


# 4a9f6b4a063b352d9605d74213b293154689da77 06-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Add support for the arm target as well. Not that we'd support it in any way yet.

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


# 64f6da317c461a24032a27ceffa2bf1e080e0361 02-Feb-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Matt Madia (slightly modified): Extended the usage text by some
info regarding non-default output directories.


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


# 1421048866ae6ab55d0ddff226943e341b1e285a 28-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Check the presence of the C++ header dir. The native and cross GCC4 do have
different directory layouts and this way we can still use a native compiler
as a cross compiler since we don't make the decision based on whether we are
cross compiling or not.


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


# 55751274e7375a59e89efdb7af22943160673a93 28-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

Fix C++ header location.

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


# 28b5bc7576da675972c6df82e50afe559138c3d6 27-Jan-2009 Michael Lotz <mmlr@mlotz.ch>

The include-fixed directory is a normal default include dir on GCC4.

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


# 83d554a7a4cce5e79c28b8ce5805a9621c5a54d5 25-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Require new GCC version.


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


# ff1beff8d1700374d7503ceb7bbc6ceae99feb99 20-Oct-2008 François Revol <revol@free.fr>

Add OpenBSD to the list of supported build platforms.


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


# e688a433ca396f8475c5194337b7fed2ac28637d 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* add Cygwin to the list of supported platforms

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


# 9b0dd52858e2b0e79ccc1f9a9319d90dd91e5f39 17-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Support for adding libraries compiled with the alternative gcc (2 vs.
4). One has to have a (fully configured) "generated" directory for the
alternative gcc and specify it using the new option
"--alternative-gcc-output-dir" when configuring the main build.
Additionally the build variable HAIKU_ADD_ALTERNATIVE_GCC_LIBS has to be
set to "1".

If that has been done, when building the image a sub-jam is invoked that
generates the alternative libs and zips them. The main-jam unzips them
into the correct directory in the image. Note that the JAM build
variable has to be set when using a jam executable not invoked by "jam".

Tested with gcc 2 NetPositive, Pe, and FireFox under gcc 4 Haiku, and
with a few of the standard gcc 4 Haiku apps under gcc 2 Haiku. Seems to
work fine so far.


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


# a559f87af8af727bf3ec7d61f0aa5d986b29d659 11-Apr-2008 François Revol <revol@free.fr>

Remove use of bashisms since we use #!/bin/sh. This should help supporting solaris.
Added sunos to the list of platforms, but it needs more work.


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


# 0da9c20813c3b3fbf681c1517675de0860f5a063 23-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Switched the legacy compiler to the i586-pc-haiku 2.95.3-haiku-080323
gcc. You need to reconfigure and rebuild the cross-tools to have this
change take effect.

Note that from now on it is no longer possible to use the native BeOS
compiler to build Haiku. You'll have to build a cross compiler, too. I
haven't tested whether this works at all, though.


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


# 1974210f28de61172fb6735c71597ecdb37e6796 25-Jan-2008 François Revol <revol@free.fr>

Add --include-3rdparty option to enable jam targets from 3rdparty/. It is suggested that 3rd party applications use the <3rdparty> grist to avoid shadowing Haiku stuff. (or what about <3rdparty!vendor> ?)

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


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

Add --enable-multiuser configure option for adventurous people.


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


# 8074e217af8741e75e962b7dbf43030d15f191cd 23-Oct-2007 François Revol <revol@free.fr>

Build support for m68k.


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


# 0385b0657b9c255b849c6e6031cd258e041a17ac 22-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Samuel Rodriguez Perez, slightly modified by myself: New
configure flag "--use-32bit" enabling 32 bit builds with a 64 bit host
compiler.


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


# da0f9ae040921d1af3cdbac209bdf16fe80f95b3 02-Aug-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Haiku as host platform supported by the build system ("haiku_host").
Completely untested yet.


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


# a66c32dde54a61f6b5a3be37728cda8e36341ea8 20-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced new configure option --distro-compatibility to specify the
compatibility relation to the official Haiku distribution. "official"
is for the official Haiku distribution itself, "compatible" for Haiku
Compatible (tm) distros, and "default" for all others (the default value
for the option). The build system variable HAIKU_DISTRO_COMPATIBILITY is
defined accordingly, and one of the
HAIKU_DISTRO_COMPATIBILITY_{OFFICIAL,COMPATIBLE,DEFAULT} macros is
defined for source code and rdefs.


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


# 6dcd0ccf238263a3e5eb2e2a44e2ed0da1617a42 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


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


# 4f4e5272fc99dc6b2c6004c2c4f5dcff565ff6a4 07-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Under Linux it is now possible to emulate the BeOS attribute support via
xattrs. It can be enabled with the configure switch "--use-xattr". Note
that the amount of data stored in attributes may be limited by the used
file system -- e.g. AFAIK ext3 has a limit of one block (usually 4 KB)
for all attributes of a file, which might not suffice. XFS should be
fine, as should ReiserFS 3.6 (or any FS which stores attributes in
hidden files).


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


# eedc3d0be03a784b36c98fe2854043071f0321e6 21-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Since configuring an unsuitable cross-compiler has become a FAQ lately,
we do now check whether the target the compiler has been configured for
looks compatible.


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


# 141e72bede90298a3ce0018cef69084544ac0880 19-Feb-2007 François Revol <revol@free.fr>

Remove dupped case 6.* for platform checking.


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


# 5a34a44314798a42a28c305bd746fdf445167c60 15-Feb-2007 François Revol <revol@free.fr>

Remove dupped word.


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


# eccc7665b5e9b71ddd90cffcd728c348e56bb8ea 04-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added configure option --use-gcc-pipe to enable building with the gcc
-pipe option.


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


# ac5beb17a5790e8b98b749b2eb222debb1ff74dc 03-Feb-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed obsolete --floppy option.


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


# 6cc8eecf5ee90573be569f152db2e3b800cdbfda 16-Nov-2006 Oliver Tappe <zooey@hirschkaefer.de>

* fixed my own stupid bug that did not reliably check for the legacy compiler
version


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


# a5b60fa88e94258f97de2fd964cba6b13f471e5f 03-Oct-2006 Oliver Tappe <zooey@hirschkaefer.de>

* reverted changes of revision 18985, as Ingo has pointed out, they were useless.


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


# be2bd5ef4b2537602e688fd2cb4c5e5add4dce50 01-Oct-2006 Oliver Tappe <zooey@hirschkaefer.de>

* implemented a suggestion of korli: the legacy & gcc4 cross-tools are now built
in separate folders ('cross-tools-legacy' and 'cross-tools-gcc4') and you
can use the new cmdline-switches 'use-cross-tools' and 'use-cross-tools-gcc4'
to switch between those two. Before, you always had to recompile the tools
in order to switch.


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


# dad360027a8b7e4cdddd24081527c860604c3628 17-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

switch back to local system gcc headers, the outcome is similar unuseable



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


# 274b450ab86118d59d862e0ef40c4c9a943469fb 16-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

gcc 4 only: modified the previous change to allow fallback to local C++ system headers



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


# e3c3c19859b250d11ef74749658a2f2458311707 16-Sep-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

gcc 4 only: when not building the cross compiler, use haiku default C++ headers from source tree (haiku/headers/os/cpp), instead of local system headers



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


# f7784f57e2547ab54a538595c3cf02cd72065d49 16-Sep-2006 Oliver Tappe <zooey@hirschkaefer.de>

* removed debug output...


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


# af4bf973bb26f4250b9c42fc1c8fa60437c6dbaa 16-Sep-2006 Oliver Tappe <zooey@hirschkaefer.de>

* fixed dependency of build_cross_tools on version of legacy compile, this finally fixes
building of cross-compiler on Linux (as reported by korli, thanks!).


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


# 5b0f7b1b1ea393a4429b5026e45f3b83fe300d33 03-Sep-2006 Oliver Tappe <zooey@hirschkaefer.de>

* added checking of legacy gcc against required version, suggested by Axel



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


# 1213a0db755aad909c2641d19f020654acab227d 26-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

newer versions of ZETA advertise version 6.0


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


# 6e7c6fe56791c5c9874e30637f28bc68594af4b4 03-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Applied patch by mathewblack@ntlworld.com (bug #723) to support spaces
in the path to the Haiku working dir.


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


# db63fe6713062a02240125c9de96d2200868158d 30-Jan-2006 Axel Dörfler <axeld@pinc-software.de>

Strangely enough, one of my R5 system's doesn't have a "cc".


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


# 0838a9303717aca92fa619590b1e00a6e1c9a8f8 11-Jan-2006 Jérôme Duval <korli@users.berlios.de>

improved set_default_value


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


# 5d9789688d8827e84ab7ad2524a0249b5ac7aed1 09-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove eabi.o from the libgcc objects. It's in the static libgcc for PPC
(would not be in the dynamic one though).


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


# 20ab75e64c8c4113ca0af0e8e5be8b9c9623b923 06-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjusted build_cross_tools_gcc4 and configure to be able to build PPC
build tools as well. The configure option --build-cross-tools-gcc4 has a
new parameter to specify the architecture.


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


# 9743fe8729448b92ae8c3b0c9cca17b8c2b96d7e 05-Dec-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

When building the gcc 4 cross tools we now configure for machine
i586-pc-haiku.


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


# 307807f2da674c9d0f312ec72d69a1aeee9fb240 18-Nov-2005 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Moved FreeBSD setup to define a freebsd build platform. GCC4 apparently also requires the use of GNU Make, so told the build_cross_tools script to use 'gmake' instead of 'make' on BSD systems.


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


# 29ef597dc60457e9133b7b24fac26190157c51a9 18-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added build_cross_tools_gcc4 script which builds gcc 4 and binutils
from the sources. Added respective configure option
--build-cross-tools-gcc4.
* Fixed running "configure --build-cross-tools" from another directory
than the source dir. The parameter to the script was missing and thus
the tools were created in <sources>/generated.
* Removed stdc++ lib header dir ".../debug". One is supposed to include
<debug/...> to get the debug headers.
* The stdc++ lib header dirs are now listed one per line in the
generated BuildConfig. This works around the 512 bytes jam line length
limit.


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


# 9839134738432bd1dd3f784b1c77cc6944308f69 16-Nov-2005 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Made FreeBSD a valid build platform by setting FreeBSD to define buildplatform=linux.


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


# c89fc8752d05038ff640b5e738e8c1c8faea2bb8 14-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* More consequent handling of libsupc++. configure looks it up now and
provides it via BuildConfig. We link everything against it.
* Temporarily pass --no-undefined to the linker. Should be in the
compiler specs, but isn't in the gcc 4 I built.
* Define _BEOS_R5_COMPATIBLE_ macro when building with gcc 2. Can be
used in headers for instance.


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


# 8b5934c975d7c3eb1c19f396dbe2a150df4f086a 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added support for compiling Haiku with GCC 4. The main difference is that
we use the libstdc++ (including it's headers) that comes with the
compiler.
* Apparently option "-I-" has been deprecated, which is why we now treat the
include stuff a bit differently.
* Removed avcodec from the Haiku image, since the library wouldn't build with
gcc 4, and I'm not in the mood to fix that (declaration of an array of an
incomplete type).


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


# 14998c8bd5b8fc0399f37766e7f4d79996286b97 08-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Zeta apparently uses a OS major version >= 6.


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


# 0df3cc9c864a1ca801dc1afd4d8d2baf03d0fd51 30-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Re-enabled host platform BeOS version detection. Tested only under BeOS R5.


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


# 4cbe4925ea7e4e20b1d52e34745b4da42c3e7b52 02-Sep-2005 Axel Dörfler <axeld@pinc-software.de>

The "configure" script should now be able to detect the Haiku platform as well.


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


# 6233964798c3a851cd7a69d6abb0ebd33aa69910 01-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Removed host BeOS version recognition: we now always default to target "haiku".
Building our components for use with R5/dano/whatever is now something you need
to want, it's not the default anymore.
Note: you can still build single components for R5 by overriding the target
platform per target, too, for example:
$ TARGET_PLATFORM=r5 jam app_server


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


# 733fed3a6fc5c49299e788252dabf80a7648fd39 17-Mar-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

CVS -> .svn.

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


# b1e5b60ccffa844d663fbca95f61156b90d360e3 25-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

Divided BuildConfig into three files: BuildConfig, Timezones, and libgccObjects.
That makes fine tuning any of them a nicer experience.
You have to rerun ./configure in order to build anything.


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


# 6f9587ddebf5bd486f9ad85954d3268561e21ef5 20-Jan-2005 Axel Dörfler <axeld@pinc-software.de>

The build target now defaults to "haiku", not $platform.
Updated the help text with respect to the bochs debug output hack.


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


# d2ab012d92a0e546e96808d0a1ac7d28fc8bfe35 21-Nov-2004 Jérôme Duval <korli@users.berlios.de>

Fix a bug with timezones defined through Link (hint from Ingo).


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


# 4d5737d0b846f93ba08a20e9520beed7ff5fb617 19-Nov-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Filter the CVS dir.
BTW, I find this whole thing somehow misplaced and ugly, but I have no
good idea how to do that with Jam.


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


# 4c74bde8e53ccc5ac6753aed39358b5a2dcccfd8 19-Nov-2004 Jérôme Duval <korli@users.berlios.de>

Added support for timezone files which are parsed at configure time.
This allows jam to know which targets are expected.


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


# 7c8bb86f7055a65613a6da93ea1359dc4bff65bc 31-Oct-2004 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed getting the target parameter.


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


# a17b9c0c086ce9bb118ba3146e53c37d98551ae0 25-Oct-2004 shatty <shatty@nowhere.fake>

improved platform targeting


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


# 614026d717d1196698b65bf707090e69c1882fee 17-Oct-2004 shatty <shatty@nowhere.fake>

first cut target identification


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


# b45cb282a9f417f84a6c69cb3275525be9cafddd 05-Jul-2004 Axel Dörfler <axeld@pinc-software.de>

Now sets the variables LIBGCC_OBJECTS and LIBGCC_DIR.


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


# 54d94d3929d391eb436438601cd4e3ffd87fd41d 04-Jun-2004 Axel Dörfler <axeld@pinc-software.de>

Replaced double equal symbols with single ones - seems to be more compatible.


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


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

Added a new Jamfile rule, called SubIncludeGPL, which can be used to conditionally
include GPL licensed add-ons into the build. As GPL licensed add-ons may not be
used with non GPL compatible applications, this rule normally is not invoked when
building the tree. However, if the user is sure that he only uses GPL compatible
software, he can use the new ./configure option --include-gpl-addons to enable
the including of GPL licensed addons that are integrated by SubIncludeGPL instead
of SubInclude.


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


# 1bf10fafcbb0143297b1f9dcb1cfac43e083fea8 12-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Fixed the new version identification (now uses -dumpversion instead of --version),
also added a semi-colon to the Jam line defining GCC_RAW_VERSION.


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


# 8c17a26b5c9a187279d85dcd98d87a8ed14e37f6 12-Oct-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The configure script now sets the variable GCC_RAW_VERSION which is
parsed in Jamrules into a list (`.' and `-' are considered delimiters)
written into GCC_VERSION. E.g. for the GeekGadgets compiler expect
GCC_VERSION to be set to `2 9 beos 000224'. So, GCC_VERSION[1] should
contain the major version, GCC_VERSION[2] the middle one.


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


# 09c5682d91abb5d578c601cedee390667bf98b0a 05-May-2003 Ingo Weinhold <ingo_weinhold@gmx.de>

The platform dependent header dir is explicitly included now. Changed the libgcc.a handling a bit. Re-run configure!


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


# 7209d830c87a4a7bfdca065d0997319d8df299f6 19-Nov-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved BuildConfig into build/.


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


# 405439be5c942a4d3f86899456e2c5ddc81ba42d 29-Sep-2002 beveloper <beveloper@nowhere.fake>

unified Bochs debugging option


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


# b1b72e8797bcba14b22c1cea990b4f4319ac6bfe 27-Sep-2002 Bruno G. Albuquerque <bga@bug-br.org.br>

Automatically add the Bochs keyboard hack when --bochs-debug is used in the configure script.


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


# f2578b0a5919d603ee7d6e05e3fe462fc4efab92 17-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Set the variables in BuildConfig with ?= which allows for overriding them with environment variables.


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


# 2b94bc7ba9276670d95abe42b5f802862b2827f4 15-Jul-2002 lillo <lillo@nowhere.fake>

hopefully fixed the bochs debug issue


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


# c4786ea6c4d0a544cce35184735b81fd4d986b0f 15-Jul-2002 lillo <lillo@nowhere.fake>

Made bochs e9 hack switchable by configure


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


# 022fa244720f5fbe7cc63fd1c64658e411bf8c05 14-Jul-2002 Ingo Weinhold <ingo_weinhold@gmx.de>

Added handling of floppy location parameter.


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