Search code examples
common-lispcompatibility

Conditional Windows comments in Common Lisp


What's the canonical Windows/Not-windows conditional comment in Common Lisp?

#-win32 (non-windows-stuff) #+win32 (usually-some-horrific-hack)

seems to work correctly on SBCL and LispWorks (whether the underlying platform is 32 or 64 bit), but CCL only seems to understand

#-windows (non-windows-stuff) #+windows (usually-some-horrific-hack)

How do I dispatch on platform in a portable (across implementations) way? Is there a reference for standard comment flags somewhere?


Solution

  • There is no canonical element of *features* that works across all implementations. The trivial-features project normalizes features across platforms and implementations so, after loading trivial-features, you can use #+windows anywhere to mean Windows.