mconfig.Linux 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # This file can be used as a basis for manual customisation, by copying it
  2. # to the correct place (../mconfig) before editing. If this is not done,
  3. # Linux configuration will normally be generated by the shell script
  4. # in this directory (mconfig.Linux.sh).
  5. # Installation path options.
  6. SBINDIR=/sbin
  7. MANDIR=/usr/share/man
  8. SYSCONTROLSOCKET=/run/dinitctl
  9. # General build options.
  10. # Linux (GCC). Note with GCC 5.x you must use the old (pre-C++11) ABI, with
  11. # newer versions you can use either (the new ABI is preferable). See BUILD file
  12. # for more information.
  13. CXX=g++
  14. CPPFLAGS=-D_GLIBCXX_USE_CXX11_ABI=1
  15. CXXFLAGS=-std=c++11 -Os -Wall -fno-rtti -fno-plt -flto
  16. LDFLAGS=$(CXXFLAGS)
  17. BUILD_SHUTDOWN=yes
  18. TEST_CXXFLAGS=$(CXXFLAGS) -fsanitize=address,undefined
  19. TEST_LDFLAGS=$(LDFLAGS) $(TEST_CXXFLAGS)
  20. # Notes:
  21. # -D_GLIBCXX_USE_CXX11_ABI=1 : force use of new ABI, see above / BUILD
  22. # -fno-rtti (optional) : Dinit does not require C++ Run-time Type Information
  23. # -fno-plt (optional) : Recommended optimisation
  24. # -flto (optional) : Perform link-time optimisation
  25. # -fsanitize=address,undefined : Apply sanitizers (during unit tests)
  26. # LDFLAGS should also contain C++ optimisation flags for LTO (-flto).
  27. # Features.
  28. SUPPORT_CGROUPS=1