Commit Graph

4686 Commits

Author SHA1 Message Date
Alexander von Gluck IV
f8650bc2db 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
2021-01-12 15:03:40 -06:00
Alexander von Gluck IV
0b10216c7c build/mmc: Add host libraries for fat_shell. Drop unused var
Change-Id: I16a93fd4161569eb756ec244f3f5c1b768247089
2021-01-07 16:05:46 -06:00
Alexander von Gluck IV
58332722cd 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>
2021-01-07 21:34:00 +00:00
Adrien Destugues
cc2642c124 sdhci/mmc: add to the image.
Change-Id: Ic43965efea2c62b6e731c7552e4f27d6d20fc26b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/448
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2021-01-05 02:06:44 +00:00
PulkoMandy
c99c0d9d5a 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>
2021-01-01 00:45:13 +00:00
PulkoMandy
cc6b376cfb KernelLd: the kernel must be rebuilt when its linker script is modified.
Change-Id: I4f8bf6757b716f910116509419452cfc4c7f6216
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3580
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-01-01 00:45:13 +00:00
Fredrik Holmqvist
cb26d04e81 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>
2020-11-30 22:08:32 +00:00
Alexander von Gluck IV
6655809041 haikuports/icu: Reintroduce old icu to fix build
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>
2020-10-16 21:44:37 +00:00
Adrien Destugues
019a5fdfb1 update to icu 66
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>
2020-10-16 20:56:44 +00:00
Alexander von Gluck IV
f598f71cd5 build/cross_tools_gcc4: x86_64, explicit enable-multilib
* This was originally added circa 2012. via hrev43954
* Our toolchain appears to work fine now with explicit
  multilib enabled.

Change-Id: I1f5d55c63a6b3b6ab1c4db95da3d14d5ef2da0df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3315
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-10-15 12:48:38 +00:00
Alexander von Gluck IV
c33a98eebc build/scripts/gcc2: Specify -fcommon as the default changed in gcc10
* gcc10 changed to -fno-common default
* Resolves #16520

Change-Id: I9af2234532177f2153159eea94a05a106587ebbb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3317
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-10-14 15:36:20 +00:00
Augustin Cavalier
fb0391c28b ArchitectureRules: Fix typo in CC_IS_CLANG test. 2020-10-10 16:26:41 -04:00
Augustin Cavalier
af07b876ad HelperRules: Fix typo in the new CC_IS_LEGACY_GCC test. 2020-10-10 16:24:43 -04:00
Augustin Cavalier
47320dd0ab 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>
2020-10-09 01:20:02 +00:00
Puck Meerburg
df63c15b9b build/jam: use ARFLAGS if set
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>
2020-09-16 19:16:11 +00:00
Alexander von Gluck IV
b24dbf95d0 riscv64/boot: Add same u-boot potential that arm has, drop L_DYNAMIC
* 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>
2020-09-02 20:55:06 +00:00
Alexander von Gluck IV
b3cd2bdfa7 riscv64: Generate a bootable EFI MMC image
* 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>
2020-08-25 12:53:56 +00:00
François Revol
48099e3e48 m68k: don't take CD boot stuff in floppy image
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>
2020-08-19 13:39:53 +00:00
François Revol
5c9d51ef00 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>
2020-08-19 13:35:41 +00:00
François Revol
ec5a799719 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>
2020-08-19 13:35:19 +00:00
François Revol
a088631dc6 build/repositories: Fix m68k HaikuPorts and Cross
Change-Id: I0ebdd096558a6f060d6bcd56807903f1496e8ed6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2211
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 00:08:10 +00:00
Michael Lotz
44c014b0af es1370: Add driver to build.
Works under QEMU with some glitches.
2020-08-17 21:05:37 +02:00
Adrien Destugues
2c09e0dc7f Installer: separate writing bootsector from other install finishing code
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
2020-08-05 12:52:04 +02:00
Adrien Destugues
1bad1ff34a Prepare for ICU update
- 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).
2020-08-02 11:58:14 +02:00
Alexander von Gluck IV
6f92b552f3 libroot: Add fake libc static library
* It's specified in POSIX: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html
* wine hardcodes a -lc in its winegcc compiler

Change-Id: I592b62085787d8f1a1ead2df32e978a91ab03ea9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3086
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-07-28 17:01:13 +00:00
Adrien Destugues
12ef216972 build_haiku_image: no fs indices on CDs
The iso9660 filesystem does not support them
2020-07-22 17:48:32 +02:00
Adrien Destugues
5b80a2fa0d build_haiku_image: don't recreate indices when updating
mkinex fails when the indices already exist.
2020-07-21 18:38:06 +02:00
Adrien Destugues
c5aa9dfb4c Create filesystem indices when creating Haiku image
Fixes #4424.

Change-Id: I737ee4f9bb70ce48c0c94f3a862a3073da8c0c4d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2796
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-07-18 14:00:10 +00:00
Fredrik Holmqvist
d9f74c873b Graphite options only, replace dupes with floop-nest-optimize
Other loop optimization is enabled in -O3 already
2020-07-18 15:19:44 +02:00
Fredrik Holmqvist
7cea5bf07f Remove graphite building, we have gcc with these deps in build
When we moved ISL, MPFR, GMP and so on inside GCC we no longer
need to do any specific building to support graphite.
2020-07-18 15:19:17 +02:00
Alexander von Gluck IV
b4e10d71e6 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>
2020-07-01 13:47:07 +00:00
Alexander von Gluck IV
9f739dd2e8 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>
2020-06-29 16:18:32 +00:00
Alexander von Gluck IV
398b7899e8 arm: Generate proper mmc image
* 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>
2020-06-22 18:48:20 +00:00
Preetpal Kaur
13b45a2ea3 Integrate PadBlocker in input preferences
- Import padblocker sources
- Add slider to set padblocking time
- Generates PadBlocker settings

Fixes #11673

Change-Id: Ic88416215aabb1ae6aba79ff41cb55a7f0f8008d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1590
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-06-22 15:08:48 +00:00
Alexander von Gluck IV
0ed9b677ee 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>
2020-06-20 18:35:36 +00:00
Alexander von Gluck IV
797e861029 arm64: Fix libroot math, add fix crosstools package revision
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>
2020-06-10 00:44:14 +00:00
Augustin Cavalier
c4bc688304 HaikuPorts: Sync build-packages again.
Change-Id: I595af8dda23baad924a053ffa685ddddb83de11d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2884
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 4c383d13a8)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2885
2020-06-06 01:41:18 +00:00
Adrien Destugues
68ea01249e Add a partitioning system for Sun disklabel/vtoc
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>
2020-06-03 11:24:25 +00:00
Augustin Cavalier
734c1e0491 HaikuPorts: Update build-package set.
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>
2020-06-03 04:11:40 +00:00
Niels Sascha Reedijk
15aa3a02a3 Documentation: add userguide in fur, id, ro and tr
Change-Id: Iee02ec9c62a3fdf14920c3b08ebb97c282a5aa91
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2788
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 5527f11778)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2789
2020-05-23 17:52:52 +00:00
Kyle Ambroff-Kao
44a4bc5fd6 tcp: Remove sanity checks from BufferQueue in release builds
Each TCPEndpoint has two BufferQueue members, one for the send queue
and one for the receive queue.

If DEBUG_BUFFER_QUEUE is enabled, then most methods of BufferQueue
call BufferQueue::Verify(), sometimes twice. This member function
performs some sanity checking which requires iterating through every
net_buffer in the queue.

Disabling this in a debug build improved throughput by a factor of 5x
over the loopback interface on my laptop. Using iperf the measured
throughput went from 900Mbps to around 4.8Gbps.

This patch turns this sanity checking off for release builds.

* Rename DEBUG_BUFFER_QUEUE to DEBUG_TCP_BUFFER_QUEUE
* Change the default in BufferQueue.h to disabled
* Set DEBUG_TCP_BUFFER_QUEUE to KDEBUG_LEVEL_2 in
  kernel_debug_config.h

Change-Id: I262dac5d7e2889d2942bbdcf6b667cc0cbafa4c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2780
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-23 02:32:58 +00:00
Adrien Destugues
13d66b6d24 Fix building on Haiku 2020-05-21 10:47:31 +02:00
Alexander von Gluck IV
a742970be5 Fix build of Haiku on gcc10 host
Change-Id: Iea16a7d07a32497c4f228739945356b5c8be9897
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2540
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-21 01:35:10 +00:00
Adrien Destugues
39c68f46dd Remove deprecated build profiles @image and @vmware-image.
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>
2020-05-09 19:35:06 +00:00
Augustin Cavalier
cac30e4190 kernel_debug_config: Move global VMCache option to KDEBUG_LEVEL_2.
It does have a performance impact (as it serializes all VMCache
creations), and it is not that useful, so move it to KDEBUG_LEVEL_2
so that the beta releases (on KDEBUG_LEVEL_1) are not affected
by it.

(The nightlies are on KDEBUG_LEVEL_2, so this will not affect
them.)

