Commit Graph

4491 Commits

Author SHA1 Message Date
Devin Gillman
6a9e72b0d3 BuildSetup: Added HomeBrew Apple Silicon paths.
Addresses issue here: https://discuss.haiku-os.org/t/building-on-macos-cannot-find-zstd-h/14489/4

And the differences are called out on the install page here: https://docs.brew.sh/Installation

Cleanups by waddlesplash: put the new paths in their own 'block'
and adjust comments.

Change-Id: Ie00fbc07abae141d8ac0580dd661a2fc3cf7a216
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8732
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-30 17:06:31 +00:00
Alexander von Gluck
33beece770 jam/BuildSetup: Gracefully handle arm64, riscv HOST_CPU
* HOST_CPU was getting set to "" on arm64 host builds of
  Haiku which resulted in varying host tool directories
  objects/linux/x86_64/release vs objects/linux/release
* This captures the changes in buildtools abcf50c2 which
  adds proper arm 64, and riscv 32/64 OSPLAT definitions

Change-Id: Ife768fe3e4b1f90748b8f09afd632d4cd9c87d2d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8720
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-27 15:29:12 +00:00
Augustin Cavalier
ce14c3c0f1 build: Remove the profile from the JAM_TARGETS.
The DefineBuildProfile logic implicitly removes it later on
when it replaces JAM_TARGETS entirely. But in some cases it
may not do that, and so if we want it to be removed in all cases,
we have to do that here.

Fixes commands like "jam -q -jN @nightly-anyboot haiku.hpkg"
giving a "don't know how to make @nightly-anyboot" message.
2024-12-23 15:54:49 -05:00
Augustin Cavalier
1aabdb2b8d build: De-indent CommandLineArguments.
If no targets are specified, exit with an error. But this should
never happen, since jam implicitly specifies "all" even if
nothing specific is given.
2024-12-23 15:52:30 -05:00
Augustin Cavalier
8b67e745eb build: Add check that a value was specified in SetConfigVar.
e.g. if one merely has "SetConfigVar DEBUG : HAIKU_TOP src system kernel ;"
this won't actually set a value for DEBUG, and thus it won't use one
of the pre-set debug objects directories, and so all the objects will
wind up in the root of wherever jam is run.
2024-12-23 15:33:03 -05:00
PulkoMandy
1b6f159e88 neomagic: enable -Werror, fix compiler warnings
Change-Id: I176a316c6cb18d3684cf6166c4a2fe74f816d0d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8702
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-12-22 14:27:47 +00:00
PulkoMandy
1fd7b2f396 3dfx driver: enable -Werror and fix warnings
Change-Id: I8278dab0456dbad86c27e483fcb91a9c21d3f517
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8701
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2024-12-22 14:27:47 +00:00
PulkoMandy
a4d7ac5b5f ArchitectureRules: enable -Werror for more video drivers
Change-Id: I446716f1b767f390dc589715f8bd41f50de325f2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8699
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-12-22 08:38:02 +00:00
Anarchos
4d3a68fb7d netboot: bump size for tar decompression
Add network add-ons drivers to the archive for x86_64 architecture too.

Change-Id: I8296586d5f2b1f3d4c08250e28aefd32428b21b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8522
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2024-12-21 07:46:10 +00:00
Augustin Cavalier
6e1bd12f74 locked_pool: Delete.
The SCSI module was the only thing using it, and now it isn't
used at all.
2024-11-05 14:05:04 -05:00
Augustin Cavalier
a0e3665350 HaikuPortsCross/x86: Synchronize. 2024-10-18 16:07:44 -04:00
Augustin Cavalier
a740e21b6b HaikuPortsCross: Drop libsolv_bootstrap.
It isn't used anymore, libsolv is vendored in-tree.
2024-10-18 16:04:57 -04:00
Augustin Cavalier
724227e017 intel_cstates: Rename to x86_cstates.
It works just fine on modern AMD CPUs, too.
2024-10-17 13:55:33 -04:00
Jessica Hamilton
7c6ab83094 configure: detect supported retry flags for wget.
Some systems may be using wget2 symlinked to wget (Fedora,
currently), which doesn't support --retry-on-host-error.

Change-Id: I9fac080e7ac1cc4c39a03f6c27e9c42f8697ecff
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8336
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2024-10-14 11:01:19 +00:00
Augustin Cavalier
6e690f7d11 drivers/network: Rename "vmx" to "vmxnet" and clean up glue. 2024-10-09 13:40:20 -04:00
CodeforEvolution
48d27198d0 vmx: Introduce VMXNET3 Network Driver from FreeBSD 14.1
Tested with VMWare Workstation Pro 17.6.0 with Haiku x86_64 hrev58201.
To test, had to manually open the .vmx file associated with the VM and added the line:
ethernet0.virtualDev = "vmxnet3"

