+# Installation path options.
+
+SBINDIR=/sbin
+MANDIR=/usr/share/man
+SYSCONTROLSOCKET=/dev/dinitctl
+
+
+# General build options. Uncomment the options appropriate for your system.
+
# Linux (GCC). Note with GCC 5.x/6.x you must use the old ABI, with GCC 7.x you must use
# the new ABI. See BUILD file for more information.
CXX=g++
-CXXOPTS=-D_GLIBCXX_USE_CXX11_ABI=1 -std=gnu++11 -Os -Wall -Wno-invalid-offsetof -fno-rtti
-EXTRA_LIBS=
+CXXOPTS=-D_GLIBCXX_USE_CXX11_ABI=1 -std=c++11 -Os -Wall -fno-rtti -fno-plt -flto
+LDFLAGS=-flto
BUILD_SHUTDOWN=yes
SANITIZEOPTS=-fsanitize=address,undefined
-# OpenBSD, tested with GCC 4.9.3 and gmake:
+# OpenBSD, tested with GCC 4.9.3 / Clang++ 4/5 and gmake:
#CXX=clang++
-#CXXOPTS=-std=gnu++11 -Os -Wall -fno-rtti
-#EXTRA_LIBS=
+#CXXOPTS=-std=c++11 -Os -Wall -fno-rtti
+#LDFLAGS=
#BUILD_SHUTDOWN=no
#SANITIZEOPTS=
# (shutdown command not available for OpenBSD yet).
-# MacOS: use Linux settings, but don't build shutdown:
+# FreeBSD: use clang++ by default, supports sanitizers, requires linking with -lrt
+# Cannot use -fno-rtti: apparently prevents exception handling from working properly.
+#CXX=clang++
+#CXXOPTS=-std=c++11 -Os -Wall
+#LDFLAGS=-lrt
+#BUILD_SHUTDOWN=no
+#SANITIZEOPTS=-fsanitize=address,undefined
+
+# MacOS: use g++ (which may alias clang++):
+#CXX=g++
+#CXXOPTS=-std=c++11 -Os -Wall -fno-rtti -flto
+#LDFLAGS=-flto
#BUILD_SHUTDOWN=no
+#SANITIZEOPTS=-fsanitize=address,undefined