Change-Id: Iab35d58f9d210651e3fd9027b75ea27a7a6928e5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2612
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-09 03:43:20 +00:00
Augustin Cavalier
a20a26e264 Versioning: Add BETA_2 and PRE_BETA_3 constants.
* PRE_BETA_3 is now the default in master.
2020-05-08 23:30:15 -04:00
Jérôme Duval
a94c4e5abf HaikuImage: add acpi_als
Change-Id: Iae4e9ddee1c6fcaba485470469e24fdf48bee661
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2579
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-06 15:03:12 +00:00
Augustin Cavalier
27ecd4761c build: More miscellaneous fixes for MSYS.
Remove the .exe hack, as it is not needed.
2020-05-03 19:31:22 -04:00
Augustin Cavalier
7a617f59fd configure & build: Add basic support for building with MSYS.
Also remove the MINGW support, as it was far too incomplete.

This *should* work under case-sensitive NTFS, but instead,
it seems #14963 occurs. So perhaps there is a GCC bug
related to case-sensitive vs. case-insensitivity after all.
2020-05-03 13:24:26 -04:00
Jérôme Duval
a00a3d62f2 HaikuImage: add wmi driver and smbios generic module
Change-Id: I76a0642285a33f9a0de930c4af0e207b54f33247
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2537
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-04-30 14:06:10 +00:00
Augustin Cavalier
d26bbf4c90 build: Remove perl from the Development set.
This caused the nightly builds to fail, because perl is apparently
a dependency of something in the base set already.
2020-04-23 21:26:43 -04:00
Jérôme Duval
19692eed95 OptionalPackages: add missing dependencies
for Development: automake and autoconf require perl
for DevelopmentMin: makefile_engine requires make and mkdepend

Change-Id: Ica2bace17a233e2e589e139208e468870b1cc84e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2507
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-04-23 15:43:08 +00:00
Jérôme Duval
9aacbbbbc1 HaikuImage: add i2c bus manager and pch_i2c bus
add i2c bin tool

Change-Id: Id83e1ec4f008d3728120dcf5a7f43c4b621c1272
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2486
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-04-20 14:58:02 +00:00
Augustin Cavalier
7c2cc47436 DefaultBuildProfiles: Remove "gcc" from default source packages.
OptionalPackages will add its source package when shipping GCC itself.
2020-04-19 20:18:44 -04:00
Augustin Cavalier
55e10d7ca4 OptionalPackages: Rework following build-packages changes.
* perl must go in /system/packages as git requires it
 * mpc, gmp, mpfr needed by gcc
 * jpeg was replaced by libjpeg_turbo
 * glu not necessary
2020-04-19 18:10:40 -04:00
Augustin Cavalier
f5a84636ec build: Replace jpeg with libjpeg_turbo for JPEGTranslator.
It works!
2020-04-19 18:00:31 -04:00
Augustin Cavalier
14af814156 build: Merge ilmbase and openexr build features.
Also only declare dependencies on OpenEXR libraries,
and let the ilmbase ones (which are now in the same package anyway)
get pulled in implicitly.
2020-04-19 17:59:57 -04:00
Augustin Cavalier
648cc69f8e HaikuPorts: Synchronize build-packages set.
Notable changes:
 * jpeg replaced with libjpeg_turbo across the board.
 * man replaced with mandoc.
 * ilmbase merged into openexr.
 * gnutls no longer needed in this set.

A few other packages unused in the local scripts were
also removed. Build fixes are in following commits.
2020-04-19 17:56:23 -04:00
Augustin Cavalier
dd419e59dc build_haiku_image: Distinguish between system (activated) and unactivated packages.
Previously, all packages on the image, both activated and unactivated,
were in $systemPackages, so if a package actually in /system/packages
had a dependency in the Installer optional package area, the dependency
checking would see no problem but the generated image would be broken.

Now, packages going into /system/packages are treated separately
from those going elsewhere, and error checks added so the above
condition will not occur.

(I ran into this while working on the build-package upgrade
in the following commits.)
2020-04-19 17:53:10 -04:00
Augustin Cavalier
a5ca573d27 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.)
2020-03-28 14:52:17 -04:00
Alexander von Gluck IV
cb837539f5 build/scripts: make toolchain scripts more self-sustainable
Change-Id: Ibe4cf105a20184392498371ba770529d69bd61a7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2417
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-03-24 18:24:13 +00:00
Jérôme Duval
2930142932 ArchitectureRules: define HAIKU_KERNEL_PIC_CCFLAGS for x86
fix broken x86_gcc2 build after 515ec47340
2020-03-23 17:24:13 +01:00
Augustin Cavalier
515ec47340 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.
2020-03-22 20:49:55 -04:00
Adrien Destugues
4f44282c3b Move source and development packages out of /system/packages on release images
Activating all these packages on live boot (especially live DVD where we
also have the write overlay eating up RAM) significantly increases
memory requirements for running Haiku, to the point that Installer may
fail to run. Move them outside the packages/ directory so they are not
activated.

Installer already skips the _sources_ directory when installing, and
lists the contents of _packages_ with checkbox to decide what to include
in the install (they are put in system/packages on the target disk).

Fix from previous version: the Haiku package was installed to /system
instead of /system/packages.

Fixes #15621.
2020-03-16 10:32:00 +01:00
Augustin Cavalier
c31d8dad23 Revert "Move source and development packages out of /system/packages on release images"
This reverts commit 0ab9c3c538.

It broke booting.
2020-03-15 19:30:08 -04:00
Adrien Destugues
0ab9c3c538 Move source and development packages out of /system/packages on release images
Activating all these packages on live boot (especially live DVD where we
also have the write overlay eating up RAM) significantly increases
memory requirements for running Haiku, to the point that Installer may
fail to run. Move them outside the packages/ directory so they are not
activated.

Installer already skips the _sources_ directory when installing, and
lists the contents of _packages_ with checkbox to decide what to include
in the install (they are put in system/packages on the target disk).

Fixes #15621.

Change-Id: Ibfac14c43dbe708316a0d82ca1c9d49b5cba2aef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2157
Reviewed-by: Sergei Reznikov <diver@gelios.net>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-03-14 18:31:23 +00:00
Adrien Destugues
768f6b3bc4 Fix build for non-EFI architectures.
Change-Id: Ic2c8a9a64e63f4b844e964eb1066291d2edda7b3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2343
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-03-14 18:28:24 +00:00
Alexander von Gluck IV
55213e3edb jam/efi: Improve our knowledge of EFI default loader names
Change-Id: I7ae941426a10ceac6771ef0a2a53f81d3c3c39d0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2338
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-03-10 14:58:43 +00:00
Alexander von Gluck IV
1d08d3993e efi: Don't skip TargetBootLibgcc, we need it for 32-bit fp math
Change-Id: I23db3cbb57fea1f9346db9477f72bcc164794926
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2282
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-02-26 18:01:42 +00:00
Alexander von Gluck IV
04f1baa771 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>
2020-02-21 14:29:22 +00:00
Alexander von Gluck IV
b9db31f649 EFI: Add VolumeIcon to EFI system partition
Change-Id: Idc50cfee16db5f7c0dbea625a7739ad42b2d7bf0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2249
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-02-17 14:31:59 +00:00
Alexander von Gluck IV
987f40eb8f build/jam/ppc: Fix PowerPC boot after hrev53614
* "xorriso doesn't support much of the mkisofs options"
* Dropping the hfs map made our bootloader no-longer get
  mapped as :tbxi which means qemu + Apple devices refused
  to boot it.
