Go to file
deadwood 01e8a8a74a Remove freeing unassigned variable
This variable was used in previous versions of code and was not cleaned
up when changes were made.
2024-05-26 16:18:59 +02:00
arch Add task.resource to kernel - this is a necessary component 2024-05-03 09:39:34 +02:00
boot mmakefile*: header fixes 2021-05-02 13:52:04 +02:00
bootstrap a bit more casting gymnastics to also satisfy codecy (void * arithmetic) 2024-04-23 16:36:39 +02:00
compiler update the boost preprocessor lib to version 1.82.0 2024-05-02 17:42:59 +02:00
config provide definitions for the top level AROS dir name, and commodities 2024-05-02 18:38:20 +02:00
developer add an additional source for the freetype demos 2024-05-03 09:38:03 +02:00
external recognize riscv as a cpu model 2024-05-02 15:49:58 +02:00
images add a default icon for Unknown Devices 2024-05-03 09:34:27 +02:00
rom 2023 -> 2024 2024-05-03 09:39:34 +02:00
scripts 2023 -> 2024 2024-05-03 09:39:34 +02:00
tools gcc-6.5.0-aros.diff: Fix cross-compilation on Darwin/arm64 2024-05-03 09:39:34 +02:00
workbench Remove freeing unassigned variable 2024-05-26 16:18:59 +02:00
.gitattributes dont use working-tree-encoding, just use encoding 2020-04-26 15:20:31 +02:00
.gitignore Update gitignore 2023-04-03 13:29:52 +02:00
.gitmodules Delete the posix.1 submodule 2020-05-09 16:07:59 +02:00
ACKNOWLEDGEMENTS
CONTRIBUTING.md Update contributing rules. 2023-02-26 09:58:09 +01:00
INSTALL.md Add information on using cross-compiler outside of build system 2023-02-02 19:00:48 +01:00
LEGAL
LICENSE
LICENSE.Author Provide additional licenses to all of my changes. 2017-04-02 12:53:42 +00:00
LICENSE.GPL
LICENSE.LGPL
Makefile.in use wildcard to check for the file - otherwise make tries to generate it, even with the "-" 2024-05-02 16:06:55 +02:00
README.md Change URL for AROS-M68K downloads 2023-03-20 19:21:22 +01:00
acinclude.m4 use absolute path's to the tools. 2019-04-14 19:01:57 +00:00
aclocal.m4 import support macros for using Python, and detect if mako templates have been installed. 2021-05-01 21:37:30 +02:00
configure add riscv to the configure targets. adjust the distfiles-quick to properly support variants, and fix mmakefile's quick targets. addjust headers to support riscv. 2024-05-02 15:55:18 +02:00
configure.in add riscv to the configure targets. adjust the distfiles-quick to properly support variants, and fix mmakefile's quick targets. addjust headers to support riscv. 2024-05-02 15:55:18 +02:00
license.html
mmake.config.in # add the .git and .github dirs to metamakes ignoredirs # detect if aros is built in the source tree and display a warning in configure. detect if it is build in a sub-directory of the source tree and add that directory to metamakes ignoredirs. 2022-06-24 10:32:49 +02:00
mmakefile mmakefile*: header fixes 2021-05-02 13:52:04 +02:00

README.md

Core

branch target description how to build download
master linux-x86_64 Stable and always backwards compatible hosted version, code-named ABIv11 Core ABIv11
master amiga-m68k Amiga replacement ROM and system software Core M68K

Backwards compatibility

From system developer's point of view backwards compatibility is defined on a set of components below.

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

From application developer's point of view backwards compatibility is defined as follow: As long as your application only uses components marked as YES, maintainter of Core guarantees that your application will always run while the system will continue evolving and changing its components. In case you notice that compatibility has been broken, please contact the maintainer and the situation will be amended.

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

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.