#ifndef MYTHING
  #error "Global argument not set"
#endif

#ifdef MYCPPTHING
  #error "Wrong global argument set"
#endif

#ifndef MYCANDCPPTHING
  #error "Global argument not set"
#endif

#if !defined(GLOBAL_HOST) && !defined(GLOBAL_BUILD)
  #error "Neither global_host nor global_build is set."
#endif

#if defined(GLOBAL_HOST) && defined(GLOBAL_BUILD)
  #error "Both global build and global host set."
#endif

#ifdef GLOBAL_BUILD
  #ifndef ARG_BUILD
    #error "Global is build but arg_build is not set."
  #endif

  #ifdef ARG_HOST
    #error "Global is build but arg host is set."
  #endif
#endif

#ifdef GLOBAL_HOST
  #ifndef ARG_HOST
    #error "Global is host but arg_host is not set."
  #endif

  #ifdef ARG_BUILD
    #error "Global is host but arg_build is set."
  #endif
#endif

int main(void) {
    return 0;
}