* Switch to genisoimage which can generate the correct image.
  (xorriso -as genisoimage doesn't work either)

Change-Id: Id71b97796f5004f6ddf6244644c51a5787f9bf8e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2241
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-02-17 02:37:37 +00:00
Augustin Cavalier
5be6527a63 ImageRules: Use mformat's -f argument.
Should not be a functional change, but reading the docs, I'm not sure
our arguments were valid here, so this should be more correct.
2020-02-08 15:45:18 -05:00
Adrien Destugues
445de1d348 Use Input preferences
And remove Mouse, Keyboard and Touchpad.

Userguide and localizations will need to be updated.

Change-Id: I4543b2b63367cd13562c542610bad34b5934b103
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2210
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-02-08 17:03:19 +00:00
Adrien Destugues
0f9ffb37c1 Add a Person file to tracker new templates
Fixes #9397.
2020-02-05 21:25:22 +01:00
Jaroslaw Pelczar
78fea2759f 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>
2020-02-04 03:36:20 +00:00
Alexander von Gluck IV
1d622b8d66 build/repositories: Add riscv64 HaikuPorts and fix Cross
Change-Id: I8963a66dd30e8d964c1a1cf0b9140615592f7e46
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2167
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-01-28 13:45:49 +00:00
Alexander von Gluck IV
97e67e3f63 repo/HaikuPorts: Bump gcc for sparc to resolve post-musl changes
Change-Id: I900712b13275f64c5f0955a7b9818b2e4d450a9f
2020-01-27 13:50:36 -06:00
Adrien Destugues
947faad871 Remove mercurial sources from release images
We don't ship the binaries, so I don't see why we would ship the
sources.
2020-01-26 12:40:01 +01:00
Jaroslaw Pelczar
cbdb30f467 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>
2020-01-25 08:50:51 +00:00
Adrien Destugues
ca9fab6849 Link host tools with libbsd on haiku host
Needed for the sparc port, allows to build elf2aout which uses err() and
errx(). Allows to build the sparc port from Haiku.

Change-Id: Ia14dd9b1be1c03b36634a675f1a51eeac8d4aacf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2129
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-22 00:25:19 +00:00
Alexander von Gluck IV
1aab1c0e28 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
2020-01-20 16:26:37 -06:00
Alexander von Gluck IV
2f37766000 sparc: Add missing any arch packages
Change-Id: Ib20fbcb805011634394a2296d955bc12613c7056
2020-01-17 14:58:24 -06:00
Alexander von Gluck IV
65f8d4d1f6 sparc: Add the hopefully final missing packages
* I still blame Pulkomandy

Change-Id: I8027250dec08b25e9efd2fad6ac0895d18e7273c
2020-01-17 14:21:24 -06:00
Alexander von Gluck IV
cc0783e888 sparc: Add missing devel package for ncurses6.
* This is why we normally do this on our local systems.
* I blame Pulkomandy

Change-Id: I763d92edd73ed231fbb99bc3a59c3d3e5dd08f83
2020-01-17 13:05:29 -06:00
Alexander von Gluck IV
42029125dd sparc: Add missing ncurses6 package
Change-Id: I7c49e707f55e804a7222750c88ecbbf7e9f80111
2020-01-17 12:55:05 -06:00
Alexander von Gluck IV
3c0d65cc30 sparc: First attempt at build-packages
Change-Id: I19819f6617c02bde87d34baaef5601b4727cb319
2020-01-17 10:15:10 -06:00
Augustin Cavalier
a1e74397a1 build: Rework gcc2 test_app_server build logic a bit. 2020-01-05 17:17:41 -05:00
Adrien Destugues
32158f3d64 Fix test_app_server build.
Fixes #15536.
2019-12-31 13:15:30 +01:00
Augustin Cavalier
470db787dc BuildFeatures: Remove the gnuefi build feature.
Now unused since the switch to the Fuchsia EFI headers.
2019-12-23 12:38:47 -05:00
Alexander von Gluck IV
f2ad50f6a2 repo/ppc: Sync up repo to fix build.
* This doesn't make sense.. I know. See #15498

Change-Id: I280224ec9b7a4f8d91c9031f51073af8112f2d67
2019-12-10 13:43:34 -06:00
Ynoga
09b40d1634 ppc: Minor tweaks to get the arch compile again (WIP)
- Factor in types changes (introduction of intptr_t)
- Align JamFiles syntax with in progress architectures (arm/sparc)
- Xorriso doesn't support much of the mkisofs options (anymore ?)
- (After a correct bootstrap) one should be able to build @minimum-raw and haiku-boot-cd again
Change-Id: I4f779ad8f2210389fa9b7f7c0a98c3652a64c257
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1983
Reviewed-by: François Revol <revol@free.fr>
2019-12-04 18:34:31 +00:00
Alexander von Gluck IV
1f8acf0862 HaikuPorts: Bump gnu_efi_kernel build-package for arm
Change-Id: I0e0791ebf06a2455896196d1cf0ed41979822619
2019-11-27 13:57:54 -06:00
Humdinger
9e15c9f153 Adding the Quick Tour
* Add a link to the Quick Tour to the desktop.
* Remove the Welcome page from desktop. We don't want to clutter
  the user's desktop more than necessary. As "Home" page of
  WebPositive, it's still very visible.
* Mention the Quick Tour in the Welcome package description.
* Add a "quicktour" script similar to the welcome/userguide
  that opens the online version if it's not installed locally.
* Add icons to the userguide and quicktour scripts. Fixes #14706.
* Add bookmark and launcher for the Quick Tour.

Adjust the AddFileDataAttributeRule to create its temporary file in
the "common" architecture, the file is not architecture specific.

Add a rule PrepareScriptWithIcon in src/data/bin/Jamfile to assign
an icon and make the script executable.

Change-Id: Ia7604ff4715a5aaf9a645c1b3333a954d6a4dafc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1924
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-11-26 06:39:58 +00:00
François Revol
8fd4412d88 m68k: update bootstrap packages versions
Change-Id: I484ee07d8a916581f5b3c94d137e5e2b26cc2fc9
2019-11-03 03:50:32 +01:00
François Revol
494acd2185 m68k: update build to support MultiBootSubDirSetup
Change-Id: Idbbbb089286ad7d76f61993670a20d240bfe773c
2019-11-03 03:50:32 +01:00
Alexander von Gluck IV
bc3b6065c6 x86_gcc2: Bump build packages. gcc2h working as expected
Change-Id: I0c068acd1874fc8d2a113d51cc8f88ab80dd6ebe
2019-10-28 22:02:34 -05:00
Alexander von Gluck IV
e4c933c93f build-packages/x86_64: Bump HaikuPorts to latest packages
* Includes an updated gnu-efi package which addresses some
  header collisions we encountered.

Change-Id: I6a16814136607224d3019069aa642ce4331ff969
2019-10-15 09:28:39 -05:00
Alexander von Gluck IV
f17664c8b1 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>
2019-10-02 20:16:28 +00:00
Alexander von Gluck IV
d19c9471b1 build/BuildSetup: Make MMC image name more aligned to others
* ex: haiku-((profile)).* works now.

Change-Id: Ib1d24920de6be6ae72c841ace3e57d7b0858f4ef
2019-09-29 19:16:18 -05:00
Alexander von Gluck IV
39ba92c8bb build/jam: Add arm64 HaikuPortsCross for bootstrap
Change-Id: I3676006d677811d4d4dd2e50cc9374891133d13e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1838
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-09-07 12:54:12 +00:00
CodeforEvolution
9e54316c52 Fix the build of test_app_server on 64bit
So many Jamfiles to search through...runs also, but there
are lots of graphical glitches

Change-Id: Ibf9e64566a5b8c5742792ac9b1b0f9ccc6693c8d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1753
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-01 03:04:52 +00:00
Augustin Cavalier
128781e740 build/jam: Inline HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR where possible.
The "exec" tool can only handle one command with environs set at
the beginning of the line, so now we set the ADD_BUILD_COMPAT...
in this format. This also seems to be a general performance
improvement to builds using real shells, too.

Change-Id: If4b3117651b5475039d5e8116cd3de398582290a
2019-08-30 17:11:50 -04:00
Augustin Cavalier
3cfe881d88 OverriddenJamRules: Remove an unneeded and erroneous ";" 2019-08-28 22:52:22 -04:00
Alexander von Gluck IV
3d4c153e17 buildtools: Disable tls on riscv64 for now
Change-Id: I8084e0fa2ffbaf04242fa14617807d83abbd5586
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1556
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-08-21 12:00:51 +00:00
ahenriksson
03867a467e Add resizefs utility
Change-Id: I5f503cf07216df64dcc33081f24cd083d003e581
Reviewed-on: https://review.haiku-os.org/c/haiku/+/943
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-08-20 09:48:51 +00:00
Alexander von Gluck IV
890224c31c scripts/find_triplet: Fix shell, requires bash not sh
Change-Id: Ie8219230810856c2a5f1c99bb6f3162eeff0964e
2019-08-19 09:05:52 -05:00
Simon South
5f255c64dc DefaultBuildProfiles: Add OpenSSL to minimum profile
This makes pkgman functional in minimum-profile images.

Change-Id: I3578886743fecbf76779ac1b4b76762d8ce1be3d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1715
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-13 19:38:23 +00:00
Alexander von Gluck IV
925d9f1909 build/scripts: Add find_triplet to allow easy solving of arch to gcc triplet 2019-08-01 10:36:01 -05:00
Alexander von Gluck IV
459b9916b9 nvme_disk: Disable Boot Symlink on non-x86; #15212 2019-07-30 13:39:19 -05:00
Alexander von Gluck IV
de4406ad8d nvme_disk: Disable on non-x86; #15212
* There are some type-length issues on arm, and our
  usage outside of x86 is limited for the moment.
* This could be fixed in the future.
2019-07-30 11:41:11 -05:00
Adrien Destugues
c0daed76e1 ftp: remove from sources.
Now provided in the tnftp package.

Change-Id: I862b1ff98586aa0e5a9418cf26e30b7136140249
Reviewed-on: https://review.haiku-os.org/c/1641
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-07-22 23:43:04 +00:00
Alexander von Gluck IV
bc71f97ed7 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>
2019-06-28 18:12:29 +00:00
Alexander von Gluck IV
37761761a0 jam: Style fix in build/MMCImage
Change-Id: Idb169f59ed77c9038e48e0e26e4fa53e92103ffe
2019-06-19 19:28:52 -05:00
Alexander von Gluck IV
75262df789 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
2019-06-19 16:02:39 -05:00
Alexander von Gluck IV
81afd20b21 arm/repositories: Add final missing requirements
Change-Id: I7fdc23160719774d8977ae6b5ac4af8a5d0ee358
2019-06-19 08:45:32 -05:00
Alexander von Gluck IV
70ebf78e12 arm/repositories: Add missing ncurses6 package
Change-Id: I6ca29abbcde80bd09db4c1a4808bd71346afd20e
2019-06-19 07:57:37 -05:00
Alexander von Gluck IV
836e51c326 arm/repositories: Update for latest build_packages
* For tracking, there are *mega* hacked together using
  llvm's linker and functionality isn't a sure thing.
* Thanks waddlesplash for the sketchy changes :-)
* Hopefully gets non-bootstrap arm builds working again
  and let us work on the toolchain without blocking arm
  development.

