<?xml version="1.0" encoding="UTF-8"?>
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <MsaHeader>
    <ModuleName>Check Tool Definitions</ModuleName>
    <ModuleType>TOOL</ModuleType>
    <GuidValue>015250d4-e7e2-452f-a6aa-c8be46acbfc7</GuidValue>
    <Version>0.1</Version>
    <Abstract>The tool checks the active tool definition file to verify tools exists</Abstract>
    <Description>
This tool will verify the tool chain configuration file to verify that the directories and programs exist.
It will also check to see if an ACPI compiler has been defined for tool chain tag names - if not, then it prints a warning.
It also checks the assembler to see if it exists, and where.
The quiet option will not print anything.
The return values are:
  0 - PASS
  1 - FAIL

USAGE:
checkTools [-h] [-d] [-i] [-v] [-s | -scan] [-t | -test] [-q | -quiet] [[-f | -filename] filename.txt]</Description>
    <Copyright>Copyright (c) 2006, Intel Corporation	All rights reserved.</Copyright>
    <License URL="http://opensource.org/licenses/bsd-license.php">This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution.  The full text of the license may be found at  http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>
    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>
  </MsaHeader>
  <ModuleDefinitions>
    <SupportedArchitectures>EBC IA32 X64 IPF ARM PPC</SupportedArchitectures>
    <BinaryModule>false</BinaryModule>
    <OutputFileBasename>Merge</OutputFileBasename>
  </ModuleDefinitions>
  <SourceFiles>
    <Filename>src/org/tianocore/CheckTools/ToolChecks.java</Filename>
    <Filename>src/org/tianocore/CheckTools/ToolInfo.java</Filename>
    <Filename>src/org/tianocore/CheckTools/CheckTools.java</Filename>
    <Filename>build.xml</Filename>
    <Filename>readme.txt</Filename>
  </SourceFiles>
</ModuleSurfaceArea>
