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>
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>
* Works a bit better with dark themes
* Has some interesting alternative design elements
* MIT licensed
Change-Id: I6cfd1d4d05016fb014d515d94cff3b8c8d0298b2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4508
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
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>
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.
The static asserts are broken on GCC2 and so did not catch this. It appears
nobody has ever tried to use this structure on 32-bit plaforms in the upstream
libraries or SPDK/DPDK?
Fixes#15212.
Translators and media-plugins are the main source of dependencies in haiku.hpkg,
and thus the main source of packages being pulled into chroots, especially
HaikuPorter chroots. (FFmpeg pulls in a rather large array of sub-
dependencies, itself.) So, here we break all the translators into their
own sub-package.
For now, haiku.hpkg is declared to depend on haiku_datatranslators,
so that users will not suddenly update and have no translators.
In the future, this will be dropped.
Note that this is only done for the primary arch at present.
Secondary architecture translators remain in the main secondary package
for now.
Change-Id: Id0b352f34f7110b79ec7787792bf3ae0edab4054
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4477
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
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>
Change-Id: I44211b3533f99338d7246e88593fc8838628904c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4485
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
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>
* This helps with creating a sysroot, otherwise extracted package
links refer to /system, which is outside of the sysroot.
* Should have no functional impact on Haiku, as these are already
symlinks
Change-Id: I29f719dc2c0839dd090e7f33eea0b8f98e0d6355
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4218
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Only on non-GCC2 for now, as GCC2 does not have -fvisibility.
An opt-out is left as a possibility, and is unfortunately necessary
for libshared and libicon, as these two are used even in WebKit instead
of linking to the .a. However, libcolumnlistview, libagg, and a whole
bunch of others are now no longer exported, so this is already a major
improvement on what symbols we were leaking.
This may provide performance differences for consumers of these APIs,
as GCC and the linker are now free to merge and directly use functions
that previously could have been semantically interposed. AGG usage in
app_server, especially, may benefit.
We can also now remove the addition from libnetservices, so do that.
That is, it will now pull in NEEDLIBS and LINKLIBS set by LinkAgainst
from static libraries also built by Jam. This allows specifying what
libraries other static libraries need only once (in most cases;
occasionally things are not evaluated in a sane order and then
this does not quite work.)
Use this for libnetservices.a, which needs libshared.a, so that
dependencies on it do not have to be declared within most in-tree
consumers of libnetservices (e.g. Package Kit, http_streamer, etc.)
It seems GCC has the same behavior as Clang now, so we can ignore
errors generated while preprocessing. (Previously we did anyway,
before the recent commit adding -e to JAMSHELL flags, so this
just continues previous behavior.)
This translator only supports still images for now, and supports both
decoding and encoding.
Encoding support has been tested only with aom, rav1e doesn’t build on
Haiku yet, see https://github.com/haikuports/haikuports/pull/5534 for
one of the missing dependencies.
Change-Id: I716f4b862ed316b89b227bfed38072d72074201f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3040
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>
* Merge all except the x86_gcc2 one into a single "generic" one.
It is now exactly the same on all architectures, save a single
ifdef for x86_64, which needs a different compat version, as there
are still some packages built that far back and never rebuilt since!
* Group the requires according to category: first any arch packages,
then commands, then the GCC syslibs, then packages always depended
upon if they are available, and finally packages only depended upon
in "regular" builds.
* Put all packages inside HAIKU_BUILD_FEATURE_* ifdef tests,
and order them alphabetically within their category.
If I have done this all correctly, at least x86_64 should get an
identically generated haiku .PackageInfo as before this commit, save
the reordering changes. Others may differ based on package availability,
as they were missing the requisite #ifdef sections.
* virtio_mmio for riscv64,arm,arm64
* enable new FDT bus for riscv64,arm,arm64
Change-Id: I5141de4e0bfcb44c5368dfafdf68ebf06ca5fb93
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4063
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
* Allows invoking build tools at the command line without having
to mess with the LD library path environment variables
* Does not change the use of HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
within the build itself
* Darwin currently excluded, as it uses a different method for
specifying rpath
Change-Id: I4db443f2b5824ee70ad44418251a9996c14663bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4163
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* Haiku now consumes right at 700 MiB on x86_gcc2h
after the webkit update.
Change-Id: Ia41a3e6252190e73feaa49ebe7c58ef4c80df4dc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4161
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
- 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>
EFI System Partition was the last remaining holdout for mtools usage.
Change-Id: I988f82a2f4318f2f90ec1efb80f7ff5c8908aff7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4140
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Change-Id: I854de44c1b31066dfa522b946cb04a5190f6b0b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4113
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
* Solves out of space issue building release images
Change-Id: I888836774732f65fde3574ef498b272d8285356f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4107
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Change-Id: I7bf7d5dac5bb576f9ca5fc55680fc369556f4312
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4044
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
* We accept the riscv loader to build it, but don't really put it
into the image since for now you'll just want the haiku_loader.riscv
for things like TinyEMU
Change-Id: I5005dd5063f2a84cf426db4c40635e87e579ad80
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4075
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Once change 2342 is in place (running first boot scripts exported from
packages), see https://review.haiku-os.org/c/haiku/+/2342,
remove data/system/boot/post_install/add_catalog_entry_attributes.sh
and related support infrastructure (magic files, launch_roster entries).
The work this script did can in fact be done at image creation time
instead of at first boot.
Change-Id: I485e1a0a87c3e6a6ba3f882e65996f2327134d37
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3751
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
- Switch to Python3
- Switch to mawk instead of gawk
- Update ffmpeg (there are several new dependencies)
- Update ICU
- Fix various pre-existing problems with packages not being properly
declared for gcc2 (but somehow it ended up working)
- remove curl, subversion, mercurial
Confirmed that both nightly and release images are building fine on both
32 and 64bit. However, non-x86 architecture may require re-bootstrapping
to do a complete nightly or release image build (the minimal profile
should be fine)
Fixes#16751.
Change-Id: Iacac92923c4113b3e0a49a64b0b4cc1b8e2f5e2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3871
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
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>
These will be added to the _devel packages so that other applications can link
to them.
Change-Id: If3fd231869823b42d6d896c6c9eb7a95c5fe715d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3666
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* 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>
* 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>
* 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>
Hardlinked-By: Alexander von Gluck IV <kallisti5@unixzen.com>
Change-Id: I1a76647fe47949e950b4034629ad92ca16c53aa8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3325
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Hardlinked-By: Alexander von Gluck IV <kallisti5@unixzen.com>
Change-Id: Id37ef57b0042722ca8089e73d420d6e4edac1019
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3121
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
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>
Combined with a buildtools CL, this will change the AR variable
to be more in line with conventions, where AR points at the binary and
ARFLAGS are the arguments to AR, while keeping compatibility with the
original style of using the AR variable.
Change-Id: I2b9797b9e5ab35929970487b3d1b8dddb9476c1f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3227
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* Tianocore is still in an early state for RISCV64 with a lot of work
needed around qemu support.
* u-boot however is working, and can load EFI binaries... so follow the
arm model for now. (EFI via u-boot, or EFI via EFI Bios)
Change-Id: I3dfde25db17b114aedce6faefc58d7556e17a46a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3176
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* mmc might be not ideal. But raw is just a single partition and
anyboot is heavily x86. MMC will technically work for now to get
bootable images.
* floppyboot isn't used on EFI platforms, since we call two different
actions, just drop floppyboot altogether on EFI SD Images.
Change-Id: Idabb5483304007dd601bf8a1158036ffd24f73aa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3165
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Note it is not enough to fit, you also need to disable USB boot.
Change-Id: I5159c9ddebb242c4d4874d70430da6852073fdb4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3102
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
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>
Remove the InstallerInitScript (it does nothing) and the
InstallerFinishScript (it does too many things). Instead implement the
finishing directly in Installer. Separate writing the bootsector, so
that the "write bootsector" menu writes only the bootsector.
Fixes#16303
- libicule and libiculx do not exist anymore in newer ICU versions
(harfbuzz replaces them), but we didn't actually use them, so remove
them from the build feature and from the package dependencies
- Add namespace usage marcos since the newer ICU packages put ICU things
in a namespace, making it easier to have multiple versions of ICU used
side by side.
No functional change intended, but this makes it possible to build the
code with either ICU 57 (for gcc2) or 66 (for other architectures).
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>
* 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>
* Stub out makebootable like on u-boot
* Place haiku_loader.efi at EFI/BOOT/BOOTXXX.EFI
* Generate boot.scr for u-boot + EFI
* haiku-mmc.image now attempts to auto-boot in qemu-system-arm
* Same code paths should roughly apply for arm64,riscv,etc
Change-Id: I563ebd77422d9e5dfcfeeedadcbc60471e8a57f4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2938
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* 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>
Change-Id: Ibce15f70e20ea010937edb0a297d220c4e5a7af2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2817
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This is the partitioning system used on sparc machines.
Confirmed working with a Solaris install iso image.
Added to the haiku package for sparc and to haiku_extras for other
architectures.
Fixes#15638
Change-Id: I0584bef5e6a66eff9a33eb6675d5533cc9a45d1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2709
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This pulls in the final translations for applications for R1/beta2,
and also the new HaikuWebKit.
Change-Id: I2bfb8933dcf35239f6962f8bee2dea507dec6fd5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2869
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The @image build is not used anymore and doesn't work. Use @nightly-raw
or @nightly-anyboot instead. The new method of release type/image type
configuration of profiles is more flexible and allows to manage the
various configurations a lot more easily for us. But the old profiles
were never formally deprecated.
Fixes#15963
Change-Id: I1c72f0e77bfbcda10502476e595f120280e8c7a4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2625
Reviewed-by: waddlesplash <waddlesplash@gmail.com>