the same license as bash, while the patches and scripts to build python are licensed
under the same license as python).
-Build environment on Ubuntu 16.04
+Build environment on Ubuntu 16.10
=================================
-Packages are built using Ubuntu 16.04. Perform the following steps to configure a Ubuntu 16.04 installation:
+Packages are normally built using Ubuntu 16.10. Perform the following steps to configure a Ubuntu 16.10 installation:
- Run `scripts/setup-ubuntu.sh` to install required packages and setup the `/data/` folder.
- Run `scripts/setup-android-sdk.sh` to install the Android SDK and NDK at `$HOME/lib/android-{sdk,ndk}`.
+There is also a [Vagrantfile](scripts/Vagrantfile) available for setting up an Ubuntu environment using a virtual machine on other operating systems.
+
Build environment using Docker
==============================
-On other Linux distributions than Ubuntu 16.04 (or on other platforms than Linux) the best course
+On other Linux distributions than Ubuntu 16.10 (or on other platforms than Linux) the best course
of action is to setup a Docker container for building packages by executing:
./scripts/run-docker.sh
=========
* [Android changes for NDK developers](https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md)
-* [Linux From Scratch](http://www.linuxfromscratch.org/blfs/view/svn/index.html)
+* [Linux From Scratch](http://www.linuxfromscratch.org/lfs/view/stable/)
* [Beyond Linux From Scratch](http://www.linuxfromscratch.org/blfs/view/stable/)
* mempcpy(3) is a GNU extension. We have added it to <string.h> provided TERMUX_EXPOSE_MEMPCPY is defined,
so use something like CFLAGS+=" -DTERMUX_EXPOSE_MEMPCPY=1" for packages expecting that function to exist.
+* Android uses a customized version of shared memory managemnt known as ashmem. Standard shm and semaphore libc
+ wrappers (semget(2), shmat(2) and others) aren't available. Direct syscalls can be used with
+ `CFLAGS+=" -DTERMUX_SHMEM_STUBS=1 -DTERMUX_SEMOPS_STUBS=1"`.
+
dlopen() and RTLD_* flags
=================================
<dlfcn.h> originally declares