History log of /haiku/build/jam/ArchitectureRules
Revision Date Author Comments
# 5ea01a50 13-Apr-2024 PulkoMandy <pulkomandy@pulkomandy.tk>

cmedia: enable -Werror

Errors are now enabled for all audio drivers.

Change-Id: Ia4e986f0ed8965376c3bbefc3d9f04bcd68ad561
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7621
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alexander von Gluck <alex@terarocket.io>


# 99351a72 12-Apr-2024 PulkoMandy <pulkomandy@pulkomandy.tk>

sb16: enable -Werror

Change-Id: I990362cd764e3a219e5022a62264b76be4cdf80c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7620
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alexander von Gluck <alex@terarocket.io>


# 98afcfa7 12-Apr-2024 PulkoMandy <pulkomandy@pulkomandy.tk>

geode audio: fix almost all warnings, enable -Werror

The compiler complains about implicit declaration of free and calloc
despite stdlib.h being included. I think it's because of -ffreestanding
being used on the command line?

Change-Id: I57c3899e5034d1c2ee9cb6c1ed4c92aa818b53ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7619
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alexander von Gluck <alex@terarocket.io>


# 8a3e82a0 06-Apr-2024 PulkoMandy <pulkomandy@pulkomandy.tk>

ich, ichaudio: remove

These have never been included in the Haiku build as far as I can see.
All the soundcards they support are already handled in the auich dirver.
All the IDE driver that ichaudio claims to support, I'm not sure why they
are in an audio driver.

One of them was written for BeOS and never updated for Haiku
multi_audio, and the other was apparently some experiment that didn't
get anywhere in the end. To avoid confusion, let's keep only one driver.

Change-Id: I5bf48e7dd2c5340e84a1ab4eb3e3b079103b7988
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7604
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# f5e5891b 07-Apr-2024 PulkoMandy <pulkomandy@pulkomandy.tk>

es1370: enable -Werror

- use shared (updated) util.c for memory allocation
- disable functions that are currently not used (ac97 suopport)

Untested, I don't have the hardware.

Change-Id: I9c406e46af94dfc213cfa258c5f375da3c0c719d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7603
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alexander von Gluck <alex@terarocket.io>


# 464efaf4 06-Apr-2024 Muhamed Emad <muhamed.emadeldeen@gmail.com>

auvia: enable -Werror, style fixes

Move util.c from auich (the most up to date version) to the parent
directory of ac97. Use it also for auvia. This means changing several
physical addresses to use phys_addr_t instead of pointers, and declaring
buffers allocated by alloc_mem to be user-accessible or not.

Untested, I don't have the hardware.

Change-Id: I2ababc713384cbf34174fbcecfb3595547a1fd97
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7602
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alexander von Gluck <alex@terarocket.io>


# d6e543c3 07-Apr-2024 PulkoMandy <pulkomandy@pulkomandy.tk>

emuxki: enable Werror

Change-Id: I6ed7bfbe157bee86a8ce1dabc5829b8825e43f99
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7609
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 6f52406a 07-Apr-2024 Muhamed Emad <muhamed.emadeldeen@gmail.com>

auich: Fix warnings, enable -Werror

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


# 9b655000 06-Apr-2024 Muhamed Emad <muhamed.emadeldeen@gmail.com>

hda audio: Enable -Werror

There seem to be a gcc2 bug resulting in bitfields of uint32 type being cast to int.
The bitfield is mostly not needed here, since the fields are 8, 16 or 32
bits, so just use the appropriate types.

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


# 4d058c90 05-Apr-2024 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

null_audio: fix warnings, enable -Werror

Change-Id: I83630f697cfb3d12bf8bea35b24dbdfd93b38ef1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7595
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# fa2e76a1 04-Apr-2024 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

audio drivers: enable Werror for drivers that have no warnings

Change-Id: I8b1721da5337e5368e1ecb19285ac29869c9d41f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7594
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# aa9d729e 04-Apr-2024 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

virtio_audio: add to build, enable Werror, fix build

Change-Id: I52f1ed9cd2a967d7fecf866aec7cd390ae4885b8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7593
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>


# b6c24e6b 24-Nov-2023 Augustin Cavalier <waddlesplash@gmail.com>

network: Overhaul TUN/TAP subsystem.

* Rename the "tun" network device to "tunnel". FreeBSD calls theirs
"tuntap" but speaks of both TUN and TAP devices as interfaces for
tunnels. The other BSDs seem to do likewise.

* Fold the "tun" driver into the "tunnel" network device. The
network device now publishes entries in devfs when interfaces
are created, and unpublishes them when interfaces are destroyed.

This removes the need for the driver and device to communicate
through a file descriptor, and thus allows the receive queue
to be totally eliminated, massively simplifying that logic.

* Use standard net-stack FIFOs instead of TCP BufferQueue, which is
specialized to TCP's needs in far too many ways. Thanks to the
previous commit adding support for interrupting semaphore waits,
we can use the FIFO wait mechanisms, too.

* Restructure the TAP logic, and generate MAC addresses more like
Linux does.

* Actually set type = IFT_TUN, and use the "loopback" frame handler
instead of the "ethernet" frame handler. This allows significant
cleanup of the header handling logic.

* In TUN mode, reject packets that don't look like IP packets.

* Delete "tunconfig"; it was mostly stubs and is now unnecessary.

TUN mode tested and confirmed as working by kallisti5 with OpenVPN.
TAP mode partially tested, but not yet confirmed as working.

Fixes #18673.

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


# 51355272 09-Aug-2023 PulkoMandy <pulkomandy@pulkomandy.tk>

ArchitecturesRules: error on use of deprecated functions

The previous commits have cleaned all the remaining ones.

Change-Id: I6b12ba4f23779f3e2e4fd5a00c6acfaaeb50f4d6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6804
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>


# 35bc8b40 22-Sep-2023 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Disable autovectorization for the kernel (for now.)

See #18593.


# 2468c9e5 07-Aug-2023 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

Remove -Wno-error=deprecated

This disables -Werror for the use of old GCC extensions listed here:
https://gcc.gnu.org/onlinedocs/gcc/Deprecated-Features.html

We do not apparently use any of those anymore (if we ever did). I think
this was accidentally enabled at the same time as
deprecated-declarations (which we still need, for example because we
still have some uses of auto_ptr).

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


# 4fbc89c3 28-Jul-2023 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

Remove -Wno-error=trigraphs

All (accidental) trigraphs have been removed in the source.


# 0849c914 14-Feb-2023 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

xfs: Enable -Werror, fix all warnings

Define a dedicated OnDiskData structure for each on-disk structure. This
must match the on-disk layout, except for endianness, which is handled
by _SwapEndian methods. These structure are "plain old data" so we can
use offsetof on them. They are wrapped in an easier to use C++ API.

This resolves a lot of problems with the previous code: warnings caused
by the use of offsetof as well as a much simpler instanciation of the
objects from on-disk data.

Also fixed another problem with UUIDs, where the UUIDs were handled by
pointers in a lot of place where it was not necessary. Use references
instead. The V4 structures which don't have an UUID will return a "null"
(zero-filled) one.

Change-Id: Ifb2bf6ab94906ca50410dd3446d3566615392ca2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6021
Reviewed-by: Raghav Sharma <raghavself28@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 90e87426 22-Dec-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

ffmpeg: enable Werror and fix all warnings

Warnings fixed include usage of various deprecated functions, structures
and fields of ffmpeg.

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