Change-Id: I0617ed83cc757d098e6464222405f75eed91196e
2019-06-18 19:42:16 -05:00
Augustin Cavalier
be8d35d2a4 HaikuPortsCross/arm: Fix version of gcc_bootstrap package. 2019-06-17 21:06:50 -04:00
Augustin Cavalier
750161f4c0 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.
2019-06-17 19:58:39 -04:00
Augustin Cavalier
c6b9a07f44 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.
2019-06-17 19:57:58 -04:00
Augustin Cavalier
b6b66df0c5 ArchitectureRules: Disable usage of -mapcs-frame on ARM.
It has been long since deprecated by GCC.
2019-06-17 19:57:22 -04:00
Augustin Cavalier
d511533a48 build_cross_tools_gcc4: Keep static libstdc++, but rename it.
The gcc_bootstrap recipe still needs it, it seems.
2019-06-16 20:30:53 -04:00
Augustin Cavalier
d689db1448 HaikuPortsCross: Synchronize a few more package versions to haikuports.cross. 2019-06-15 20:25:43 -04:00
Augustin Cavalier
8830782a61 RepositoryRules: Error when the just-built package does not exist.
This will make version mismatches between the bootstrap repository
and the haikuports.cross repository more apparent.
2019-06-15 20:24:12 -04:00
Augustin Cavalier
6a9f74bc4f HaikuPortsCross: Tweak the GCC version following changes. 2019-06-15 15:45:18 -04:00
Augustin Cavalier
9bb9cc8896 build_cross_tools_gcc4: Remove the generated static libstdc++.
We always want to use the shared one from the syslibs package,
never the shared one from this build.

Part of #14842: after this change, the ICU build now fails with
"cannot find libstdc++" instead of an invalid symbol.
2019-06-15 15:42:13 -04:00
Alexander von Gluck IV
004b64201f HaikuPortsCross/ppc: Add missing revision to bootstrap package
Change-Id: I4c49429e9c1ccf14d7dcd394cdb5a29b1d097491
2019-06-03 10:07:24 -05:00
Alexander von Gluck IV
9a0d30e76d HaikuPortsCross: Update bootstrap to gcc 8
Change-Id: I45bb16971f84978eb1e97dd491c0c2d7ab90444e
2019-06-03 10:04:52 -05:00
Alexander von Gluck IV
31c38ae2b1 jam/HeaderRules: Put posix before gcc
* After the gcc 8 upgrade, during bootstrap sources attempt to
  load limits.h from gcc before they use our limits.h override
  resulting in undefined NAME_MAX, PATH_MAX, etc.

Change-Id: I9204410d0543a033e262124eaf7bcde09db26aa9
Reviewed-on: https://review.haiku-os.org/c/1498
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-06-03 13:25:48 +00:00
Augustin Cavalier
bac6edf06f ArchitectureRules: Clean up GCC >= 3 logic & disable -Werror for netfs. 2019-05-24 14:25:26 -04:00
Augustin Cavalier
fef13fb917 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.
2019-05-23 19:50:51 -04:00
Augustin Cavalier
218a8c03cb 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
2019-05-17 14:43:32 -04:00
Augustin Cavalier
9fe74faa61 HaikuPorts: Bump python, openssh, git for ncurses6. 2019-05-15 13:31:45 -04:00
Augustin Cavalier
8e05933bc8 HaikuPorts: Add libopenmpt_x86 on x86_gcc2. 2019-05-14 22:43:57 -04:00
Alexander von Gluck IV
aefa412c98 ppc: Minor tweaks to move PowerPC build towards working
Change-Id: Id9a4e0fd483d2a0c05cf2a8475d3689a13bcc5f6
2019-05-14 21:13:58 -05:00
Augustin Cavalier
54e53dabfc HaikuPorts: Add openmpt for x86_64. 2019-05-14 21:42:42 -04:00
Augustin Cavalier
fc985c6121 HaikuPorts: Add llvm7_x86_libs for x86_gcc2. 2019-05-14 21:39:08 -04:00
Jérôme Duval
89f1fd6512 Bump gutenprint version.
needs gutenprint8 packages to be uploaded.

Change-Id: I1204ff8b1bb85cc0eb615082b205280daabbc290
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2019-05-14 19:11:41 -04:00
Augustin Cavalier
f95a6bc18a HaikuPorts: Synchronize packages; add libpsl and gutenprint8. 2019-05-14 19:03:02 -04:00
Augustin Cavalier
e661fdd17d repositories: Move the README into the appropriate docs/develop directory. 2019-05-14 19:00:18 -04:00
François Revol
e88c3d58bd Add setcontrollook minimal CLI tool
Just does what the name says

Change-Id: I6cf23f997ce544df83d4ef2f73a3b130dea8825c
Reviewed-on: https://review.haiku-os.org/c/1432
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2019-05-13 22:15:30 +00:00
François Revol
26b5a18eb0 Add a BeControlLook addon
Very simple for now, just reuses the Haiku one with some gradients
removed.

Add it to the haiku_extras package.

Change-Id: I41729ed65b147fed72bf56e7c5c89367b75563bb
Reviewed-on: https://review.haiku-os.org/c/1431
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-05-13 22:15:30 +00:00
Les De Ridder
1712a3c957 btrfs: add initial disk system add-on
Change-Id: I8f26a78770e679527a99b49a04557c1aa4334b53
Reviewed-on: https://review.haiku-os.org/c/1396
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2019-05-08 10:20:53 +00:00
Augustin Cavalier
0c26c6f155 build: Add the NVMe driver to the image. 2019-04-14 20:16:36 -04:00
Alexander von Gluck IV
d5ee99bbd7 riscv64: Ensure kernel is medany code model
Change-Id: I1b3386a072811bd068ab44190d16697dc7aad028
2019-04-09 20:25:04 -05:00
PulkoMandy
8586b74cfc sparc: fix versions mismatches in HaikuPortsCross
Change-Id: Id733ccb211ca7eb47a104727be8045497190d551
Reviewed-on: https://review.haiku-os.org/c/1400
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-09 18:20:44 +00:00
PulkoMandy
0788d17ae2 Fix missing absolute dir.
The variable is used after a "cd" so it must be absolute.

Change-Id: I8d591b8642179603249ac56a1fcac082f29c870c
Reviewed-on: https://review.haiku-os.org/c/1387
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-06 17:37:25 +00:00
Alexander von Gluck IV
04fbff9fdd build: Add 64-bit host detection for riscv64 hosts 2019-04-04 09:09:45 -05:00
Alexander von Gluck IV
117af7ca90 build: Fix BOOT_PLATFORM to KERNEL_PLATFORM on rv64/arm64 2019-04-04 09:09:41 -05:00
Alexander von Gluck IV
c0bb51001f HaikuPortsCross: Bump riscv64 bootstrap package version 2019-04-04 09:09:29 -05:00
Alexander von Gluck IV
c59cde3d69 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>
2019-04-04 13:23:32 +00:00
Augustin Cavalier
5c93058ad7 BuildSetup: Stop defining __INTEL__ for the host tools.
Nothing in the tree uses __INTEL__ anymore, so this is no longer
needed.
2019-03-30 16:55:27 -04:00
Augustin Cavalier
1e60bdeab6 Remove all invocations of SetSubDirSupportedPlatformsBeOSCompatible. 2019-03-30 15:19:38 -04:00
Augustin Cavalier
b357daa5c5 build: Deprecate SetSubDirSupportedPlatformsBeOSCompatible.
By default, all targets support the "haiku" platform, and we no longer
support building for BeOS, Dan0, Zeta, or other BeOS-compatible targets,
so this is no longer needed.

Also remove all references to the non-Haiku compatible platforms, and
change all BEOS_COMPATIBLE checks to HAIKU_COMPATIBLE. Removal of
all SetSubDirSupportedPlatformsBeOSCompatible invocations
will be in the next commit.
2019-03-30 14:54:14 -04:00
Augustin Cavalier
a1c2d3d653 uptime: Remove, in favor of the coreutils one.
This one had an uncertain "freeware" license, and the code quality
is not so great. BeOS didn't have an 'uptime' command, so we can
replace this with the coreutils one without worry.
2019-03-30 13:47:14 -04:00
PulkoMandy
1e4172254d sparc: fill in HaikuPorts file.
Change-Id: I7aef31e72a826936c45e3644a72eb0598386f1ae
Reviewed-on: https://review.haiku-os.org/c/1309
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-03-26 20:41:46 +00:00
Alexander von Gluck IV
c085f38639 riscv64: Fill in more bulk architecture items around libroot/kernel
Change-Id: Ia2a86d8814d06950ea2d2d19d966c642d26f81d6
Reviewed-on: https://review.haiku-os.org/c/1302
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-03-25 17:16:03 +00:00
François Revol
d51c92f872 Actually add AutoRaise to the regular image
Change-Id: Ied73e217ba91531c8b149fc5c23fd95bca53e732
2019-03-11 13:37:02 +01:00
François Revol
dc2d41d7e6 Add AutoRaise to the regular image
It now works reasonably well to be of some use.

