From 6b6b467a175c64edc69d8943b27b75dfec5f6e03 Mon Sep 17 00:00:00 2001 From: Vittorio Romeo Date: Tue, 13 Dec 2016 22:19:47 +0000 Subject: [PATCH 1/4] Only install packages if required on Arch Linux --- etc/install_build_requirements.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/install_build_requirements.sh b/etc/install_build_requirements.sh index 2813a5b25b..4649af588b 100755 --- a/etc/install_build_requirements.sh +++ b/etc/install_build_requirements.sh @@ -42,7 +42,7 @@ case $SYSTEM in echo ">>> Installing dependencies (requires sudo):" echo " Packages: $DEPENDENCIES" sudo pacman -Syyu - sudo pacman -S $DEPENDENCIES + sudo pacman --needed -S $DEPENDENCIES exit 0; ;; esac From d1b958d6241581968358128ca588632aa093ce34 Mon Sep 17 00:00:00 2001 From: Vittorio Romeo Date: Tue, 13 Dec 2016 22:45:05 +0000 Subject: [PATCH 2/4] Add 'command -v clang' fallback for systems without 'clang-3.8' or 'clang-3.6' --- src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 2e773a69aa..a5cd4fead8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -37,7 +37,7 @@ INC_NEWLIB=$(INSTALL)/newlib/include # Compiler/Linker ################################################### -CC = $(shell command -v clang-3.8 || command -v clang-3.6) +CC = $(shell command -v clang-3.8 || command -v clang-3.6 || command -v clang) CPP = $(shell command -v clang++-3.8 || command -v clang++-3.6 || command -v clang++) # Set defaults if not defined ifndef AR_INC From c2ec70305fad0e11511a71acdc5c78e776da8977 Mon Sep 17 00:00:00 2001 From: Alfred Bratterud Date: Fri, 23 Dec 2016 09:13:27 +0000 Subject: [PATCH 3/4] Readme: update version badge. NOTE: it's still just a release candidate --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 29d7290f54..bc24a6760f 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ The build system will: IncludeOS is free software, with "no warranties or restrictions of any kind". -[![Early Prototype](https://img.shields.io/badge/IncludeOS-v0.8.1-yellow.svg)](https://github.com/hioa-cs/IncludeOS/releases) +[![Early Prototype](https://img.shields.io/badge/IncludeOS-v0.10.0-yellow.svg)](https://github.com/hioa-cs/IncludeOS/releases) [![Apache v2.0](https://img.shields.io/badge/license-Apache%20v2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![Join the chat at https://gitter.im/hioa-cs/IncludeOS](https://badges.gitter.im/hioa-cs/IncludeOS.svg)](https://gitter.im/hioa-cs/IncludeOS?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) From 19a65ca49e405c020a6bb02664328dbd5374fa36 Mon Sep 17 00:00:00 2001 From: Alfred Bratterud Date: Mon, 30 Jan 2017 14:24:17 +0000 Subject: [PATCH 4/4] some posix documentation / guidelines --- api/posix/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 api/posix/README.md diff --git a/api/posix/README.md b/api/posix/README.md new file mode 100644 index 0000000000..ef0216d24b --- /dev/null +++ b/api/posix/README.md @@ -0,0 +1,11 @@ +# IncludeOS POSIX extensions + +IncludeOS intends to provide a POSIX interface suffucient for linking and running many conventional C libraries and programs. A lot of the POSIX functionality will be header-only stubs and some of it is provided externally by e.g. the compiler or standard library. + +### Other providers of POSIX content +* *newlib*: is our current C library which also provides many POSIX features (indeed the C standard itself overlaps with POSIX). Newlib provides most of the C standard library, including `stdlib.h`, `stdio.h`, `math.h` etc., but is mising some C11 extensions. Those are rarely used and provided here as stubs. +* *clang*: Clang provides a few POSIX headers such as `stddef.h`, `stdarg.h` and `limits.h`. It also provides compiler intrinsics such as `x86intrin.h`. When building IncludeOS we use the `-nostdlibinc` flag to allow inclusion of these headers, without including the standard library headers from the host. + +### Guidelines for this folder +* Only actually standardized POSIX content should live here, and only content not allready provided by alternative sources above. +* Extensions to POSIX headers that IncludeOS needs, but which isn't present on one of the supportet platforms (e.g. macOS or Linux) should not live here, since we'd like to be able to build directly on those platforms with their respective POSIX implementations. As an example, our syslog implementation defines `LOG_INTERNAL` in addition to `LOG_MAIL` etc. While defining this symbol in the `syslog.h` POSIX header is allowed by the standard it introduces an implicit expectation in IncludeOS application code making it less portable. Such extensions can be placed in the IncludeOS API instead.