# 3b8430df 28-Aug-2022 Jérôme Duval <jerome.duval@gmail.com>

strace: add an option to filter syscalls by name or by type

the type lists are hardcoded for now.

Change-Id: Iae89046ee52d3812354de619bfd9625217479c49
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5597
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# f6166140 29-Nov-2022 Augustin Cavalier <waddlesplash@gmail.com>

build: Define _BOOT_MODE once and for all in ArchitectureRules+BootRules.

Previously it was spread all around the tree, and was not defined
consistently for all boot objects (there were a number of boot modules
which did not define it, but did include headers which checked for it.)

Now, as it is handled in SetupBoot which is invoked for all boot objects,
it will be applied consistently throughout. We can thus drop the manual
additions of it from all Jamfiles.


# 05c1a899 06-Oct-2022 David Karoly <karolyd577@gmail.com>

enable EFI boot for 32-bit ISO image

Building EFI partition for 32-bit anyboot ISO image was disabled
in hrev52443 to fix issue #14656.

As haiku_loader.efi is now available for the x86 architecture
since hrev55917, we can re-enable building EFI system partition
for the 32-bit ISO.

We can also remove the build rules related to HAIKU_ANYBOOT_LEGACY
as it is not used any more.

Change-Id: I9c2c272bcd0f9c1a98ee6cea300374dc26b4818d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5716
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 4198265f 30-Sep-2022 Augustin Cavalier <waddlesplash@gmail.com>

build: Optimize for size in the bootloaders, not for speed.

This saves almost 100K in size:

BIOS: 367K -> 271K
EFI: 541K -> 454K

Fixes #17961.


# 4d5b9e67 09-Aug-2022 Mashijams <raghavself28@gmail.com>

xfs: disable Werror

compiler generates a warning regarding using offsetof() function on a non - POD type class

disabling Werror will not break build due to this warning

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


# c8641d3a 08-Jul-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

ramfs: enable -Werror

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


# 63252572 08-Jul-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

nfs: enable -Werror

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


# 5d1501ed 08-Jul-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

reiserfs: enable -Werror

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


# 34596ea5 08-Jul-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

FAT: enable -Werror

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


# 07d5dba0 30-Apr-2022 Jim906 <jim_l@fastmail.com>

kernel/drivers/disk: enable Werror

* For NVMe library, disable warnings.
* Otherwise, change code to avoid generating warnings.
* No functional change.
* Fixes #9460.

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


# b666bf3f 28-Apr-2022 Mashijams <raghavself28@gmail.com>

xfs : Enabling -Werror and fixing all build issues that result

This patch will fix almost all warnings we have in xfs code.
There are some which I haven't fixed yet, I added comments on
part of code which is giving error and its type as well.

I tested all the changes on xfs_shell and everything is
working fine.

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


# a5c0d1a8 12-May-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

Enable Werror on some network drivers

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


# 1da90c98 22-Apr-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

Enable and fix WError in add-ons/kernel/busses/

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


# ad398477 22-Apr-2022 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

Enable some more Werror and fix compiler warnings

- All servers are now Werror
- All bus_managers are now Werror
- All input_server add-ons are now Werror
- Some more things in bin/ are Werror

Only tested on x86_64, I'll let the buildbot test on x86_gcc2 and RISC-V

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


# a9bd2efd 14-Apr-2022 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Delete config_manager

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


# e9541a68 21-Feb-2022 Alexander von Gluck IV <kallisti5@unixzen.com>

build/riscv64: Disable relaxation linker optimization under clang/lld

* Fixes errors compiling under clang around 'R_RISCV_ALIGN
requires unimplemented linker relaxation'
* Same fix FreeBSD applied https://reviews.freebsd.org/D25210

Change-Id: I680cac5e3e73d3ebb84aa0741bcee61530405db0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4986
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 4f912a8b 16-Dec-2021 David Karoly <karolyd577@gmail.com>

enable building EFI loader for x86

Change-Id: Ic7d2c3194b8555f7b6704131f5fc2bce3b139ee4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4918
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# 11034669 04-Nov-2021 David Karoly <karolyd577@gmail.com>

build ARM EFI bootloader with soft-float

Change-Id: If7feffafea4fc6d295d04f696127c8f0fbd8fb9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4704
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


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

ArchitectureRules: Adjustments to Werror flags for GCC 11.


# 573b7b1f 16-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Temporarily disable -Wno-error that GCC 8 does not like.


# 38dc3bf2 16-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Add two new -Wno-error flags.

The use of the "register" keyword is harmless, though we should eventually
remove it.

Taking addresses of packed members is "mostly harmless" on x86 where
unaligned accesses are OK. It's less harmless on other architectures,
but we sometimes use packed structures when manually aligning things.
Unfortunately GCC throws this warning even when the actual pointer would
be aligned, not merely when it's unaligned, making the warning far too
noisy and not really that useful.

"Found" by GCC 11.


# e6f41139 09-Nov-2021 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

[arm64] Set march to armv8.2-a+fp16, fix posix math

The march can be reduces later if needed.

Use arm64 optimized math, and set std=c11 so
__FLT_EVAL_METHOD__ is 0 and not 16:
https://gcc.gnu.org/bugzilla//show_bug.cgi?id=100854


# 6711cd9e 30-Dec-2020 PulkoMandy <pulkomandy@pulkomandy.tk>

bootloader: reduce stack usage

On Sparc Openboot, we get allocated a stack of only 8 kilobytes, and
each called function costs at least 176 bytes for the stack frame.

This means we need to be more careful than usual about stack usage. Move
some large-ish allocations off the stack by either making them static,
or allocated dynamically.

Add a compiler flag to error on functions which use too much stack. The
threshold is at 1023 bytes, because that's what allowed me to find the
two functions that were causing a stack overflow (open_from and
_ParseActivatedPackagesFile)

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


# 245e8312 12-Oct-2021 Franck LeCodeur <cassisian@gmail.com>

file_systems/googlefs: Fix warnings and enable Werror

Part of #9460

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


# 718fce99 12-Oct-2021 Franck LeCodeur <cassisian@gmail.com>

drivers/input: Fix warnings and enable Werror

Correct signedness for comparisons, remove unused code, remove unused variable, correct variable type for callbacks

Part of #9460

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


# c5325c66 19-Oct-2021 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Increase HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET on x86.

The bootloader is larger after adding zstd and needs more space now.
384 is the value used already on PPC and SPARC. Fixes generating
floppyboot archives for anyboot images following recent changes.


# 628ddb27 25-Sep-2021 Franck LeCodeur <cassisian@gmail.com>

usb_webcam: Fix warnings and enable Werror

Done as part of #9460

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


# 23d7ddaf 09-Oct-2021 Franck LeCodeur <cassisian@gmail.com>

input_server/methods/pen: Enable Werror as there are no related warnings

Part of #9460

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


# 2453e792 09-Oct-2021 Franck LeCodeur <cassisian@gmail.com>

bus_managers/firewire: Enable Werror as there are no related warnings

Part of #9460

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


# d29af2b6 11-Oct-2021 Adrien Destugues <pulkomandy@pulkomandy.tk>

ArchitectureRules: Grooming of EnableWerror list

- All network add-ons are now built with Werror, collapse the list to a
single entry
- Add a few busses add-ons that were not listed (to be checked and fixed if
needed)


# b06bf005 11-Oct-2021 Franck LeCodeur <cassisian@gmail.com>

