Add libandroid-shmem as a disabled package
[termux-packages] / README.md
index 94930f0..22a1fba 100644 (file)
--- a/README.md
+++ b/README.md
@@ -12,20 +12,23 @@ the actual package (so the patches and scripts to build bash are licensed under
 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 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
+    ./scripts/run-docker.sh     # On Linux and macOS.
+     .\scripts\run-docker.ps1   # On Windows.
 
 This will setup a container (from an image created by [scripts/Dockerfile](scripts/Dockerfile))
 suitable for building packages.
@@ -68,7 +71,7 @@ Additional utilities
 ====================
 * build-all.sh: used for building all packages in the correct order (using buildorder.py).
 
-* clean-rebuild-all.sh: used for doing a clean rebuild of all packages.
+* clean.sh: used for doing a clean rebuild of all packages.
 
 * scripts/check-pie.sh: Used for verifying that all binaries are using PIE, which is required for Android 5+.
 
@@ -120,6 +123,10 @@ Common porting problems
 * 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