# Default build configuration for Linux. # This file can be used as a basis for manual customisation, by copying it # to the correct place (../mconfig) before editing. If this is not done, # Linux configuration will normally be generated by the shell script # in this directory (mconfig.Linux.sh). # Installation path options. SBINDIR=/sbin MANDIR=/usr/share/man SYSCONTROLSOCKET=/run/dinitctl # General build options. # Linux (GCC). Note with GCC 5.x you must use the old (pre-C++11) ABI, with # newer versions you can use either (the new ABI is preferable). See BUILD file # for more information. CXX=g++ CPPFLAGS=-D_GLIBCXX_USE_CXX11_ABI=1 CXXFLAGS=-std=c++11 -Os -Wall -fno-rtti -fno-plt -flto LDFLAGS_BASE= LDFLAGS=$(LDFLAGS_BASE) $(CXXFLAGS) BUILD_SHUTDOWN=yes TEST_CXXFLAGS=$(CXXFLAGS) -fsanitize=address,undefined TEST_LDFLAGS_BASE=$(LDFLAGS_BASE) TEST_LDFLAGS=$(TEST_LDFLAGS_BASE) $(TEST_CXXFLAGS) # Notes: # -D_GLIBCXX_USE_CXX11_ABI=1 : force use of new ABI, see above / BUILD # -fno-rtti (optional) : Dinit does not require C++ Run-time Type Information # -fno-plt (optional) : Recommended optimisation # -flto (optional) : Perform link-time optimisation # -fsanitize=address,undefined : Apply sanitizers (during unit tests) # LDFLAGS should also contain C++ optimisation flags for LTO (-flto). # Features. SUPPORT_CGROUPS=1 # Service defaults. DEFAULT_AUTO_RESTART=ALWAYS DEFAULT_START_TIMEOUT=60 DEFAULT_STOP_TIMEOUT=10