drivers/bus: Enable Werror as there are no related warnings

Part of #9460

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


# 4ff75b9c 10-Oct-2021 Franck LeCodeur <cassisian@gmail.com>

drivers/power: Enable Werror as there are no related warnings

Part of #9460

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


# 9170263e 10-Oct-2021 Franck LeCodeur <cassisian@gmail.com>

kernel/debugger: Fix warnings and enable Werror

Add one missing include and change variable declaration types to match comparison type.

Part of #9460

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


# 98193d26 26-Sep-2021 Franck LeCodeur <cassisian@gmail.com>

raw_decoder: Fix warnings and enable Werror

Done as part of #9460

Warnings related to comparison of integer expressions of different signedness

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


# 7aa55747 30-Sep-2021 Augustin Cavalier <waddlesplash@gmail.com>

kernel & addons: Build with the non-legacy GCC even on x86_gcc2h.

Only one code change: for some reason, GCC chokes on the cr3 functions
as macros (throwing errors about invalid registers.) The BSDs have them
as inline functions instead, so they are converted to that here.

Tested and working. There seems to be about a 10% decrease in CPU time
on some compilation benchmarks that I briefly tried.

Change-Id: I31666297394d7619f83fca6ff5f933ddd6f07420
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4515
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# c4eec9f1 01-Oct-2021 Augustin Cavalier <waddlesplash@gmail.com>

Distinguish KERNEL_ARCH_DIR from KERNEL_ARCH.

On x86_64, the KERNEL_ARCH should really be "x86_64", but it was "x86"
as the architecture sources/headers directory is shared between 32 and 64 bit.

Should not be a functional change on any platform outside x86_64.


# 7b1db531 30-Sep-2021 Franck LeCodeur <cassisian@gmail.com>

network/datalink_protocols: Enable Werror as there are no related warnings

Part of #9460

Change-Id: Ibcc30af0c2d351742cbedd6df15b2880b92edfee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4513
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# 521f76b9 29-Sep-2021 Franck LeCodeur <cassisian@gmail.com>

network/stack: Enable Werror as there are no related warnings

Part of #9460

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


# 08d9716a 27-Sep-2021 Jérôme Duval <jerome.duval@gmail.com>

video_producer_demo: fix comparison warnings

Change-Id: Ibfc8780c55e229190573918a4cf1f119b5e345c6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4504
Reviewed-by: Franck LeCodeur <cassisian@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 1fb138bf 12-Sep-2021 Franck LeCodeur <cassisian@gmail.com>

ext2: Fix build warnings, enable Werror

This fix is for ticket #9460 to enable -Werror for ext2.

- Unused functions are removed.

- The ASSERT macro was redefining a different ASSERT macro from the included files. Now it gets undefined first.

- One comparison side was cast to ptrdiff_t because X86_gcc2 complained about signed/unsigned comparison

Change-Id: Ib0caade2f83de34c04acc0fc6aa5ed50712daec4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4453
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 5ea726b9 21-Aug-2021 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Use PIC and shared flags on ARM64


# 5a1731bc 28-Jun-2021 Han Pengfei <pengphei@qq.com>

arm/build/ldscript: import ld script and build paras from riscv64

- This will fix page translation fault when accessing
static variables.
- Now with this patch, we made uart pl011 works for qemu.

Change-Id: I8eecc18ad05bd950768b49d9ed268c4c2a3baf25
Signed-off-by: Han Pengfei <pengphei@qq.com>
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4123
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# d407b17b 22-Apr-2021 X512 <danger_mail@list.ru>

kernel: riscv64 patches

Change-Id: I8ebcbaa395cbccb50af08fd2f1b049b5cbb949c7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3883
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>


# a182bd6e 17-Apr-2021 X512 <danger_mail@list.ru>

haiku_loader: initial support for RISC-V TinyEMU

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


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


# d1238496 15-Jan-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

build/cross-tools: explicitly set ISA for riscv64

* Enable TLS for riscv64. For now select a dummy
implementation.
* RISC-V has a register (tp) dedicated to TLS
* All the "desktop-like" RV64 chipsets implement GC
* Same ISA we currently build for... but calls it out
in-case defaults change.

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


# f8650bc2 12-Jan-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

jam/ArchitectureRules: Bump SDIMAGE_BEGIN to 2KiB

* If we start at 0 we overwrite the partition table
with the EFI boot filesystem

Change-Id: I7d1d5d65cdaf78f3bd3b87672e1e8e161f78ce75


# 58332722 07-Jan-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

build/mmc: Drop usage of mtools, use internal tooling

* Fixes the ARM image to actually include Haiku within
a partition on the SD card.
* Drops the mtools requirement
* Drops the C/H/S requirements

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


# c99c0d9d 31-Dec-2020 PulkoMandy <pulkomandy@pulkomandy.tk>

sparc: kernel needs to be position independant

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


# cb26d04e 29-Nov-2020 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

arm: kernel link cleanup and fixes

* Removes several previous hacks, and makes kernel loading
by our bootloader more reliable.
* Long list of "Couldn't find both text and data" errors
no gone in our bootloader as it loads our kernel

Change-Id: Ic9f5ed44975d41fb22d7ab19536261432abe84ba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3444
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# fb0391c2 10-Oct-2020 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Fix typo in CC_IS_CLANG test.


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


# 5c9d51ef 05-Feb-2020 François Revol <revol@free.fr>

m68k: make sure boot & kernel code can run on 020-060

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


# ec5a7997 02-Nov-2019 François Revol <revol@free.fr>

m68k: add next_m68k boot platform

Since the boot ROM API structure is declared with a custom alignment, we
simulate it with padding bytes around, and use aligntest.prg to verify
using ARAnyM + TOS/MiNT as we know how to link simple PRG files.

It now prints something to the screen then panics when initializing the
heap.

For now one must insert the loader manually into an existing floppy
image:
dd if=generated-m68k/objects/haiku/m68k/release/system/boot/next_m68k/haiku_loader.next_m68k bs=$((0x8000)) seek=1 of=next_floppy.img conv=notrunc

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


# d9f74c87 18-Jul-2020 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Graphite options only, replace dupes with floop-nest-optimize

Other loop optimization is enabled in -O3 already


# b4e10d71 29-Jun-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

arm64: Attempt to build efi bootloader

Change-Id: I90a9440898994459f8d6de922a3f363fbeddaaf4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2974
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 9f739dd2 28-Jun-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

u-boot/arm: Break script out of Jamfile. Add EFI support.

* boot.scr was growing past Jam MAXLINE and was causing segfaults
* Break out to tree, data/boot could be used for other arches
* boot.scr is getting a bit complex, but supports the old
u-boot haiku_loader, as well as u-boot starting our EFI loader.

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


# 0ed9b677 11-Jun-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: switch to EFI, drop FDT in loader

* This should 'fix' the arm build
* No longer parse FDT in bootloader, just pass ptr.
* The EFI loader doesn't load yet on arm
* It compiles though. Ship it!

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


# a5ca573d 28-Mar-2020 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Add -fno-semantic-interposition to kernel rules.

Should constitute a minor performance gain, with no functional change
(the kernel ELF loader does not do any semantic interposition; or
any interposition for that matter.)


# 29301429 23-Mar-2020 Jérôme Duval <jerome.duval@gmail.com>

ArchitectureRules: define HAIKU_KERNEL_PIC_CCFLAGS for x86

fix broken x86_gcc2 build after 515ec4734001b998074473c63cf197d2b62382b2