Change-Id: I2e031e4d4a7e395d4c597014b73e399c65d15041
2019-03-11 04:33:29 +01:00
Augustin Cavalier
251892c136 BuildSetup: Remove unused big-endian host detection.
Nothing references it anywhere. Also add "arm64" to 64-bit
detection (which is used.)
2019-03-04 13:37:56 -05:00
Augustin Cavalier
3e57265251 ArchitectureRules: -Wno-error=cast-align is only valid for GCC4+. 2019-03-03 16:52:11 -05:00
PulkoMandy
c5769c4f6b 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>
2019-03-03 20:56:20 +00:00
Andrew Lindesay
17dc34acd6 HaikuDepot: Build Configure for Python
Some operating systems only ship with Python 3 and the
binary for this is 'python3' instead of 'python' which
causes the Jam build process to fail because it expects
to find 'python'.  This change will mean that the
configure process will detect this case and configure
the build to use the correct binary name.

Fixes #14938

Change-Id: I30cd0df828792715a54d760b86dd79aee04e2b2f
Reviewed-on: https://review.haiku-os.org/c/1134
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-03-03 07:49:25 +00:00
PulkoMandy
167f096576 sparc: update gcc package in HaikuPortsCross
Use the latest version of the compiler for bootstrap.

Change-Id: I43639b560de2d4f3dc3fed48c3d4bd32a544cb57
Reviewed-on: https://review.haiku-os.org/c/1104
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2019-03-01 11:54:55 +00:00
Alexander von Gluck IV
1b3684f86a HaikuPortsCross/riscv64: Fix packages for gcc
Change-Id: I220076059a9ee69411384a595e7b56db61c74655
2019-02-26 14:17:57 -06:00
Augustin Cavalier
a30d07f80a build: Remove ATA build feature references.
The ATA build feature itself was mistakenly removed in the previous
commit, as it should have been removed along with these. Sorry
about that.
2019-02-25 19:56:07 -05:00
Augustin Cavalier
7930fb5b5e build: Print unavailable build features in one rather than multiple lines.
Reduces Jam noise and significantly improves readability.
2019-02-25 16:11:39 -05:00
PulkoMandy
fcffcb1576 RepositoryRules: fix typo
This went through review too fast, the wrong variable name was used so
the package name was not listed...

Change-Id: I81d4aa57fdb65297ae9f63ebf123d7a6395a99b6
Reviewed-on: https://review.haiku-os.org/c/1109
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-02-24 19:45:14 +00:00
PulkoMandy
e12480694e bootstrap: a little more explicit error if things are wrong
There seems to be a problem with the way we set the gcc_bootstrap
package build to depend on the bootstrap package with haiku headers.
If said package cannot be built (for example some definitions are
missing for a new architecture), we end up passing an empty string as
the package to use to haikuporter.

The error message given by Haikuporter is confusing, and not easy to
investigate. So, intercept the error earlier to save time for the next
person to hit this problem.

Change-Id: I64f326e5cb3bb0d44632864ad38ad10bb88d0c7b
Reviewed-on: https://review.haiku-os.org/c/1082
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-02-23 16:30:50 +00:00
Adrien Destugues
5629675a32 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>
2019-02-23 16:30:50 +00:00
Augustin Cavalier
2fc0c84112 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.
2019-02-21 14:04:05 -05:00
Augustin Cavalier
4dd5af2f75 build_cross_tools_gcc4: Handle $PATH having spaces in it properly.
Fixes the build of the cross tools under WSL.
2019-02-21 14:02:13 -05:00
Augustin Cavalier
5a7156f435 build_cross_tools_gcc4: Clear "missing" scripts instead of touching files.
This just stops the errors from occuring rather than trying to
rebuild the files at all. This is much cleaner, and solves
a few cases that the other method did not.
2019-02-21 14:01:40 -05:00
Fabiano Fidêncio
768957dca1 ImageRules: Ensure nightly builds will have a stable volume-id
Let's make the nightly builds consistent in a way that they would always
be recognized by libosinfo (and, consequently, by GNOME Boxes,
 virt-manager, virt-install, ...) by explictly using "nightly" instead
of the $(HAIKU_VERSION) when generating nightly builds.

Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org>

Change-Id: I6fc4f15be1e8e9244abf14e75308fc825f37b2e8
Reviewed-on: https://review.haiku-os.org/c/1053
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-02-19 19:03:25 +00:00
Barrett17
a92a085d1d BuildFeatures: Add libdvdnav and libdvdcss deps 2019-02-18 23:40:08 +01:00
Alexander von Gluck IV
371809b601 x86_64: Update build_package to include missing llvm7 for mesa_swpipe
Change-Id: Iaa381e1dcb5fa486a655a09e032cf780c5d14759
2019-02-18 13:44:56 -06:00
Alexander von Gluck IV
b5ded9cc1a x86_64: Update build_packages for new libbluray,libdvdnav,libdvdread
* Purposely excluded was libdvdcss, libaacs

Change-Id: I83514e301eb3ee2c8f7d90ff6225ccd9a64314ad
2019-02-18 10:24:10 -06:00
Alexander von Gluck IV
4ec9f32bc2 HaikuPorts: Update README.md for build-package updates
Change-Id: I5845db702da506eaaa5e179d8470fdaa72470874
2019-02-18 10:19:57 -06:00
Fabiano Fidêncio
4e29847d38 ImageRules: Use a less generic name as volume-id
The current volume-id is "bootimg", does not matter which version of
haiku nor to which architecture the ISO is targetting.

Having a "too generic" name as volume-id directly affects the ISO's
recognition by libosinfo.

From now on, let's use:
haiku-$(HAIKU_VERSION)-$(TARGET_ARCH)

Which would generate an ISO with volume-id as:
Volume id: haiku-default-r1~beta1-x86_64

Fixes: #14695

Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org>

Change-Id: I25e2f5338403058a363872abd196d698764cc3c1
Reviewed-on: https://review.haiku-os.org/c/1034
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-02-13 20:06:13 +00:00
Augustin Cavalier
849f58107a build_cross_tools_gcc4: Enable initfini-array in binutils.
Our implementation of it now behaves properly after the last commit.

Change-Id: I6bebc91ae0f9512ea07ad6a7a4ccea9ee758e01b
Reviewed-on: https://review.haiku-os.org/c/908
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-28 16:37:28 +00:00
Augustin Cavalier
205beac382 ArchitectureRules: Enable more warnings. 2019-01-16 19:31:58 -05:00
Augustin Cavalier
f3441f9702 ArchitectureRules: Enable -Werror for the kernel. 2019-01-15 14:11:50 -05:00
Augustin Cavalier
de7581eec9 build: Add the new "Hostname" network panel to the regular image. 2019-01-15 14:06:49 -05:00
Augustin Cavalier
c5cb2cbd86 Delete usb_printer driver.
It has been unused since 2010, when the usb_port printer transport
was rewritten to use the USBKit.

Change-Id: I224e07fb35cd9696c07b8f22dd51d3c67d92e0a9
Reviewed-on: https://review.haiku-os.org/c/869
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-01-11 17:02:21 +00:00
Augustin Cavalier
b237fff49e FileRules: Fix typo.
Thanks PulkoMandy for reviewing!
2019-01-10 12:32:33 -05:00
Augustin Cavalier
1d91b37193 build: Fixes to support building in paths with spaces in them.
Now that HAIKU_TOP is a relative path, nearly all paths Jam actually
has to deal with will never contain spaces, so this is now feasible.
Only one issue remains after this commit (namely, setting
HOST_BUILD_COMPATIBILITY_LIB_DIR.)
2019-01-09 19:18:28 -05:00
Augustin Cavalier
134e58ec8d FileRules: Make DownloadLocatedFile1 less cryptic.
As Jam prints the entire erring command on failure, including this if-test
in the command itself makes the output somewhat difficult to decipher.
So instead we use two separate rules based on whether or not NO_DOWNLOADS
is set or not.
2019-01-09 19:18:27 -05:00
Augustin Cavalier
24e7aa4217 regular: Typo fix.
Sorry for the noise...
2019-01-08 19:55:45 -05:00
Augustin Cavalier
5c8f9c2b0c build: Move WiFi drivers from the minimum to the regular image.
We don't include the wpa_supplicant on the minimum image, so
these aren't very useful (it seems one needs the wpa_supplicant
to connect even to an unsecured network, with our setup.)

Anyone who needs one of these and also has a reason to use the
minimum image can easily add them back via their UserBuildConfig.
2019-01-08 19:48:09 -05:00
Augustin Cavalier
9a0d08a701 build: Move repository config and cache files to the minimum image.
Most of the time, one just winds up adding them manually anyway.
2019-01-08 19:45:36 -05:00
Augustin Cavalier
b3dc16eecb build: Use xorriso instead of mkisofs or genisoimage.
It seems that not all Linux distributions ship an EFI-enabled
cdrtools (i.e. mkisofs takes -e option), Arch being one that
does not.

