Go to file
Kalamatee 8990a9709f strip the unwanted darwin paths in configure. 2021-05-01 22:34:27 +02:00
arch replace the broken grub legacy target with a patch and use the fetch macros to apply it. 2021-05-01 13:59:32 +02:00
boot build test as part of the boot target 2021-05-01 12:00:09 +02:00
bootstrap
compiler adapt the ForeachNode macros so they can be used in c++. 2021-05-01 22:31:37 +02:00
config dont set CMAKE_BUILD_TYPE for host builds, if a value has already been specified in the mmakefile.src options for the template. 2021-05-01 22:33:02 +02:00
developer make sure sse is set for the c++ compilation also. 2021-05-01 22:19:07 +02:00
external
images add an icon for the Wallpapers directory 2021-05-01 22:31:38 +02:00
rom bump the copyright year (seems to have been missed by the script) 2021-05-01 22:19:07 +02:00
scripts suppress messages if the directory doesn't exist. 2021-05-01 22:30:19 +02:00
tools Only use MinSizeRel on nightly builds. Use shared libraries only if not compiling on AROS, and use llvm dylib on the nightly hosts. 2021-05-01 22:33:02 +02:00
workbench correctly escape the copyright and at symbols - the current behaviour breaks the following catcomp array offsets, resulting in the GUI app crashing on x86_64 2021-05-01 22:31:38 +02:00
.gitattributes
.gitignore
.gitmodules
ACKNOWLEDGEMENTS
CONTRIBUTING.md
INSTALL.md
LEGAL
LICENSE
LICENSE.Author
LICENSE.GPL
LICENSE.LGPL
Makefile.in update adflib to version 0.7.12 based on the official code at https://github.com/lclevy/ADFlib disable a broken function that performs a null pointer access (and is unused), fix function overloads so the compiler doesnt complain about ISO C forbidding assignments between void * and function pointers. 2021-05-01 22:30:19 +02:00
README.md
_gdbinit
acinclude.m4
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 strip the unwanted darwin paths in configure. 2021-05-01 22:34:27 +02:00
configure.in strip the unwanted darwin paths in configure. 2021-05-01 22:34:27 +02:00
license.html
make.defaults
mmake.config.in
mmakefile remove test from the top level "AROS" target 2021-05-01 12:00:09 +02:00

README.md

Core

branch target description how to build download
master linux-x86_64 Stable and always backwards compatible hosted version Core Core
master amiga-m68k Amiga replacement ROM and system software 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

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.