# 515ec473 22-Mar-2020 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Make HAIKU_KERNEL_PIC_CCFLAGS empty by default.

This makes it entirely up to the per-architecture setup as to
what to put into it.

No functional change.


# 04f1baa7 05-Feb-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

EFI: Make our haiku_loader architecture agnostic

* This is the bulk of the work. Anything else should be
minor cleanups and tweaking.
* riscv64 isn't a viable EFI platform yet.. just acting
as a stand-in to test a non-x86 EFI haiku_loader

Change-Id: Ib03de81e2b562e693987b86d7b4318209fb1c792
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2256
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 78fea275 03-Sep-2019 Jaroslaw Pelczar <jarek@jpelczar.com>

arm64: Enforce PIC build of kernel

Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I4d4acf91865b182d9fd5f500978705854e0638e5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1855
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# cbdb30f4 02-Sep-2019 Jaroslaw Pelczar <jarek@jpelczar.com>

arm64: Add more random scripts to get stuff to compile

Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: Ie043af5b7471f626a1ffe100848151c832dcc439
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1853
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# 1aab1c0e 20-Jan-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

u-boot: cleanups on arm, load from more media

* Attempt to find haiku loader on mmc,nvme,virtio
* Fixes automatic boot under u-boot on qemu
* Remove boot.scr to ensure it's regenerated each build
* Remove obsolete HAIKU_BOARD_SDIMAGE_UBOOT_UENV

Change-Id: I60cd518ec69e408ddbd7ea17371f4f4f56fa7f7b


# 494acd21 10-Nov-2018 François Revol <revol@free.fr>

m68k: update build to support MultiBootSubDirSetup

Change-Id: Idbbbb089286ad7d76f61993670a20d240bfe773c


# f17664c8 02-Oct-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

arm/u-boot: Load dtb if specified, else fall back to u-boot built-in fdt

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


# bc71f97e 26-Jun-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: Don't assume x86 and x86_64 build flags

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


# 75262df7 19-Jun-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Fix SD Image after haiku_loader changes

* haiku_loader.u-boot doesn't fit in fat32 like haiku_loader.ub
* Adjust when writing. Update u-boot scripts to expect new filename
* Shrink loader partition to 32M, add our filesystem to end

Change-Id: I62936526a7dea2c41e26a7c0f9e05a368622a6a3


# 750161f4 17-Jun-2019 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Remove -Wcast-align from the default set.

It is incredibly noisy on GCC8, and not really that valuable
for us at present. Individual architectures (SPARC?) can turn
it on if desired.


# c6b9a07f 17-Jun-2019 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Allow overriding HAIKU_LINK.

I am using this to use clang+lld for linking on ARM builds,
which seems to be more tolerant than binutils ld is, and
gets the build a bit farther for now.


# b6b66df0 17-Jun-2019 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Disable usage of -mapcs-frame on ARM.

It has been long since deprecated by GCC.


# bac6edf0 24-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Clean up GCC >= 3 logic & disable -Werror for netfs.


# fef13fb9 23-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Add -Wno-error=format-truncation for GCC 8.

It warns on snprintf's output "possibly" being truncated (e.g.,
two B_PATH_NAME_LENGTH chars being concatenated together) which may
be exactly the behavior the programmer wanted. So that's not very
helpful.


# 218a8c03 17-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Revert the Codec Kit.

All of Barrett's individual reverts have been squashed into this
one commit, save a few actual bugfixes.

Change-Id: Ib0a7d0a841d3ac40b1fca7372c58b7f9229bd1f0


# d5ee99bb 09-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

riscv64: Ensure kernel is medany code model

Change-Id: I1b3386a072811bd068ab44190d16697dc7aad028


# 117af7ca 04-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

build: Fix BOOT_PLATFORM to KERNEL_PLATFORM on rv64/arm64


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


# 3e572652 03-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: -Wno-error=cast-align is only valid for GCC4+.


# c5769c4f 24-Feb-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

Make -Wcast-align only a warning

On x86 and x86_64, this warning is never emitted because it is perfectly
fine to do unaligned access. On sparc, such accesses are not supported
by the hardware and will generate a SIGBUS. This must be caught by a
trap handler, and the unaligned access performed there, slowly, using
byte by byte access.

However, making this a Werror is annoying because it will trigger
everytime one casts a byte pointer to something larger, even when
alignment is actually preserved. So, removing all such warnings would be
nearly impossible (for example, just for the mergesort function, there
is a whole GSoC project for it at FreeBSD).

Keep it as a warning for now. The warning can be silenced by using
BytePointer, if desired. We should also investigate where the SIGBUS
trap is triggered a lot and consider improving the alignment of data
where possible.

Change-Id: I6b90025e8c6d69ef1ccda3c10eee270ccc1ebd29
Reviewed-on: https://review.haiku-os.org/c/1103
Reviewed-by: waddlesplash <waddlesplash@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>


# 2fc0c841 21-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Add -Wno-builtin-requires-header to Clang flags.

It warns when you try to use some standard library functions
without including the system headers, which we don't
care about as we are providing the system headers in the tree.


# 205beac3 16-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Enable more warnings.


# f3441f97 15-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Enable -Werror for the kernel.


# df580f53 25-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

ArchitectureRules: Cleanup deprecated plugins defs


# 3d34cef8 24-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Disable -Werror for bus.

Firewire errors out.


# 80d966a0 24-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Use the same warning flags for kernel as for userland.

This requires disabling some EnableWerror, as there are a lot of
sign-comparison warnings triggered in certain drivers that now
need to be fixed.


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

ArchitectureRules: Remove -Wno-unused-parameter.

I added this here so that one could set -Wextra in BuildConfig and
not be bombarded with useless warnings; but it seems that GCC2 chokes
on it instead of ignoring it. Oh well.


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

ArchitectureRules: Enable -Wuninitialized and -Wunused-but-set.

Also clean up the warning flags in general; they are now
more readable.


# 58b79013 22-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Bootloader rules cleanup.

* Move -fPIC to ccBaseFlags, as we don't want it in ASFLAGS.
* Remove -fPIC from BOOT_CCFLAGS, as we never want it in there.
* Move EFI flags to the actual EFI setup location.


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

ArchitectureRules: Remove duplicate GCC_BASE_FLAGS.

We append the full CC_FLAGS in KernelArchitectureSetup,
so these are redundant and not used anywhere else,
so scrap them completely.


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

EFI: Make the loader build under Clang.