So instead, we now use xorriso universally, which is
as (or more, in most cases) widely available, and supports
emulating mkisofs with the EFI commands universally.

This also has the added benefit that we can drop genisoimage
support altogether.
2019-01-08 19:31:15 -05:00
Augustin Cavalier
753c7e0805 freebsd11_wlan -> freebsd_wlan.
FreeBSD 12's net80211 layer contains only 2 small KPI breaks from FreeBSD 11,
so we can upgrade it, apply those 2 changes to the drivers which are affected
(as the changes are in some lesser-used functions), and then upgrade all drivers
one at a time.
2019-01-07 20:17:51 -05:00
Augustin Cavalier
125df15288 drivers/vlance: Remove.
Never included in the build, and entirely superseded by the "pcnet"
driver from FreeBSD.
2018-12-27 14:15:30 -05:00
Augustin Cavalier
360f405d3d packages/HaikuSource: Place sources into develop/sources.
Fixes #14781.
2018-12-27 13:08:03 -05:00
Barrett17
df580f53de ArchitectureRules: Cleanup deprecated plugins defs 2018-12-25 11:36:01 +01:00
Augustin Cavalier
dba28784c2 freebsd11_network -> freebsd_network.
FreeBSD 12 has no major changes to the ifnet KPIs that constitute a
source compatibility break, save a single one related to locking
which doesn't really apply to us, and so we don't need to create
a "freebsd12_network" directory to work through the upgrades.
2018-12-24 19:49:35 -05:00
Augustin Cavalier
2dd61eb019 sis900: Import from FreeBSD 11.2.
This replaces the old Haiku-native driver that was removed in the last commit.
It should support all the same chips that one did, in addition to the SiS 7014,
and the DP83815 also.

I don't have this hardware, so for anyone who does, please test.

Fixes #1657.
2018-12-21 14:22:32 -05:00
Adrien Destugues
16a54a87fd Merge usb_floppy back into usb_disk.
- USB pen drive seems to still work. More extensive testing welcome.
- USB floppies don't work yet, but they don't work anymore with the
  current driver, either. I'm still investigating that part.

Fixes #9276

Change-Id: I8aa5ab828ad2ad867d0c187062d6e179372fc2ad
Reviewed-on: https://review.haiku-os.org/747
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-14 22:51:44 +00:00
Alexander von Gluck IV
6e48605b8f kernel: Add riscv config_manager and kernel lib arch sources
Change-Id: Idb40e98f4f664e6bfe0af6bc098bae5c871fb4e5
2018-12-08 16:46:17 -06:00
Adrien Destugues
92bb7e91ed Revert "haiku_loader.hpkg: Add each compiled boot target"
This reverts commit 349326db27.

Makes the system unbootable on my gcc2 BIOS machine.
2018-11-29 20:42:47 +01:00
Alexander von Gluck IV
349326db27 haiku_loader.hpkg: Add each compiled boot target 2018-11-28 14:57:50 -06:00
Alexander von Gluck IV
8604e84890 emulex_oce: Add driver to minimum image 2018-11-28 15:52:42 +00:00
Augustin Cavalier
3d34cef833 build: Disable -Werror for bus.
Firewire errors out.
2018-11-25 12:44:43 -05:00
Augustin Cavalier
766872a872 OverridenJamRules: Override MkDir to use -p.
See inline comment.
2018-11-24 17:52:08 -05:00
Augustin Cavalier
80d966a005 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.
2018-11-24 17:49:20 -05:00
Augustin Cavalier
f6fe382433 MainBuildRules: Fail if the generated struct-offsets header is empty.
In some LTO-related experiments, it came out empty due to GCC
not generating actual assembly but rather intermediate code,
resulting in various later targets failing with quite literally
thousands of errors.
2018-11-24 14:35:10 -05:00
Augustin Cavalier
1e30709b20 repositories: On @minimum profile, don't build unneeded packages.
This significantly speeds up @minimum builds (by a few minutes,
depending on your CPU and disk speed.)
2018-11-24 13:57:03 -05:00
Augustin Cavalier
e5b11ae3c7 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.
2018-11-23 19:58:22 -05:00
Augustin Cavalier
382fff8961 ArchitectureRules: Enable -Wuninitialized and -Wunused-but-set.
Also clean up the warning flags in general; they are now
more readable.
2018-11-23 19:14:49 -05:00
Augustin Cavalier
d113c00b5a Remove more HOST_PLATFORM_SUNOS cruft. 2018-11-23 16:29:57 -05:00
Augustin Cavalier
807304b100 build: Add basic support for MinGW hosts.
This doesn't fully work yet (the FS code in libroot_build
needs to be adapted, as some of the symlink-related calls
are not available on MinGW), but it gets much further than
the "Cygwin" target did.
2018-11-23 16:24:25 -05:00
Augustin Cavalier
37c106060a build: Remove support for cross-building from Cygwin and SunOS.
These have been broken for a long time. Some Cygwin changes that
are relevant on MinGW are kept here, but users on Windows who
want to build Haiku should probably use WSL at this point.

However, now that we are using relative paths and don't need
to worry about drive path kludges, it's actually possible to
get some host tools built on MinGW. Changes for that coming.
2018-11-23 15:40:50 -05:00
Augustin Cavalier
cb101bdad6 BootRules: Fix BuildMBR under Clang.
We need to force -m32 here, and we also need to tell Clang that we
want to allow relocations in .text.

Clang builds now get to kernel entry, but the bootloader fails to
load the early-boot modules with strange remapping errors, and so
panics with "get boot partitions failed!"
2018-11-23 00:06:23 -05:00
Augustin Cavalier
c371f18d7e OverriddenJamRules: Remove TODO.
All relevant flags have been added to ASFLAGS where necessary.
2018-11-23 00:06:23 -05:00
Augustin Cavalier
df34a27137 build: Do not use regular TARGET_*FLAGS in kernel and bootloader.
The generic CCFLAGS are already appended to the HAIKU_KERNEL_*FLAGS
and HAIKU_BOOT_*FLAGS, so these were just duplicates. And now that
we strip certain flags out of the base ones, this was incorrect
(and causes Clang to error in some circumstances.)
2018-11-23 00:06:23 -05:00
Augustin Cavalier
58b7901304 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.
2018-11-23 00:06:23 -05:00
Augustin Cavalier
b54ed691ed 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.
2018-11-21 23:52:35 -05:00
Augustin Cavalier
a87c7773e8 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.
2018-11-21 22:02:06 -05:00
Augustin Cavalier
633e29aeb6 Jamrules: Add a hard requirement on the new Jambase.
And remove the overridden rules that were migrated back to it.
2018-11-21 19:16:50 -05:00
François Revol
35eb380e1a Add Shelf screen-saver to the regular image
It builds and works, so let's have people test it.

Change-Id: I33016527e89aab29ba3200c8b4bf72376a32312b
2018-11-20 16:58:52 +01:00
Alexander von Gluck IV
dd2a114397 arm/HaikuPortsCross: Update binutils_bootstrap to latest
Change-Id: Ie614fc05135eada522d19e416309f681506e8069
2018-11-19 19:59:08 -06:00
waddlesplash
69bd151d32 build: Fix paths of tools for bootstrap builds.
The paths to tools are relative to cwd, and HAIKU_ABSOLUTE_OUTPUT_DIR is
not necessarily the same as that, in the case where jam is invoked from
the repository root instead of a "generated" directory.

HOST_OBJECT_BASE_DIR is relative to pwd also, so just make it absolute.

Change-Id: I2aef83804be31c3c03c8577d56372f2dc6cb77f8
Reviewed-on: https://review.haiku-os.org/718
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-19 23:14:02 +00:00
Augustin Cavalier
59ecfa6cb6 netfs: Fix and enable on 64-bit. 2018-11-18 14:37:06 -05:00
Augustin Cavalier
f0d5e5b062 userlandfs: Fix the BeOS frontend on 64-bit. 2018-11-18 14:36:28 -05:00
Alexander von Gluck IV
53ce162d3d Revert "RepositoryRules: Use absolute output path for bootstrap package,mimeset,mimedb"
* Nope.  Double generated directories when bootstrap run from HAIKU_TOP
* Third time's a charm?

This reverts commit 3db452372c.
2018-11-16 20:49:36 -06:00
Alexander von Gluck IV
3db452372c RepositoryRules: Use absolute output path for bootstrap package,mimeset,mimedb
* First re-fix of what was reverted in 85f8e7001
* haikuporter calls these during bootstrap and needs absolute paths

Change-Id: I40f1b15ffd474d3286356f3151eacd9a4a09add2
2018-11-16 20:05:07 -06:00
Augustin Cavalier
a5297c5905 build: Add SYS:NAME attribute to all folders handled by Tracker.
Mail and Deskbar folders are still TODO.
2018-11-15 22:36:35 -05:00
Augustin Cavalier
9283f47bec ImageRules: Fix adding directory attrs.
There is no variable "dir" in this rule, only "directory".
2018-11-15 22:23:06 -05:00
Augustin Cavalier
795f1571b3 Move data/image_directories to src/data/directory_attrs.
These data files are used in the generation of build targets,
so moving them to src/data alongside the package_infos & etc.
makes more sense.

