~rodsmith/refind/master

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
## @file
#
# refind.inf file to build rEFInd using the EDK2/UDK201# development
# kit.
#
# Copyright (c) 2012-2020 by Roderick W. Smith
# Released under the terms of the GPLv3 (or, at your discretion, any later
# version), a copy of which should come with this file.
#
##

[Defines]
  INF_VERSION                   = 0x00010005
  BASE_NAME                     = refind
  FILE_GUID                     = B8448DD1-B146-41B7-9D66-98B3A0A404D3
  MODULE_TYPE                   = UEFI_APPLICATION
  EDK_RELEASE_VERSION		= 0x00020000
  EFI_SPECIFICATION_VERSION	= 0x00010000
  VERSION_STRING                = 1.0
  ENTRY_POINT                   = efi_main

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC AARCH64
#

[Sources]
  EfiLib/GenericBdsLib.h
  EfiLib/BmLib.c
  EfiLib/DevicePath.c #included into GenericBdsLib
  EfiLib/BdsConnect.c #included into GenericBdsLib
  EfiLib/BdsHelper.c
  EfiLib/BdsTianoCore.c
  EfiLib/legacy.c
  mok/mok.c
  mok/guid.c
  mok/security_policy.c
  mok/simple_file.c
  refind/apple.c
  refind/config.c
  refind/crc32.c
  refind/driver_support.c
  refind/gpt.c
  refind/icns.c
  refind/install.c
  refind/launch_efi.c
  refind/launch_legacy.c
  refind/lib.c
  refind/line_edit.c
  refind/linux.c
  refind/log.c
  refind/main.c
  refind/menu.c
  refind/mystrings.c
  refind/pointer.c
  refind/scan.c
  refind/screen.c
  libeg/image.c
  libeg/load_bmp.c
  libeg/load_icns.c
  libeg/lodepng.c
  libeg/lodepng_xtra.c
  libeg/nanojpeg.c
  libeg/nanojpeg_xtra.c
  libeg/screen.c
  libeg/text.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
# Uncomment the below when compiling with OS X
#  StdLib/StdLib.dec

[Packages.XCODE]
  StdLib/StdLib.dec

[LibraryClasses]
  UefiApplicationEntryPoint
  UefiBootServicesTableLib
  UefiLib
   MemoryAllocationLib
   BaseMemoryLib
   BaseLib
  DevicePathLib
  DebugLib
  DxeServicesLib
  DxeServicesTableLib
  HobLib
  MemoryAllocationLib
  IoLib
  PerformanceLib

[LibraryClasses.AARCH64]
  BaseStackCheckLib
# Comment out CompilerIntrinsicsLib when compiling for AARCH64 using UDK2014
  CompilerIntrinsicsLib

[Guids]
  gEfiAcpiTableGuid
  gEfiAcpi10TableGuid
  gEfiAcpi20TableGuid
  gEfiDxeServicesTableGuid
  gEfiEventReadyToBootGuid
  gEfiEventVirtualAddressChangeGuid
  gEfiEventExitBootServicesGuid
  gEfiFileInfoGuid                              ## CONSUMES ## GUID
  gEfiFileSystemInfoGuid                        ## CONSUMES ## GUID
  gEfiFileSystemVolumeLabelInfoIdGuid
  gEfiGlobalVariableGuid
  gEfiPartTypeLegacyMbrGuid
  gEfiPartTypeSystemPartGuid
  gEfiSmbiosTableGuid
  gEfiSasDevicePathGuid

[Ppis]