Clang doesn't support -maccumulate-outgoing-args, -nostartfiles
is not needed in LDFLAGS (and lld doesn't know about it anyway),
and Clang uses .dynstr so we need to copy it also.


# 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


# d7871413 28-Oct-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: Only no-red-zone and accumulate on x86_64

* We're making the assumption about EFI here, but it's
fine since those defines will just go unused on non-efi builds.
* Jam segfaults when we get two for's, a case, and an if deep.
(adding an x86_64 check to efi section just below)

Change-Id: Id98e87b6570ddc7d9c2195cd05b0526e71771675


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

build: Restore a mechanism to build EFI-less anyboots and CDs.

This fixes the 32-bit build following the merge of multiple bootloaders
support.

Fixes #14656.


# de42fb60 24-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

Welcome Codec Kit!

* Fix MediaDebug header.
* Add codec lib name mapping.


# 8522edfe 19-Oct-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

jam: Ensure common boot LDFLAGS and ASFLAGS get distributed


# dd45d433 18-Oct-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

u-boot: Fix after multi-loader changes

* Move MMU image to a real image define vs being crammed into
the u-boot bootloader Jamfile
* ARM not working yet, but better!
* x86 still builds

Change-Id: I3fb873dbac06fe2db893915b667bf3ce1df44686


# 1f96a3cb 08-Oct-2018 Jessica Hamilton <jessica.l.hamilton@gmail.com>

system/boot: Add support for multiple bootloaders


# 23446707 04-Sep-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Pass -shared to the universally to the linker when using Clang.


# a41d815c 22-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Lots of fixes to the build.

* Store pointers in an addr_t instead of int32, for 64-bit's sake
* Use DebugSupport.h instead of userlandfs Debug.h and remove extra parentheses
* Create a header-only String class based on the userlandfs String and use it
* RecursiveLock instead of Locker.
* Jamfile cleanups and other misc. changes.

It isn't yet adapted to the new VFS API, so the build is still somewhat
broken.


# bd43e4ae 16-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Add -fPIC and fix warning flags for Clang.


# 816a311d 17-Aug-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

build/clang: Use elf_i386 under clang for 32-bit bootloader

Change-Id: If4606e62e94b9d4e393a667d35c09b9471b66653


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


# 937314e5 14-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Enable --no-undefined on GCC2.

Seems to work just fine.


# b8a38e2b 11-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Move Clang warning flags to appropriate location.

Also tweak the no-delete-null-pointer-checks comment so it's slightly
less offending of the 80-chars rule.


# d0bfb2c0 11-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Append Clang flags before potential early-exit.

Gets the Clang-ARM build a bit further into libroot.


# cf10fee2 11-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Pass -march / -mcpu flags to the assembler also.

Fixes #14317.


# a0f72928 08-Aug-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

efi: no-red-zone and accumulate-outgoing-args only x86

Change-Id: Ic9d94298d21e55beb2829be8dbd09f4b3d5db99a


# 38fc668b 03-Aug-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

arm64: Add architecture rules

Change-Id: Ia9cbe77e810b3ab1bde5677a16cc2fbd931de965


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

Enable use of Clang's integrated assembler.


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

arm: Tune default architecture target

We lost these tunings when I moved us away from board focused
builds. I feel like most of our ARM interest is around ARMv7+

Change-Id: Ie301d275a74d48ee3d0c4c7dc7d6cdd635288a7b


# 01535bc2 31-Jul-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

build: gcc/g++ to cc/c++

Just something to reduce confusion, these are non-gcc centric.

Change-Id: Iee29d6e5e51ea517408b5032ecbb6509cb9b721f


# 1587c3c5 30-Jul-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Enable no-delete-null-pointer-checks on Clang.

This requires a trunk build of Clang (the flag was only implemented
& introduced 12 days ago), but at present, full builds will fail
due to an unrelated Clang bug: https://bugs.llvm.org/show_bug.cgi?id=38356


# e66bdff5 09-Jul-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

build/arch: Adjust min. ppc floppy + archive sizes. Now used.

Change-Id: I9bfcc79e1db623542258953a781de6e7b2e44f92


# 2a3a847f 19-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

HPGSTranslator: Remove from the tree.

Not included in the build and not referenced anywhere else. Now lives at
HaikuArchives.


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

build: Actually disable non-useful Clang warnings.

* The if-case was appending to gccBaseFlags after the rest of the file
was done using it, so it was ineffective. Now we set it with the rest
of the baseFlags.
* We already pass no-integrated-as in configure, no need to do it in
MainBuildRules.
* B_USE_BUILTIN_ATOMIC_FUNCTIONS isn't used anymore, so get rid of it.


# 29a21a63 17-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

ArchitectureRules: Enable -ftree-vrp, but use -fno-delete-null-pointer-checks everywhere.

Most of the problems with tree-vrp stemmed from its deletion of null-pointer
checks (see linked commit in the source.) Now, GCC has a flag to control that,
and with it enabled I can boot to the desktop even with tree-vrp enabled.


# b3e749b0 28-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel,libroot,boot: remove c++11 and gnu++11 flags.

* c++14 is the default with current GCC
* remove pragmas for x86intrin.h


# 71819cc0 19-May-2018 waddlesplash <waddlesplash@gmail.com>

ArchitectureRules: Disable the 'fork' builtin on GCC4+.

On GCC 7.3, it conflicts with our definition of 'fork'. The documentation
states that disabling builtins has no effect on versions where they
do not exist, so we don't need to check for GCC7 here.


# 74bfec3b 06-May-2018 Jessica Hamilton <jessica.l.hamilton@gmail.com>

build/jam: whitespace cleanup.

Change-Id: I80c9a51417631b1f283923451f5bb530097b74f3


# 891a743a 25-Feb-2018 Jérôme Duval <jerome.duval@gmail.com>

x86_64: add kernel define and macro for x86 compatibility.

thus the kernel can be built with 32-bit compatibility support.

Change-Id: I5699bcb04908d5abb01da3166c3c180582b9026f


# 272a3e2c 31-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

Build: in ArchitectureSetup, use the cpu variable instead..

of the HAIKU_ARCH variable, which is the primary architecture cpu.


# 9a3c78bc 17-Dec-2017 Kacper Kasper <kacperkasper@gmail.com>

Enable Werror for EXRTranslator.


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


# 5f8613a2 24-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

build: Cleanup and fixes following previous commits.

* Hashing semantics for the new build repositories are different than
the old ones, so update those (if the x86 build was not broken before
it is now...)
* OptionalPackages has been updated slightly (removed libtool and git_cvs
from the default images, as they are rarely used nowadays and would pull
in a bunch of dependencies we don't really care for either)
* Removed lib:libqrencode from Haiku package requires (qrencode_kdl is a
static library, the userland libqrencode is not used anywhere in the tree,
as far as I can tell)
* Fix build of JPEG2000 translator after update
* Decouple fluidsynth build machinery and remove from image now that it
is no longer used
* Update repository URL in Repositories preflet


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

ac3_decoder: Remove from tree.

Not included in the build (locked behind a SubIncludeGPL);
now lives at HaikuArchives.


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

xvid_decoder: Delete from tree.

Not included in the build (locked behind a SubIncludeGPL & commented out);
now lives at HaikuArchives.


# 16c53b75 08-May-2016 Murai Takashi <tmurai01@gmail.com>

kernel: disable an optimization on GCC6...

as a workaround for crashs.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


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

u-boot: Correct loader base naming


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

u-boot: Fix mmc build without target boards


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

kernel/arm: Work out more board_config's via fdt


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

u-boot/arm: Initial steps to drop target board requirements


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


# 9b264ecc 21-Feb-2017 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Second try att enabling Werror for ACPI


# 95c239a3 20-Feb-2017 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Revert "Treat warnings as error for ACPI."

Better do a recheck on 32 bit first, my old checks from a few
months ago doesn't seem valid anymore.

This reverts commit 7212666f4a36fcd7d04e19676128df38ef4fdcdd.


# 7212666f 20-Feb-2017 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Treat warnings as error for ACPI.


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


# fe2557b6 21-Feb-2016 S K <sylvain_kerjean@hotmail.com>

PS/2: fix warnings, enable -Werror

- elantech: Remove unused variables and functions.
- "movement maker": float/int confusions
- debugger keymap: don't use multi-byte chars in preprocessor to avoid
warnings with gcc2 (even with -Wno-multichar)

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #12658


# e2e1558a 20-Apr-2016 Jessica Hamilton <jessica.l.hamilton@gmail.com>

EFI: stub functions so we can call loader's main() function.


# bd060476 06-Nov-2013 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Setup -fno-pic or -fpic in Architecture Rules.

EFI boot needs -fpic but all boot code was built with -fno-pic.
This is now set accordingly in HAIKU_BOOT_CCFLAGS and
HAIKU_BOOT_C++FLAGS.

Also setup compile flags for EFI platform.


# 211483cb 14-Apr-2016 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

EFI: Initial test EFI application

* Only set HAIKU_BOOT_PLATFORM to bios_ia32 if not defined
* Add gnuefi build feature
* Introduce BOOT_LDFLAGS, and move options for passing to linker
into ArchitectureSetup
* x86_64 compile fixes for warnings in boot loader
* loader/elf.cpp: don't include ELF32 support when targeting EFI
* relocation_func.cpp: copy of the relocation code from gnuefi
to make _relocate extern "C", and avoid including <efilib.h>
* boot_loader_efi.ld: copy of gnuefi's elf_x86_64_efi.lds,
modified to include support for C++ constructors, etc. Keep in
sync with the gnuefi package

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


# 8a3177ff 27-Aug-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

intel_extreme: enable Werror and fix warnings.


# ac30c586 10-Jul-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Enable Werror for jpeg, png, wonderbrush translators.


# 214f8799 04-Mar-2016 Jérôme Duval <jerome.duval@gmail.com>

try to fix gcc5 build on buildbot.

* I'd only reproduce the kernel build failure locally, weird.


# 8028ede7 15-Jan-2016 Rene Gollent <rene@gollent.com>

Build: Add architecture rule for libshared.a.

- As suggested by Ingo, add libshared.a to the architecture name map.
This allows it to be linked by its short name like other frequently
used libraries.
- Adjust all Jamfiles referencing the lib accordingly.


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

Don't define __ARM*__ for Clang

I have a patch for Clang ready that I will upstream instead.


# 95fd629f 07-Nov-2015 Jonathan Schleifer <js@webkeks.org>

Don't use -mapcs-frame with Clang


# f15fb39b 15-Jun-2015 Adrien Destugues <pulkomandy@gmail.com>

Properly fix Lex/Yacc dependency following Ingo's advice

* By setting HDRGRIST to match SOURCE_GRIST in MultiArchDirSetup, the
include scanning in Jam will work properly: the generated header will
have the same grist as what the include scan looks for.
* Remove the now unneeded workaround from netresolv Jamfile.


# a24ca25e 12-Jun-2015 François Revol <revol@free.fr>

PPC: disable -Werror for now

At least for the Sam port there are still things to fix in U-Boot code,
and some #warnings as well.


# 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


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


# 1837fcbf 28-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Disable Werror for firewire again.

There is apparently no way to get all compilers happy at the same time.


# 7db4f825 27-Oct-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Enable Werror for a few more targets.


# 2672ea45 19-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

T9: fix gcc4 build and enable Werror.


# 06f436b3 21-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Use strict mode when url-decoding file requests.

We don't want '+' to become a space here.
Fixes #11109.


# e6e764b3 18-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Enable Werror for accelerants and input server filters


# f9f3b564 01-Sep-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: only enable C++11 for libroot, not globally

This resembles the x86_64 build, and fixes the compilation issues
with the bootloader stdio.h header.

Fixes #11144


# f66aa859 18-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Enable C++11 for all ARM targets, not just beagle.

* Also clean up the flags definitions in the beagle target to avoid
repeating the flags 3 times.


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


# 220d0402 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


# 77253e67 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Switch to using crtbeginS.o and crtendS.o unconditionally.


# afde4473 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

* When using the non-legacy compiler, use the c++ and gcc headers
provided in the gcc_syslibs_devel build feature for building Haiku.
* Simplify declaration of c++ and gcc headers for the legacy compiler -
in the end we always use the ones living by our source tree anyway.
* Fix a couple of missing local declarations for jam variables, which
were necessary to avoid a build problem with strace. There are
probably more bugs like these hiding in our build system files, but
I'm saving the fix for those to the next commit.
* Add new gcc packages to the HaikuPorts (x86*-)repositories.


# 36f3164c 27-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Fix #11076 - build failing on Haiku.

* Haiku does not currently provide crtbeginS.o and crtendS.o, so
we fall back to crtbegin.o and crtend.o.

This should not have any ill-effects, as the available compilers on
Haiku do not use __cxa_atexit() yet.


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

Use crtbeginS.o and crtendS.o everywhere.

* Gcc is now using __cxa_atexit, so we need to use the crtbegin
and crtend implementations that are meant to be used for shared
libraries. This avoids crashes of servers that load add-ons
(Media-Addon-Server and Print-Server) when shutting down Haiku.
* As executable are shared on Haiku, we use crtbeginS.o and crtendS.o
for those, too.
* To simplify, we even use crtbeginS.o and crtendS.o in the kernel,
but there they don't currently make a difference, as the respective
initialization and cleanup functions are not being invoked by the
kernel.


# 8f9b4f71 16-Jul-2014 Jonathan Schleifer <js@webkeks.org>

Fix comment


# 32ccf45f 16-Apr-2014 Jonathan Schleifer <js@webkeks.org>

build/jam/ArchitectureRules: Check for != 1, not = 0


# e8681d94 12-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Increase boot loader size for x86* boot floppy a bit


# 006637a9 08-Jun-2014 Oliver Tappe <zooey@hirschkaefer.de>

Revert "Increase HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET for debug builds."

* That change did not make any sense, as the floppy-boot images
can't be built in debug mode anyway (the result is much too large).

This reverts commit 911821275aa1ab1f7b030050a9878b69de15beec.


# 91182127 01-Jun-2014 Oliver Tappe <zooey@hirschkaefer.de>

Increase HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET for debug builds.


# 2c001246 07-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

build: when using gcc4 build kernel with c++11


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

Whitespace cleanup in root and 'build' folder.

* Removed trailing whitespace and empty lines at top of files.


# 840839b5 15-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

In jam, unset variables aren't equal to 0

Make our Werror check work again with gcc.


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

Fix my previous commit

I didn't realize that if $(var) is true if var is 0. Only noticed that
after pushing, sorry.


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


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


# 4626c49e 27-Mar-2014 Jonathan Schleifer <js@webkeks.org>

desklink: Fix %ld being used instead of B_PRId32

Also enables -Werror.


# 18bac983 22-Mar-2014 Jonathan Schleifer <js@webkeks.org>

Fix missing includes in libbsd

This makes it compile with -Werror.


# d0354697 26-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

ARM: Name beagleboneblk back to beagle

* Pulkomandy pointed out that all Beagle hardware is
very similar so we could likely get away with a single
ARM target board.


# 6d336321 25-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

ARM: Simplify board specification

* Don't assume verdex as it isn't clear this was
occurring.
* Make an educated guess on HAIKU_BOOT_PLATFORM
based on provided board (but still allow it to
be overridden)
* Error out if user doesn't populate
HAIKU_BOOT_PLATFORM or enters an unknown board
name.
* You need to add "-sHAIKU_BOOT_BOARD=xxx" to
your jam to build for the proper ARM device.
* Rename beagle to beagleboneblk as per the
documentation.


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


# 3306e3aa 28-Jan-2014 Pawel Dziepak <pdziepak@quarnos.org>

build: Enable -Werror for add-ons/kernel/power


# bf169466 28-Jan-2014 Pawel Dziepak <pdziepak@quarnos.org>

build: Enable -Werror for libroot/os


# 225acfb3 28-Jan-2014 Pawel Dziepak <pdziepak@quarnos.org>

build: Enable -Werror for bootloader


# 624435c4 10-Jan-2014 Jonathan Schleifer <js@webkeks.org>

Add flags needed for Clang to the build system.

This uses a variable CLANG that should be set to the Clang version. For
now, this has to be done manually (e.g. when invoking jam using jam
-sCLANG=34), but later, this will be auto-detected.

Work towards bug #10396


# eb45d168 22-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

GL: Remove OpenGL kit, x86 Mesa

* Depend on Mesa packages to provide functionality


# 1604cdae 05-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Update -Werror work-around for arch_debug_console.o

Fixes the gcc 2 build again.


# 724f4e2d 04-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix kernel -Werror support

The introduction of secondary arch support for kernel files disabled
-Werror for all kernel files, since the -Werror flags were moved from
{CC,C++}FLAGS to TARGET_WARNING_{CC,C++}FLAGS_<arch>, which, however,
was overwritten by the SetupKernel rule. This commit introduces new
global variables {HAIKU,HOST,TARGET}_WERROR_FLAGS[_<arch>], which
contain the additional -Werror flags to be applied for the architecture.
The config variable WARNINGS can be set to "treatAsErrors" to cause
-Werror and {HOST,TARGET}_WERROR_FLAGS[_<arch>] to be appended to the
compilation flags.

Fixes #10280.


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

Strip executables on m68k boot floppy image


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

Revert "Enable stripping binaries in m68k boot floppy"

This reverts commit e986f5fce9db69ffe69ed046a6fd02bdb54f2c87.


# e986f5fc 11-Oct-2013 François Revol <revol@free.fr>

Enable stripping binaries in m68k boot floppy

This makes it fit again.

We can't reference in BuildSetup a variable set with the other
ones in KernelArchitectureSetup since the rule is invoked later.


# 4d550826 08-Oct-2013 François Revol <revol@free.fr>

libroot: Properly fix linking with libgcc without cmdline overflow

Instead of listing all the objects we want from the libgcc archive
we just make a copy of it and remove those we don't want, and link
to it.

This should allow returning MAXLINE in jam to a sane value.


# f7d6c2f8 29-Sep-2013 François Revol <revol@free.fr>

M68K: Switch to new gcc options for specifying cpu

Latest gcc converts the old ones to the new ones anyway...
including when passing to gas, which of course is not new enough,
so we have to also force gcc to pass the old one around in one case.


# dc3be296 18-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Enable -Werror in src/bin/multiuser


# 106d4015 27-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

rule ArchitectureSetup: Remove superfluous arch macro definition

The macro for the architecture is already defined by the compiler.


# 3db97b76 27-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Enable -Werror for package_repo and pkgman


# 1af14947 27-Aug-2013 Oliver Tappe <zooey@hirschkaefer.de>

Add missing case for x86_64 as host CPU architecture.


# d20975d9 05-Aug-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix negated predicate relating to input_server.

* without a secondary arch, jam would complain about not knowing how
to build <x86_gcc>input_server


# b2b6052e 05-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

ArchitectureSetup: fix library name map

It's too early to use the MultiArch* rules yet, since the TARGET_*
variables haven't been initialized yet.


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

ArchitectureSetup: fix library map for secondary arch

The libraries where resolved to the library targets for the primary
architecture.


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

MultiArch* rule: support optional architecture parameter


# b0944c78 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# f15fb39b204ef2d30cbed43139a467671718b307 15-Jun-2015 Adrien Destugues <pulkomandy@gmail.com>

Properly fix Lex/Yacc dependency following Ingo's advice

* By setting HDRGRIST to match SOURCE_GRIST in MultiArchDirSetup, the
include scanning in Jam will work properly: the generated header will
have the same grist as what the include scan looks for.
* Remove the now unneeded workaround from netresolv Jamfile.


# a24ca25e684a1ae8edbb79e852ee14ee74c213bd 12-Jun-2015 François Revol <revol@free.fr>

PPC: disable -Werror for now

At least for the Sam port there are still things to fix in U-Boot code,
and some #warnings as well.


# 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


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


# 1837fcbfad6e18174b51613fbfe16939ce57c605 28-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Disable Werror for firewire again.

There is apparently no way to get all compilers happy at the same time.


# 7db4f82528ba91c4c9a8a0fdd6ce4b350214fc17 27-Oct-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Enable Werror for a few more targets.


# 2672ea45e0e429e42e9f8c98dafda6c72d1db300 19-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

T9: fix gcc4 build and enable Werror.


# 06f436b3ac2c073913bc7e7afb56365a2ca978eb 21-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Use strict mode when url-decoding file requests.

We don't want '+' to become a space here.
Fixes #11109.


# e6e764b34f190b7e85deeedb9a1991e8ff0f41b6 18-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Enable Werror for accelerants and input server filters


# f9f3b564ac0db1a900d8e13e261f49815c224794 01-Sep-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: only enable C++11 for libroot, not globally

This resembles the x86_64 build, and fixes the compilation issues
with the bootloader stdio.h header.

Fixes #11144


# f66aa8595c256a17177056f1596901be6b2f7b03 18-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Enable C++11 for all ARM targets, not just beagle.

* Also clean up the flags definitions in the beagle target to avoid
repeating the flags 3 times.


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


# 220d04022750f40f8bac8f01fa551211e28d04f2 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Use libstdc++, libsupc++ and libgcc from gcc_syslibs.

* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.


# 77253e671b10c976b76806eb479b0c4493967dfc 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Switch to using crtbeginS.o and crtendS.o unconditionally.


# afde44733fdff43256384ea0441585a082e73c95 31-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

* When using the non-legacy compiler, use the c++ and gcc headers
provided in the gcc_syslibs_devel build feature for building Haiku.
* Simplify declaration of c++ and gcc headers for the legacy compiler -
in the end we always use the ones living by our source tree anyway.
* Fix a couple of missing local declarations for jam variables, which
were necessary to avoid a build problem with strace. There are
probably more bugs like these hiding in our build system files, but
I'm saving the fix for those to the next commit.
* Add new gcc packages to the HaikuPorts (x86*-)repositories.


# 36f3164c3ec5f536550e443aeec4b0d58a8746b1 27-Jul-2014 Oliver Tappe <zooey@hirschkaefer.de>

Fix #11076 - build failing on Haiku.

* Haiku does not currently provide crtbeginS.o and crtendS.o, so
we fall back to crtbegin.o and crtend.o.

This should not have any ill-effects, as the available compilers on
Haiku do not use __cxa_atexit() yet.


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

Use crtbeginS.o and crtendS.o everywhere.

* Gcc is now using __cxa_atexit, so we need to use the crtbegin
and crtend implementations that are meant to be used for shared
libraries. This avoids crashes of servers that load add-ons
(Media-Addon-Server and Print-Server) when shutting down Haiku.
* As executable are shared on Haiku, we use crtbeginS.o and crtendS.o
for those, too.
* To simplify, we even use crtbeginS.o and crtendS.o in the kernel,
but there they don't currently make a difference, as the respective
initialization and cleanup functions are not being invoked by the
kernel.


# 8f9b4f71c58c7a4f1c64513df7f8850e92c715d7 16-Jul-2014 Jonathan Schleifer <js@webkeks.org>

Fix comment


# 32ccf45f44f0165198f449948c1fdfb4523e8d96 16-Apr-2014 Jonathan Schleifer <js@webkeks.org>

build/jam/ArchitectureRules: Check for != 1, not = 0


# e8681d940900564f9fc29f02102f98870256eab9 12-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Increase boot loader size for x86* boot floppy a bit


# 006637a9b64592ff3fa679f497e064e0aa99e9bd 08-Jun-2014 Oliver Tappe <zooey@hirschkaefer.de>

Revert "Increase HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET for debug builds."

* That change did not make any sense, as the floppy-boot images
can't be built in debug mode anyway (the result is much too large).

This reverts commit 911821275aa1ab1f7b030050a9878b69de15beec.


# 911821275aa1ab1f7b030050a9878b69de15beec 01-Jun-2014 Oliver Tappe <zooey@hirschkaefer.de>

Increase HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET for debug builds.


# 2c001246a0d7c42ecee24642a814c4f6b4fe7451 07-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

build: when using gcc4 build kernel with c++11


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

Whitespace cleanup in root and 'build' folder.

* Removed trailing whitespace and empty lines at top of files.


# 840839b546f4d2900fd550b9491c4a47842ff7c4 15-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

In jam, unset variables aren't equal to 0

Make our Werror check work again with gcc.


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

Fix my previous commit

I didn't realize that if $(var) is true if var is 0. Only noticed that
after pushing, sorry.


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


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


# 4626c49e32af4a2a321090703506c8cf7440bf41 27-Mar-2014 Jonathan Schleifer <js@webkeks.org>

desklink: Fix %ld being used instead of B_PRId32

Also enables -Werror.


# 18bac98397348b42ee3537c508c7a1a05cc4d714 22-Mar-2014 Jonathan Schleifer <js@webkeks.org>

Fix missing includes in libbsd

This makes it compile with -Werror.


# d035469704e47babec589b219a8da538d8cf1b77 26-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

ARM: Name beagleboneblk back to beagle

* Pulkomandy pointed out that all Beagle hardware is
very similar so we could likely get away with a single
ARM target board.


# 6d3363214fbdc305f8b225099e055c910272b19a 25-Feb-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

ARM: Simplify board specification

* Don't assume verdex as it isn't clear this was
occurring.
* Make an educated guess on HAIKU_BOOT_PLATFORM
based on provided board (but still allow it to
be overridden)
* Error out if user doesn't populate
HAIKU_BOOT_PLATFORM or enters an unknown board
name.
* You need to add "-sHAIKU_BOOT_BOARD=xxx" to
your jam to build for the proper ARM device.
* Rename beagle to beagleboneblk as per the
documentation.


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


# 3306e3aa75c06f4c8a70a25e4013b110625b684d 28-Jan-2014 Pawel Dziepak <pdziepak@quarnos.org>

build: Enable -Werror for add-ons/kernel/power


# bf1694667e2b4524b0b1b4a87dba574dc5b997e3 28-Jan-2014 Pawel Dziepak <pdziepak@quarnos.org>

build: Enable -Werror for libroot/os


# 225acfb3b0b1b5a1af31d78e5b73857d30dafcf6 28-Jan-2014 Pawel Dziepak <pdziepak@quarnos.org>

build: Enable -Werror for bootloader


# 624435c49445b6859c6b25c4180849c1fb5928e9 10-Jan-2014 Jonathan Schleifer <js@webkeks.org>

Add flags needed for Clang to the build system.

This uses a variable CLANG that should be set to the Clang version. For
now, this has to be done manually (e.g. when invoking jam using jam
-sCLANG=34), but later, this will be auto-detected.

Work towards bug #10396


# eb45d168e18352b635255d10895521c6719bf357 22-Dec-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

GL: Remove OpenGL kit, x86 Mesa

* Depend on Mesa packages to provide functionality


# 1604cdaef8112a6039e7564c5da90b64d97d70dc 05-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Update -Werror work-around for arch_debug_console.o

Fixes the gcc 2 build again.


# 724f4e2d387826f0b501981e542ea21ca99bd64d 04-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix kernel -Werror support

The introduction of secondary arch support for kernel files disabled
-Werror for all kernel files, since the -Werror flags were moved from
{CC,C++}FLAGS to TARGET_WARNING_{CC,C++}FLAGS_<arch>, which, however,
was overwritten by the SetupKernel rule. This commit introduces new
global variables {HAIKU,HOST,TARGET}_WERROR_FLAGS[_<arch>], which
contain the additional -Werror flags to be applied for the architecture.
The config variable WARNINGS can be set to "treatAsErrors" to cause
-Werror and {HOST,TARGET}_WERROR_FLAGS[_<arch>] to be appended to the
compilation flags.

Fixes #10280.


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

Strip executables on m68k boot floppy image


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

Revert "Enable stripping binaries in m68k boot floppy"

This reverts commit e986f5fce9db69ffe69ed046a6fd02bdb54f2c87.


# e986f5fce9db69ffe69ed046a6fd02bdb54f2c87 11-Oct-2013 François Revol <revol@free.fr>

Enable stripping binaries in m68k boot floppy

This makes it fit again.

We can't reference in BuildSetup a variable set with the other
ones in KernelArchitectureSetup since the rule is invoked later.


# 4d5508263edb4256349d1d8424e38ada90a9c10b 08-Oct-2013 François Revol <revol@free.fr>

libroot: Properly fix linking with libgcc without cmdline overflow

Instead of listing all the objects we want from the libgcc archive
we just make a copy of it and remove those we don't want, and link
to it.

This should allow returning MAXLINE in jam to a sane value.


# f7d6c2f8e5039045a3cc941ffb4a88452d479955 29-Sep-2013 François Revol <revol@free.fr>

M68K: Switch to new gcc options for specifying cpu

Latest gcc converts the old ones to the new ones anyway...
including when passing to gas, which of course is not new enough,
so we have to also force gcc to pass the old one around in one case.


# dc3be296140d4b76f0de2630dd86e85f1ffbc8c5 18-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Enable -Werror in src/bin/multiuser


# 106d4015f20b51d3cc036588e8927d1a6bea56f8 27-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

rule ArchitectureSetup: Remove superfluous arch macro definition

The macro for the architecture is already defined by the compiler.


# 3db97b7688ee053129f5ba4fca434a40e7ff6f69 27-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Enable -Werror for package_repo and pkgman


# 1af14947fda3400fb889a0d6b35c811093d3b773 27-Aug-2013 Oliver Tappe <zooey@hirschkaefer.de>

Add missing case for x86_64 as host CPU architecture.


# d20975d920acd45775064d3181c7aa0d94e77c95 05-Aug-2013 Oliver Tappe <zooey@hirschkaefer.de>

Fix negated predicate relating to input_server.

* without a secondary arch, jam would complain about not knowing how
to build <x86_gcc>input_server


# b2b6052e4075d5137bace6f851f0e26eebb4b600 05-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

ArchitectureSetup: fix library name map

It's too early to use the MultiArch* rules yet, since the TARGET_*
variables haven't been initialized yet.


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

ArchitectureSetup: fix library map for secondary arch

The libraries where resolved to the library targets for the primary
architecture.


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

MultiArch* rule: support optional architecture parameter


# b0944c78b074a8110bd98e060415d0e8f38a7f65 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).