They don't seem to be activated properly though (I added some tracing
to try and figure out why they aren't used but haven't gotten to the
bottom of that yet.)
2018-11-15 21:20:24 -05:00
Augustin Cavalier
ee355c32c7 packages/Haiku: Remove liblocale.so -> libbe.so symlink.
It has not been in /system/develop/lib for a long time, and all
applications have been rebuilt multiple times since PM, so this
isn't needed anymore.
2018-11-15 20:43:42 -05:00
Augustin Cavalier
17640964db build_haiku_image: Remove obsolete copyright concatenator.
All third-party software is now packaged and we ship the licenses
directory.
2018-11-15 20:32:22 -05:00
Augustin Cavalier
1801b9565c BuildSetup: Don't define __x86_64__, GCC/Clang do this automatically. 2018-11-10 14:52:07 -05:00
Augustin Cavalier
d8b0a13568 build_cross_tools: export ACLOCAL to stop GCC from trying to use it.
This should fix the build of the crosstools on Haiku, CentOS, and
other platforms with versions of autofools too old or too new for
GCC 7.
2018-11-10 14:41:55 -05:00
Augustin Cavalier
85f8e70013 Revert "jam: Fix bootstrap via absolutes in LD_LIBRARY_PATH"
This reverts commit 030d0eb58f.

It is absolutely not correct to assume PWD is the generated dir;
it may also be the repository root.

Fixes jam putting some build artifacts in the source tree.
2018-11-04 15:37:31 -05:00
Alexander von Gluck IV
5bd0fbd13a 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
2018-11-04 13:47:50 -06:00
Alexander von Gluck IV
030d0eb58f jam: Fix bootstrap via absolutes in LD_LIBRARY_PATH
* The PWD's are live based on jam run location which means
  they shouldn't bind the generated directory to a fixed path
  as before.
* We also need an absolute LD_LIBRARY PATH since haikuporter
  loses the context invoking host tools.
* I don't think we can run jam from outside of the generated
  directory anymore... but I don't think that was a thing.

Change-Id: I020f902ce5235bf268c9075d6e2ae85296a4ad20
2018-11-04 08:39:01 -06:00
Alexander von Gluck IV
657081f3c6 bootstrap: Fix bootstrap after HAIKU_TOP changes
* haikuporter's cwd is the haikuporter path during execution
  (haikuporter/HaikuPorter)
* We have to pass the full working path and can't use a relative
  path here
* Seems to fix the bootstrap build

Change-Id: Ibb139f164c5e08eda3a08136c4e9ea2c9eaeae9e
2018-11-03 09:43:37 -05:00
Augustin Cavalier
4ee3f16d6a build: Use the absolute path on more instances of build_* scripts. 2018-11-02 23:26:11 -04:00
Augustin Cavalier
68191643b8 build: Add HAIKU_ABSOLUTE_TOP and use it to root BootArchive.
Strictly POSIX-compliant shells (like dash) do not allow sourcing
files in the present directory without "./". The script really should
not know or care about what directory the passed files are in,
so now we add a jam grist to make the passed paths absolute.

Fixes the build on all systems where /bin/sh is dash or a similarly
POSIX-compliant-no-extensions shell (i.e. virtually all Linux.)
2018-11-02 21:46:22 -04:00
Augustin Cavalier
8b4ab45439 BootRules: BuildMBR links as well as compiles, so pass in LINKFLAGS.
Clang builds presently have some magic in it that is required for
linking to work at all.
2018-11-02 21:41:53 -04:00
Adrien Destugues
95e0ce2c0b Add an haiku_extras package.
Curerntly contains support for amiga RDB and Apple (PPC) partitionning systems,
that is, things that might be useful, but not for most users, and was
not part of the default package.

Naming inspired from the Extras disk shipped with Amiga Workbench, for
lack of a better idea.

Change-Id: I57fb229806139939bc019e6c43b0aec7ea1f483a
Reviewed-on: https://review.haiku-os.org/652
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-03 00:43:41 +00:00
Alexander von Gluck IV
d787141342 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
2018-10-28 19:35:14 -05:00
Augustin Cavalier
80abc9a907 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.
2018-10-27 16:57:35 -04:00
Barrett17
de42fb602e Welcome Codec Kit!
* Fix MediaDebug header.
* Add codec lib name mapping.
2018-10-24 16:12:10 +02:00
Barrett17
1275248a77 codec_kit: First half
* Move all codec stuff into libcodec.so
2018-10-24 16:12:03 +02:00
Alexander von Gluck IV
8522edfe36 jam: Ensure common boot LDFLAGS and ASFLAGS get distributed 2018-10-19 08:55:41 -05:00
Alexander von Gluck IV
dd45d433ed 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
2018-10-18 10:49:59 -05:00
Alexander von Gluck IV
59bba8b9ec build: Make EFI opt-out vs opt-in
Change-Id: I94a5692b2e39e45ff843182f43fa757a0549583c
2018-10-17 21:21:47 -05:00
Jessica Hamilton
1f96a3cbde system/boot: Add support for multiple bootloaders 2018-10-17 14:47:46 -05:00
waddlesplash
0dd0b40f89 BuildFeatures: Remove curl buildfeature.
No longer used.

Change-Id: I3a97e18e76da0995f9ab8599b796144c5bc0452c
Reviewed-on: https://review.haiku-os.org/606
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-30 04:33:42 +00:00
waddlesplash
1a7a96606c BuildSetup: Link against -ldl as well as -lm on non-Haiku.
Fixes the build of libpackage_build following Curl dependency removal.

Change-Id: Idd08fc1c099ba19c6b46c447686f36ce0b35652a
Reviewed-on: https://review.haiku-os.org/605
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-30 03:28:44 +00:00
Augustin Cavalier
2627aa0698 HaikuPorts: Update build-packages again to pull in new Mesa. 2018-09-27 00:37:43 -04:00
Augustin Cavalier
b16a18cba6 build: Include extra information in the package version.
Previously only the "effective revision", i.e. the hrev by itself,
was used. Now we include the "commits ahead" count and the "dirty" flag,
if they're there, using _ instead of - of course.

Change-Id: I5238d01926c2cca242bffbdef30bff606a173a06
Reviewed-on: https://review.haiku-os.org/596
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit e7c5d994267fb7d49e3dd50c2854e9b37c9ffca1)
Reviewed-on: https://review.haiku-os.org/597
2018-09-27 03:38:07 +00:00
Augustin Cavalier
36378fb355 DefaultBuildProfiles: Make sure the final CD image is <= 694MB. 2018-09-26 02:45:05 -04:00
Augustin Cavalier
7a382debc3 HaikuPorts: Update the build-packages set. 2018-09-26 02:43:36 -04:00
Augustin Cavalier
d6a1675c00 DefaultBuildProfiles: Without sources, release images fit in 700MB.
We don't want to ship these images as the ones for main distribution,
but at least we can make them available as downloads for those who do want
to use CDs.
2018-09-25 23:05:23 -04:00
Alexander von Gluck IV
85428f0e6b profiles: Bump release to 1100/1300 MiB
* This gives us plenty of space for source packages.
* A Mini-DVD is 1.4 GiB, and USB sticks of 2 GiB are at
  the sweet spot of low-price vs size.
* Unused space will be compressed in release zip.
* We blew by 700 MiB long ago. Sorry CD-R folks.

Change-Id: I3bbe4508777027f6fe7c0ee2992637541feeb88f
2018-09-24 08:59:23 -05:00
waddlesplash
2d9270e859 determine_haiku_revision: Properly get rid of the commit hash.
Change-Id: I3f57b1cd4d819e7f531001d747bf7b103954a918
Reviewed-on: https://review.haiku-os.org/581
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-18 19:50:52 +00:00
Augustin Cavalier
563a1a0da1 determine_haiku_revision: Rework "no tag on HEAD" output.
When HEAD is tagged, the output will be identical to what it was
before (the latest hrev tag and nothing else.) When HEAD is not tagged,
and the most recent tag is further back, we now use a format like this:

hrevXXXXX+N(+dirty)

... where N is the number of commits since hrevXXXXX, and +dirty is added
if the working tree is dirty. This is significantly shorter than the
previous model (as it does not have the Git revision.)

Fixes #14445.

Change-Id: Ide7f66cf0ac1c1f05402afc52b6be3b68b66d6dc
Reviewed-on: https://review.haiku-os.org/566
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-09-16 00:09:14 +00:00
Augustin Cavalier
503d889314 Remove the "Haiku" screensaver from the tree.
As discussed in #14447.
2018-09-10 19:51:02 -04:00
Augustin Cavalier
23446707de ArchitectureRules: Pass -shared to the universally to the linker when using Clang. 2018-09-08 18:56:33 -04:00
waddlesplash
d28caaed68 build_cross_tools: Also touch .in files to prevent their regeneration.
Change-Id: Id893460327fd6db064c6fc0fb4de8e6ada1b1773
Reviewed-on: https://review.haiku-os.org/496
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-08-28 21:27:50 +00:00
Augustin Cavalier
372195500d Versioning: Add BETA_1 and PRE_BETA_2 version constants.
* PRE_BETA_2 is now the default in master.
 * For libbe: R1/alpha4 used internal=8, but nobody bumped master
   at the same time, so now we are on internal=9.
