haiku/build/jam
Adrien Destugues 0849c914a7 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>
2023-02-14 15:36:25 +00:00
..
board boot/platform/u-boot: Drop ARM support. 2022-06-28 12:27:06 -04:00
images Drop "play" command. 2023-01-31 17:32:51 -05:00
packages build: copy new Terminal theme data files into the image. 2022-12-18 16:24:45 +13:00
repositories HaikuPorts: Synchronize. 2022-12-16 16:27:53 -05:00
ArchitectureRules xfs: Enable -Werror, fix all warnings 2023-02-14 15:36:25 +00:00
BeOSRules build: Remove usage of obsolescent egrep 2022-10-06 16:28:01 +00:00
BootRules build: Define _BOOT_MODE once and for all in ArchitectureRules+BootRules. 2022-11-29 20:18:12 -05:00
BuildFeatureRules kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. 2021-10-02 18:29:40 +00:00
BuildFeatures BuildFeatures: Remove versions from libraw and libavif SONAMES. 2022-07-07 23:18:45 -04:00
BuildSetup build: Define _BOOT_MODE once and for all in ArchitectureRules+BootRules. 2022-11-29 20:18:12 -05:00
CDRules
CommandLineArguments
ConfigRules
DefaultBuildProfiles release: Bump source release to 1.4GiB 2022-11-14 01:38:26 +00:00
FileRules build: clean hds schema directories correctly 2022-11-15 06:03:15 +00:00
HaikuPackages Remove build logic for creating the userguide and welcome packages. 2022-10-25 18:38:07 -04:00
HeadersRules
HelperRules HelperRules: Fix typo in the new CC_IS_LEGACY_GCC test. 2020-10-10 16:24:43 -04:00
ImageRules enable EFI boot for 32-bit ISO image 2022-10-06 20:12:05 +00:00
KernelRules KernelRules: Add the same -fvisibility=hidden logic in KernelStaticLibrary... 2022-09-27 19:46:52 -04:00
LocaleRules LocaleRules: Ignore errors in ExtractCatalogEntries. 2021-09-06 16:45:13 -04:00
MainBuildRules kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. 2021-10-02 18:29:40 +00:00
MathRules
MiscRules
OptionalPackages build: include zstd_devel in Development optional package. 2023-02-10 19:15:28 +00:00
OverriddenJamRules OverriddenJamRules: sort out build flags for .S files 2021-12-06 03:08:27 +00:00
PackageRules Break translators out of haiku.hpkg into a separate haiku_datatranslators.hpkg. 2021-09-30 16:38:36 +00:00
RepositoryRules
SystemLibraryRules configure & build: make use of 64-bit libgcc and libsupc++ for EFI/x86_64 2022-03-25 09:51:39 +00:00
TestsRules
UserBuildConfig.ReadMe Update build packages repository 2021-05-14 14:59:19 +00:00
UserBuildConfig.sample