code: def test_alias_source_usage_requirements(t):
      """
        Check whether usage requirements are propagated via "alias". In case they
      are not, linking will fail as there will be no main() function defined
      anywhere in the source.
  
      """
      t.write(
          "jamroot.jam",
          """\
  lib l : l.cpp : : : <define>WANT_MAIN ;
  alias la : l ;
  exe main : main.cpp la ;
  """,
      )
  
      t.write(
          "l.cpp",
          """\
  void
  #if defined(_WIN32)
  __declspec(dllexport)
  #endif
  foo() {}
  """,
      )
  
      t.write(
          "main.cpp",
          """\
  #ifdef WANT_MAIN
  int main() {}
  #endif
  """,
      )
  
      t.run_build_system()
  
label_desc: Use image node_id 2 for calling a global function with example usage: test_alias_source_usage_requirements(t) without return types