~/talk

Building and Organising a Multi-Platform Development Code Base

Talkat ACCU 2021 Online · 2021-03-10..03-13· [software-architecture]
slides:none on file

Argues that runtime introspection (Autotools-style configure) causes long-term maintenance pain, demonstrates converting getdns from Autotools to cmake vs Autotools to produce native Visual Studio builds and swapping OpenSSL for GnuTLS, and proposes organizing code by target/variant hierarchies so platform-specific leaves override common code. Describes an Insignia Geode JVM build generator that handles five OSes, five CPU families and multiple toolchains with no preprocessor spaghetti, and recommends declaring targets explicitly rather than sniffing features.

AI-written summary · about

  1. 0:00Introduction
  2. 1:30Getting dns
  3. 6:11Crossplatform development
  4. 10:49Practice
  5. 13:16Large source files
  6. 17:10System introspection
  7. 18:34Larry Wall
  8. 26:26Verity Stop
  9. 27:31Is introspection harmful
  10. 29:49Windows build
  11. 32:21Common crossplatform practices
  12. 36:58Bringing order
  13. 37:23Targets and build variants
  14. 39:14Build variants
  15. 42:21Variants
  16. 46:11Autocomp
  17. 48:13Internal APIs
  18. 51:34Platforms
  19. 52:02Platform Differences
  20. 52:41Shared Code
  21. 55:48Target Attributes
  22. 56:48Build System
  23. 57:48Example
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.