Change-Id: Ic76dcc61583707345bee46624814a38f66eb4f9f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8438
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-10-08 12:16:49 +00:00
Augustin Cavalier
d0ff5bacff ArchitectureRules: Reinstate the -fno-builtin-fork for 32-bit x86 only. 2024-09-24 14:47:27 -04:00
Augustin Cavalier
c289d46cf1 ArchitectureRules: Cleanups to base flags.
* Trim down comment about fno-delete-null-pointer-checks.

 * Remove -fno-builtin-fork -fno-builtin-vfork, they don't seem
   to be needed with GCC 13.

 * Remove legacy-GCC settings from kernel flags, as we don't use
   legacy-GCC there anymore. Also drop fno-builtin as ffreestanding
   implies this.
2024-09-24 13:51:22 -04:00
Augustin Cavalier
b47e8b0cad build: Unify BeOS ABI compatibility ifdefs around __HAIKU_BEOS_COMPATIBLE.
_BEOS_R5_COMPATIBLE_ was defined in ArchitectureRules while
__HAIKU_BEOS_COMPATIBLE is defined in HaikuConfig.h (which is
in the include path for sys/types, SupportDefs, and other
base headers.)
2024-09-24 12:09:33 -04:00
Adrien Destugues
6d3408c82f Add Wonderbrush to release for all architectures
Previously wonderbrush was closed source and only available for 32bit
x86, but that is not the case anymore.

Fixes #19093

Change-Id: I05a34f7aaf82ea7cc2f65b7cbd39eeaf222d6143
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8351
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-09-20 17:46:07 +00:00
Augustin Cavalier
a5dbc9f81c HaikuPorts: Synchronize. 2024-09-10 23:21:22 -04:00
Augustin Cavalier
0ef833e5e8 build: Only add haiku_source to package repository if HAIKU_INCLUDE_SOURCES is set.
This way, we won't build the source package unnecessarily for
nightly images when it isn't included in the build.
2024-09-02 15:59:58 -04:00
Adrien Destugues
64b7d332ba Add a note about why some parts of the code are not built with -Werror. 2024-08-27 13:08:06 +02:00
Adrien Destugues
4cce55e112 Revert "ArchitectureRules: Remove lines for -Werror for FreeBSD drivers."
This reverts commit 946839b850.

Keeping these allow to keep track of why Werror is not enabled for the
entire network drivers subdirectory.
2024-08-27 13:01:59 +02:00
Augustin Cavalier
946839b850 ArchitectureRules: Remove lines for -Werror for FreeBSD drivers.
This is imported code from FreeBSD; using -Werror here doesn't make much
sense. Most of the lines were commented out anyway.

Lines for native drivers left alone, of course.
2024-08-24 13:57:04 -04:00
Augustin Cavalier
90b84ff209 ArchitectureRules: Cleanup and adjustments for Clang.
* Clang -target *haiku* now properly sets -fPIC and -shared.

 * Clang now understands -fno-semantic-interposition.

 * Add necessary LINKFLAGS for the kernel to get only 2 LOAD segments.

 * Remove workaround to remove -fPIC from the BOOT flags now that
   we don't inject it.

It is now possible (with a few minor hacks) to build a full system
image with Clang + LLD. The BIOS loader crashes on startup however, but
using a GCC-built BIOS loader, the system can boot all the way to the
desktop.
2024-08-24 12:38:04 -04:00
Augustin Cavalier
d998a69e4d ArchitectureRules: Add two more -Wno to Clang warnings setup.
These generate too much spam.
2024-08-24 01:44:42 -04:00
John Scipione
55e018dcb8 DefaultBuildProfiles: Increase nightly image size to 650MB
... up from 600MB because we need a bit more space for swap in the
live environment for 3d apps.

Fixes #18986

Change-Id: Ie8ba03c2fb65d02f1c26609d78101ee355d65630
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8085
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-08-21 17:17:57 +00:00
Jérôme Duval
1512c9d2f3 Add the linprog headers to the haiku_devel package.
these are required by libalm headers

Change-Id: I7eb0164383ca919f0ede72952759a85a66a88c70
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8086
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
2024-08-21 17:17:43 +00:00
Alexander von Gluck
f5db9be04a
HaikuPorts/riscv64: Update, openssl3, libssh2, nghttp2, etc
Change-Id: I8a56aa43f767a8b049ea3a6275f2265fb14b57e2
2024-08-16 19:44:09 -05:00
Augustin Cavalier
a26c33bd97 DefaultBuildProfiles: We now have Python 3.10.
Change-Id: I848dfecf13409e642e642e1538f74debe144f72b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8010
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit fbd5066b1a)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8023
2024-08-13 00:10:46 +00:00
Augustin Cavalier
72be912bae BuildFeatures: Don't specify libtiff SOVERSION.
Let the compiler figure it out.
2024-08-12 16:47:41 -04:00
X512
ebe72d868b build: put each package build entry to separate line, adjust code style
Change-Id: Ib682fc276a08131e69fcdaa2cdba8c22d9e54a1a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8004
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
2024-08-12 20:40:07 +00:00
Augustin Cavalier
427d0b067b HaikuPorts: Synchronize. 2024-08-12 16:31:27 -04:00
Augustin Cavalier
dad66ad308 OptionalPackages: Re-add perl. 2024-08-11 00:05:33 -04:00
Augustin Cavalier
39d510f7dd HaikuPorts/x86_gcc2: Synchronize.
Still TODO: libtiff.
2024-08-10 17:35:12 -04:00
Augustin Cavalier
050c34d5d1 Updates in preparation for package sync on gcc2h. 2024-08-10 17:34:55 -04:00
Augustin Cavalier
7dea48f378 HaikuPorts/x86_64: Synchronize.
Includes OpenSSL 3.0, Python 3.10, and more.
2024-08-09 22:49:52 -04:00
Augustin Cavalier
101769a583 BuildFeatures: Updates for libtiff >= 6.0. 2024-08-09 22:49:51 -04:00
PulkoMandy
0ea56347bd Update to OpenSSL 3.
- Rename the package in Jamfiles as appropriate (but don't rename the
  build feature)

