<!--                                                                        -->
<!-- Copyright 2008 Google Inc.                                             -->
<!-- Licensed under the Apache License, Version 2.0 (the "License"); you    -->
<!-- may not use this file except in compliance with the License. You may   -->
<!-- may obtain a copy of the License at                                    -->
<!--                                                                        -->
<!-- http://www.apache.org/licenses/LICENSE-2.0                             -->
<!--                                                                        -->
<!-- Unless required by applicable law or agreed to in writing, software    -->
<!-- distributed under the License is distributed on an "AS IS" BASIS,      -->
<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or        -->
<!-- implied. License for the specific language governing permissions and   -->
<!-- limitations under the License.                                         -->

<!-- Types and resources required to support primitive system operation.    -->
<!--                                                                        -->
<!-- Types from this module are visible to and imported into user code.     -->
<!-- Every module should directly or indirectly inherit this module.        -->
<!--                                                                        -->
<module>
  <inherits name="com.google.gwt.dev.jjs.intrinsic.Intrinsic" />
  <inherits name="com.google.gwt.emul.Emulation" />
  <inherits name="com.google.gwt.xhr.XMLHttpRequest" />
  <inherits name="com.google.gwt.core.CompilerParameters" />
  <inherits name="com.google.gwt.core.EmulateJsStack" />

  <super-source path="translatable" />

  <define-linker name="sso" class="com.google.gwt.core.linker.SingleScriptLinker" />
  <define-linker name="std" class="com.google.gwt.core.linker.IFrameLinker" />
  <define-linker name="xs" class="com.google.gwt.core.linker.XSLinker" />

  <define-linker name="soycReport" class="com.google.gwt.core.linker.SoycReportLinker" />
  <define-linker name="symbolMaps" class="com.google.gwt.core.linker.SymbolMapsLinker" />

  <add-linker name="std" />

  <add-linker name="soycReport" />
  <add-linker name="symbolMaps" />
</module>
