title: GCC preprocessor directives for Arch Linux
body: <p>Does GCC (or alternatively Clang) defines any macro when it is compiled for the Arch Linux OS?</p>
  <p>I need to check that my software restricts itself from compiling under anything but Arch Linux (the reason behind this is off-topic). I couldn't find any relevant resources on the internet.</p>
  <p>Does anyone know how to guarantee through GCC preprocessor directives that my binaries are only compilable under Arch Linux?</p>
  <p>Of course I can always</p>
  <pre class="lang-c prettyprint-override"><code>#ifdef __linux__
    ...
  #endif
  </code></pre>
  <p>But this is not precise enough.</p>
  <p>Edit: This <strong>must</strong> be done through C source code and not by any building systems, so, for example, doing this through CMake is completely discarded.</p>
  <p>Edit 2: Users faking this behaviour is not a problem since the software is distributed to selected clients and thus, actively trying to &quot;misuse&quot; our source code is &quot;their decision&quot;.</p>