[Protocols]
  gEfiComponentName2ProtocolGuid                          # ALWAYS_CONSUMED
  gEfiDevicePathToTextProtocolGuid                        # ALWAYS_CONSUMED
  gEfiSimpleFileSystemProtocolGuid                        # ALWAYS_CONSUMED
  gEfiSimpleTextInProtocolGuid                            # ALWAYS_CONSUMED
  gEfiSimpleTextInputExProtocolGuid                       # ALWAYS_CONSUMED
  gEfiSimpleTextOutProtocolGuid                           # ALWAYS_CONSUMED
  gEfiUnicodeCollationProtocolGuid                       # ALWAYS_CONSUMED  
  gEfiUnicodeCollation2ProtocolGuid                       # ALWAYS_CONSUMED  
  
  gEfiAcpiS3SaveProtocolGuid                    # PROTOCOL CONSUMES
  gEfiBlockIoProtocolGuid                       # PROTOCOL CONSUMES
  gEfiCpuArchProtocolGuid                       # PROTOCOL CONSUMES
  gEfiDebugPortProtocolGuid                     # PROTOCOL CONSUMES
  gEfiDevicePathProtocolGuid                    # PROTOCOL CONSUMES
  gEfiDiskIoProtocolGuid                        # PROTOCOL CONSUMES
  gEfiExtScsiPassThruProtocolGuid               ## PROTOCOL SOMETIMES_CONSUMES
  gEfiFirmwareVolume2ProtocolGuid               # PROTOCOL CONSUMES
  gEfiGraphicsOutputProtocolGuid                # PROTOCOL SOMETIMES_CONSUMES
  gEfiHiiFontProtocolGuid                       # PROTOCOL CONSUMES
  gEfiLegacy8259ProtocolGuid					## PROTOCOL SOMETIMES_CONSUMES
  gEfiLoadedImageProtocolGuid                   # PROTOCOL CONSUMES
  gEfiOEMBadgingProtocolGuid                    # PROTOCOL CONSUMES
  gEfiPciIoProtocolGuid                         # PROTOCOL CONSUMES 
  gEfiScsiIoProtocolGuid                        ## PROTOCOL SOMETIMES_CONSUMES
  gEfiScsiPassThruProtocolGuid                  ## PROTOCOL SOMETIMES_CONSUMES
  gEfiSimpleNetworkProtocolGuid                 # PROTOCOL CONSUMES
  gEfiUgaDrawProtocolGuid |PcdUgaConsumeSupport # PROTOCOL SOMETIMES_CONSUMES
  
  gEfiAbsolutePointerProtocolGuid
  gEfiAcpiTableProtocolGuid
  gEfiEdidActiveProtocolGuid
  gEfiEdidDiscoveredProtocolGuid
  gEfiHiiDatabaseProtocolGuid
  gEfiHiiImageProtocolGuid
  gEfiHiiProtocolGuid
  gEfiSimplePointerProtocolGuid
  gEfiSmbiosProtocolGuid
  gEfiSecurityArchProtocolGuid  
  gEfiScsiIoProtocolGuid                        ## PROTOCOL SOMETIMES_CONSUMES
  gEfiScsiPassThruProtocolGuid                  ## PROTOCOL SOMETIMES_CONSUMES
  gEfiExtScsiPassThruProtocolGuid               ## PROTOCOL SOMETIMES_CONSUMES

  gEfiLegacyBiosProtocolGuid                    # PROTOCOL TO_START

  gEfiLoadFile2ProtocolGuid
  gEfiLoadFileProtocolGuid
  gEfiHiiPackageListProtocolGuid

[FeaturePcd]
  gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport

[Pcd]


[BuildOptions.IA32]
  XCODE:*_*_*_CC_FLAGS = -Os  -DEFI32 -D__MAKEWITH_TIANO
  GCC:*_*_*_CC_FLAGS = -Os -DEFI32 -D__MAKEWITH_TIANO

[BuildOptions.X64]
  XCODE:*_*_*_CC_FLAGS = -Os  -DEFIX64 -D__MAKEWITH_TIANO
  GCC:*_*_*_CC_FLAGS = -Os -DEFIX64 -D__MAKEWITH_TIANO

[BuildOptions.AARCH64]
  XCODE:*_*_*_CC_FLAGS = -Os  -DEFIAARCH64 -D__MAKEWITH_TIANO
  GCC:*_*_*_CC_FLAGS = -Os -DEFIAARCH64 -D__MAKEWITH_TIANO