Update README.md
[termux-packages] / README.md
index f247a84..ac0a996 100644 (file)
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ under the same license as python).
 
 Build environment on Ubuntu 16.10
 =================================
-Packages are normally built using Ubuntu 16.10. Perform the following steps to configure a Ubuntu 16.10 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.
 
@@ -27,7 +27,8 @@ Build environment using Docker
 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.
@@ -74,8 +75,6 @@ Additional utilities
 
 * scripts/check-pie.sh: Used for verifying that all binaries are using PIE, which is required for Android 5+.
 
-* scripts/detect-hardlinks.sh: Used for finding if any packages uses hardlinks, which does not work on Android M.
-
 * scripts/check-versions.sh: used for checking for package updates.
        
 * scripts/list-packages.sh: used for listing all packages with a one-line summary.
@@ -122,9 +121,11 @@ 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"`.
+* Android uses a customized version of shared memory managemnt known as ashmem. libandroid-shmem wraps SYSV shared
+  memory calls to standard ashmem operations. Use it with `LDFLAGS+=" -landroid-shmem`.
+
+* SYSV semaphores (semget(2), semop(2) and others) aren't available.
+  Use unnamed POSIX semaphores instead (named semaphores are unimplemented).
 
 dlopen() and RTLD_* flags
 =================================