## @file
#  DataSource Application
#
#  Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
#  All rights reserved. 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.
#
##


[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = DataSource
  FILE_GUID                      = 30EB0F26-FC0A-4fd2-B9C9-751EA2BB1980
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = ShellCEntryLib

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  DataSource.c


[Pcd]
  gAppPkgTokenSpaceGuid.DataSource_Port


[Packages]
  AppPkg/AppPkg.dec
  MdePkg/MdePkg.dec
  ShellPkg/ShellPkg.dec
  StdLib/StdLib.dec


[LibraryClasses]
  BaseMemoryLib
  BsdSocketLib
  EfiSocketLib
  DebugLib
  LibC
  ShellCEntryLib
  UefiBootServicesTableLib
  UefiLib
#  UseSocketDxe

[Protocols]
  gEfiTcp4ProtocolGuid
  gEfiTcp4ServiceBindingProtocolGuid

[BuildOptions]
  INTEL:*_*_*_CC_FLAGS = /Qdiag-disable:181,186
   MSFT:*_*_*_CC_FLAGS = /Od
    GCC:*_*_*_CC_FLAGS = -O0 -Wno-unused-variable

