Go to file
deadwood da0fa5b67e Use Mingw64 toolchain also for 32bit 2020-12-18 17:36:11 +01:00
arch Add more debug statements 2020-12-18 17:35:57 +01:00
boot
bootstrap handle R_X86_64_PC64 relocations (llvm generates them) 2020-04-26 19:46:32 +02:00
compiler Move spinlock_s.h to private SDK 2020-12-01 11:39:06 +01:00
config Introduce .deprecated attribute 2020-12-03 22:27:41 +01:00
developer Forward compatibility: Mark Procure/Vacate as private 2020-12-06 11:39:42 +01:00
external Don't copy inline4, interfaces and ppcinline includes on AROS 2020-11-22 13:53:50 +01:00
images Rename Developer -> Development 2020-11-22 14:29:04 +01:00
rom Forward compatibility: Mark Disable/Enable/Forbid/Permit as deprecated 2020-12-06 11:41:31 +01:00
scripts Move binary compatible amiga build to an Alternative 2020-12-06 12:06:46 +01:00
tools Introduce .deprecated attribute 2020-12-03 22:27:41 +01:00
workbench Move diskimage.device internal linklibs to separate buildsdk 2020-12-15 08:23:49 +01:00
.gitattributes dont use working-tree-encoding, just use encoding 2020-04-26 15:20:31 +02:00
.gitignore add config/autom4te.cache to gitignore 2020-04-26 18:16:53 +02:00
.gitmodules Delete the posix.1 submodule 2020-05-09 16:07:59 +02:00
ACKNOWLEDGEMENTS
INSTALL.md Add cmake to dependencies 2020-11-30 21:01:00 +01:00
LEGAL
LICENSE
LICENSE.Author
LICENSE.GPL
LICENSE.LGPL
Makefile.in Move aros/config.h to config SDK 2020-11-24 11:23:40 +01:00
README.md Add links to repository branches for Core and Alternatives 2020-12-06 12:08:06 +01:00
_gdbinit
acinclude.m4
aclocal.m4
configure Use Mingw64 toolchain also for 32bit 2020-12-18 17:36:11 +01:00
configure.in Use Mingw64 toolchain also for 32bit 2020-12-18 17:36:11 +01:00
license.html
make.defaults
mmake.config.in
mmakefile

README.md

Core

branch target description how to build download
master linux-x86_64 Stable and always backwards compatible hosted version Core Core

Backwards compatibility

component kept stable
Application Binary Interface (ABI) YES
OS 3.1 API (examples: exec.library, input.device) YES
3rd party public libraries API (example: muimaster.library) YES
Classes, gadgets, datatypes API (examples: png.dataype) YES
AROS driver system (HIDD, oop.library) NO
AROS kernel components (example: kernel.resource) NO

Alternatives

branch target description how to build download
alt-runtime runtimelinux-x86_64 AxRuntime for Linux x86_64 AxRuntime AxRuntime
alt-abiv0 pc-i386 ABI_V0 version of native 32-bit AROS ABIv0 ABIv0
alt-bincompat amiga-m68k Amiga replacement ROM and system software Amiga Amiga

Relation between Core and Alternatives

The separation between Core and Alternatives has been introduced to allow different, sometimes diverging views and usages of AROS to co-exist and contribute to common base.

Core is defined as the base for all projects. Core defines a few targets which are preserved at each commit.

Alternatives can use two mechanisms to implement their changes:

  • arch mechanism of AROS build system which allows overwriting implementation on file basis and keeping the overwrites in master branch
  • periodically rebased git branches mechanism for changes that modify the base files and would break the Core targets

Every Alternative needs to have at minimum a branch starting with alt- even if all changes are done via arch mechanism. On that branch README.md file should be modified to describe the Alternative. Checking out this branch should allow anyone to build a working version of the Alternative.

Responsibilities

Every commit made to Core targets is required to preserve backwards compatibility. Maintainer of the Core targets reserves the right to revert a commit or ask for it to be moved to an Alternative branch.

Maintainers of Alternatives are responsible for adjusting their projects to changes happening in Core.

Maintainer of Core is responsible to keeping the number of wide-spread changes controlled, possibly batching them when needed and communicating to maintainers of Alternatives in advanced.