2018-08-28 00:21:13 -04:00
waddlesplash
d34addaf3f build_cross_tools: Compile GCC2 as 32-bit everywhere.
It is just straight up broken on most systems without this, as
the same "cast specifies signature type" appears there too.

Exactly why this fixes the problem does not appear to be any more known
than it was when this was first instated in 2012.
2018-08-27 22:25:18 -04:00
waddlesplash
2cf7d49495 build_cross_tools: Touch configure scripts so the Makefiles don't regenerate them. 2018-08-27 19:06:22 -04:00
Augustin Cavalier
0804aecea1 HaikuPorts: Add lcms, needed by openjp2. 2018-08-27 00:45:29 -04:00
waddlesplash
75f7932ae2 build_cross_tools_gcc4: Forcibly disable maintainer mode.
This should stop GCC from trying to reconfigure.
2018-08-26 22:24:45 -04:00
Augustin Cavalier
b58a151493 build: Link against libgcc_s.so.1 instead of libgcc_s.so.
The latter is not just a symlink to the former, but is a small pseudo-
library that tells the linker to use the .so.1 version instead. As we
do not pass -L to this directory to the linker invocation, the linker
thus cannot find it, and so errors out.

We rightly do not want the linker doing "magic" things for us that
we don't expect, and so even if this one case is fine, we shouldn't
allow the linker to take care of this automatically for us when
it comes to libroot and other core system functionality, especially
as going forward we may indeed add a second libgcc version due to ABI
breaks. Instead, link against .so.1 directly.

Fixes the build breakage caused by the GCC 7 bump.
2018-08-26 13:35:40 -04:00
Augustin Cavalier
5fd406b4c8 HaikuPorts: Add OpenJPEG to the build packages set.
We now build libicns against it. It seems that it is better-maintained than
JasPer, so we should probably consider switching the JPEG2000Translator to
use it also.
2018-08-26 12:44:29 -04:00
Augustin Cavalier
7d5faaf44f OptionalPackages: Remove some of the less-useful devel packages.
ffmpeg_devel pulls in some other devel packages we don't really need,
and very few things are built against it anyway, so whoever needs it
can install it manually. Same goes for freetype and fontconfig.
2018-08-26 12:33:36 -04:00
Augustin Cavalier
21909dacd2 HaikuPorts: Update build-packages set. 2018-08-26 01:29:35 -04:00
Augustin Cavalier
9b41d53230 HaikuSource: Add missing SEARCH. 2018-08-23 20:11:49 -04:00
Augustin Cavalier
a41d815c67 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.
2018-08-22 19:19:56 -04:00
Augustin Cavalier
e0d28cdccf reiserfs: Fix the build and enable on x86_64. 2018-08-22 19:19:54 -04:00
Augustin Cavalier
d37ae86568 LocaleRules: Add a second version of the catalog extraction actions.
Clang behaves slightly differently than GCC and allows us to steamroll
some errors we don't care about that GCC does not.
2018-08-21 20:52:41 -04:00
noreply@haiku-os.org
5174b9e8d1 Revert "Update translations from Pootle"
This reverts commit 6b7f260899.
2018-08-21 17:58:13 +00:00
Autocomitter
6b7f260899 Update translations from Pootle 2018-08-21 14:12:05 +00:00
Augustin Cavalier
c20e7a6862 build: Add a haiku_source package.
This contains the contents of Haiku's sources, which is necessary
to include in "with source" builds for proper (L)GPL compliance,
mostly because we have GPL code in the tree.
2018-08-20 21:00:25 -04:00
Augustin Cavalier
28ab14e35f MainBuildRules: Use $(CC) -E instead of "cpp" as the preprocessor.
"cpp" is the system C preprocessor, not the one from our cross-compiler,
and in the case of my system which does not have GCC installed at all,
it doesn't even exist.

With this, Clang-ARM builds successfully create a "haiku-arm.mmc".
I couldn't get it to output, even after blessing it with "rune",
but that may just be my fault...
2018-08-17 21:54:56 -04:00
Augustin Cavalier
bd43e4ae23 ArchitectureRules: Add -fPIC and fix warning flags for Clang. 2018-08-17 12:03:53 -04:00
Alexander von Gluck IV
816a311dd7 build/clang: Use elf_i386 under clang for 32-bit bootloader
Change-Id: If4606e62e94b9d4e393a667d35c09b9471b66653
2018-08-17 10:17:27 -05:00
Augustin Cavalier
8bc13c5528 BuildSetup: Default HOST_C++ and HOST_LINK to HOST_CC.
Now that HOST_CC is actually passed in, we need to default
everything to it; otherwise, it's up to the Jambase as to
what CC we are actually using.

Found by trying to build Haiku on a system that has no "cc"
executable, but Jam tried to use it anyway (as all three of CC,
C++, and LINK.)
2018-08-15 14:41:40 -04:00
Augustin Cavalier
252e4f6299 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.
2018-08-15 14:19:30 -04:00
Augustin Cavalier
937314e526 ArchitectureRules: Enable --no-undefined on GCC2.
Seems to work just fine.
2018-08-14 13:54:36 -04:00
Augustin Cavalier
4c13d20c24 LocaleRules: Pass the files to the preprocessor instead of piping it in.
This rule process the entire target's source files at once, and so
whoever wrote this rule in the first place (PulkoMandy?) probably
assumed without even testing that "cc -E" would create multiple
outputs for multiple inputs.

It doesn't, though: it just outputs them in sequence on the command line
the same way it does when the files are piped in through "cat". This
also has other advantages (e.g. preprocess errors caused by the compiler
assuming it was C not C++ code and so not defining __cplusplus, local
includes are now resolved properly, etc.)

Doing it this way does exposes other problems like the one fixed in the
previous commit (headers with no context defined, which worked previously
only because they used the context of the preceding `cat`'ed file.)

We now also remove the .pre file after collecting the catkeys.
2018-08-13 17:00:16 -04:00
Augustin Cavalier
20c61bb7a4 Revert unrelated changes from previous commit.
I should have read the update script more closely as to
how it added changes for committing...
2018-08-13 15:58:01 -04:00
Autocomitter
ef9994ee77 Update translations from Pootle 2018-08-13 19:45:39 +00:00
Augustin Cavalier
b8a38e2bc1 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.
2018-08-11 15:36:04 -04:00
Augustin Cavalier
e823d3f06f BeOSRules: Pass CCFLAGS through to the compiler during ResComp.
Otherwise, Clang warns that we haven't set an architecture on ARM,
which is set in CCFLAGS. Since these might also contain other flags
that affect the preprocessor, there isn't any good reason to not
pass it through, so do that.
2018-08-11 15:33:08 -04:00
Augustin Cavalier
d0bfb2c044 ArchitectureRules: Append Clang flags before potential early-exit.
Gets the Clang-ARM build a bit further into libroot.
2018-08-11 15:26:54 -04:00
Augustin Cavalier
47a96c099e MainBuildRules: Fix CreateAsmStructOffsetsHeader on recent Clang.
It seems that at on some platforms at least, Clang uses @define instead
of #define, but with functionally identical syntax, so use sed to
process it as such.
2018-08-11 15:20:30 -04:00
Augustin Cavalier
cf10fee2c1 ArchitectureRules: Pass -march / -mcpu flags to the assembler also.
Fixes #14317.
2018-08-11 15:18:36 -04:00
Alexander von Gluck IV
459da273e4 build_packages: Now update arm and ppc after hardlinks (oops)
Change-Id: I2140dc50fb1cedcede317deb1a3473ec4db7871c
2018-08-08 10:27:49 -05:00
Alexander von Gluck IV
dc6b314309 build_packages: add efi for ppc and arm for fun
Change-Id: I81575e9f96d9682d17d5badd83808baaba4a7c69
2018-08-08 10:21:34 -05:00
Alexander von Gluck IV
3718fb861d efi: Drop x86_64 assumptions.
Change-Id: I3d806f43ef951013369fd0bf906eca5977e8d34c
2018-08-08 10:18:06 -05:00
Alexander von Gluck IV
a0f7292802 efi: no-red-zone and accumulate-outgoing-args only x86
Change-Id: Ic9d94298d21e55beb2829be8dbd09f4b3d5db99a
2018-08-08 10:10:37 -05:00
Alexander von Gluck IV
38fc668b2e arm64: Add architecture rules
Change-Id: Ia9cbe77e810b3ab1bde5677a16cc2fbd931de965
2018-08-03 09:55:49 -05:00
Augustin Cavalier
0689d8ddb8 BuildSetup: aarch64 -> arm64. 2018-08-02 20:04:19 -04:00
Augustin Cavalier
c44472c541 Enable use of Clang's integrated assembler. 2018-08-01 19:09:22 -04:00