- Remove libnetapi SSL class (not needed anymore, OpenSSL now knows how
  to use pthread functions directly and seed its random generator)

- Rename or remove a few other deprecated functions

Change-Id: I624833923e113a8235932d7ce8020bf27c6e2ea6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7717
2024-08-09 22:49:51 -04:00
X512
e2c588b594 build: put each image build target to separate line
It helps to simplify to view difference and apply patches.

No functional changes.

Change-Id: Ia29368eceaeb3306990c09da77c4527eff87c72a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7932
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 16:21:35 +00:00
Augustin Cavalier
a1d79e238e Versioning: Add BETA_5 and PRE_BETA_6 version constants.
* PRE_BETA_6 is now the default in master.
2024-08-08 10:42:41 -04:00
Augustin Cavalier
bc2428853f Switch to using the vendored libsolv.
Package dependency resolution seems to still be working OK.
2024-07-27 16:57:40 -04:00
Augustin Cavalier
0bbef5d79f configure: Remove support for HOST_CC_IS_LEGACY_GCC.
Add an error message if it's detected to be such, and
remove all the build machinery related to it.

Fixes #18935.
2024-07-24 21:33:57 -04:00
PulkoMandy
2d24dd2184 Synchronize PowerPC HaikuPortsCross repo definition with actual repository state 2024-07-20 23:30:04 +02:00
PulkoMandy
9d09763865 Create source packages during bootstrap
This used to be the default in haikuporter, but it isn't anymore. This
resulted in source packages (which are needed for bootstrap) not being
generated.
2024-07-20 23:27:50 +02:00
Augustin Cavalier
48c3343960 EXRTranslator: Remove from the tree.
It's now at HaikuArchives and supplied in a package at HaikuPorts.
EXR images are rare and mostly used in pretty specific cases, so it
isn't re-added to the default install.

Catalogs are left in-tree until they are purged from Pootle.

Change-Id: I54e478a30e02bdefd1b8fa53c4b66d84ffb04185
2024-07-11 11:02:28 -04:00
Diego Roux
8b32e9b4ac virtio_sound: setting up driver to be loaded.
Change-Id: I25c99e3e06e52448968bd8210b2f0599d129a7bb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7776
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-06-13 08:05:17 +00:00
Augustin Cavalier
bb83316a58 L2CAP: Major refactor of the whole component.
(And surrounding portions of the "btCoreData" module.)

 * Rewrote the main "l2cap.h" header representing protocol constants
   and structures. Now conforms to general Haiku naming conventions
   rather than BSD ones. Some more constants added/removed based
   on the most recent Bluetooth specification.

 * Rewrote all code derived from the BSDs to match Haiku conventions
   and structures in the driver.

 * Dropped the "channel" and "frame" structures from "btCoreData".
   Channels are now managed by L2capEndpoints, and "frames" are
   now just plain net_buffers without surrounding structures.
   This also makes state management much simpler.

 * Made it so that actual net_buffers are passed through to the
   l2cap_receive function rather than another data structure.
   A fake interface address is used to communicate connection
   information. (This probably ought to be changed, though.)

 * Get rid of l2cap_lower and l2cap_upper abstractions.
   Everything related to channel/endpoint management is now
   done in L2capEndpoint, while buffer reception is handled
   directly in l2cap_receive and elsewhere, same as other drivers.

 * Wire up more hooks and fix module flags (needed to be able to
   get the module loaded and opening sockets at all.)

 * Implement an actual locking strategy in L2capEndpoint
   and HciConnection. There's still problems with lifetime
   management, but at least thread-safety is mostly handled.

 * Create an L2capEndpointManager and use it to manage
   the endpoints, rather than having a single (unsafe)
   linked-list.

And plenty of other refactorings and cleanups besides.
There's still more to be done for Bluetooth overall, though:

 * The "btCoreData" and "hci" modules also badly need a major
   overhaul, and should be merged into a single "bluetooth"
   bus_manager. They also shouldn't be passing around pointers
   to other modules like this.

 * There's a number of TODOs/FIXMEs in the L2CAP module, most
   notably around timeouts (especially command timeouts) and
   parameter validation/specification.

Tested by myself with kallisti5's help. Incoming connections
(on the PSM for SDP) get all the way to the latter half
of the Configuration step before hanging.
2024-05-01 00:25:43 -04:00
PulkoMandy
5ea01a50c2 cmedia: enable -Werror
Errors are now enabled for all audio drivers.

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