> On Oct 22, 2014, at 12:07 PM, Gabriel Somlo <gso...@gmail.com> wrote: > > On Wed, Oct 22, 2014, Andrew Fish <af...@apple.com <mailto:af...@apple.com>> > wrote: > >>> After doing this, things build just fine. But after further adding: >>> >>> >>> OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf: >>> [Pcd] >>> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId >>> >>> >>> OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c: >>> ... >>> HostBridgeDevId = PcdGet16 (PcdOvmfHostBridgePciDevId); >>> ... >>> >>> >>> I now get this error: >>> >>> /home/somlo/KVM-OSX/SCRATCH/edk2/OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c: >>> In function `AcpiTimerLibConstructor': >>> /home/somlo/KVM-OSX/SCRATCH/edk2/MdePkg/Include/Library/PcdLib.h:377:45: >>> error: `_PCD_GET_MODE_16_PcdOvmfHostBridgePciDevId' undeclared (first >>> use in this function) >>> #define PcdGet16(TokenName) >>> _PCD_GET_MODE_16_##TokenName >>> /home/somlo/KVM-OSX/SCRATCH/edk2/MdePkg/Include/Library/PcdLib.h:377:45: >> >> This is usually an INF issue. What does the the AutoGen.h (with the library >> object files) files look like? That is where this should get declared. > > $ find . -name AutoGen.h | grep AcpiTimer > ./Build/OvmfX64/DEBUG_GCC48/X64/OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib/DEBUG/AutoGen.h > ./Build/OvmfX64/DEBUG_GCC48/X64/OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib/DEBUG/AutoGen.h > ./Build/OvmfX64/DEBUG_GCC48/X64/OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib/DEBUG/AutoGen.h >
Well that is strange? The AutoGen.h is force included, and it looks like it has the correct. #define? The CC Flags should have something like -include AutoGen.h. 1st thing I would look into is a copy paste in the *.inf file of a GUID or library BaseName etc. You could look at the generated makefile to see if something strange is going on. GNUmakefile should be here: Build/OvmfX64/DEBUG_GCC48/X64/OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib/ Thanks, Andrew Fish > > $cat > ./Build/OvmfX64/DEBUG_GCC48/X64/OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib/DEBUG/AutoGen.h > /** > DO NOT EDIT > FILE auto-generated > Module name: > AutoGen.h > Abstract: Auto-generated AutoGen.h for building module or library. > **/ > > #ifndef _AUTOGENH_52DECA02_2EE8_4EAA_8EAD_1AB83F8A5955 > #define _AUTOGENH_52DECA02_2EE8_4EAA_8EAD_1AB83F8A5955 > > #ifdef __cplusplus > extern "C" { > #endif > > #include <Base.h> > #include <Library/PcdLib.h> > > extern GUID gEfiCallerIdGuid; > extern CHAR8 *gEfiCallerBaseName; > > > // PCD definitions > #define _PCD_TOKEN_PcdOvmfHostBridgePciDevId 1U > #define _PCD_GET_MODE_16_PcdOvmfHostBridgePciDevId > LibPcdGet16(_PCD_TOKEN_PcdOvmfHostBridgePciDevId) > #define _PCD_SET_MODE_16_PcdOvmfHostBridgePciDevId(Value) > LibPcdSet16(_PCD_TOKEN_PcdOvmfHostBridgePciDevId, (Value)) > > RETURN_STATUS > EFIAPI > AcpiTimerLibConstructor ( > VOID > ); > > > #ifdef __cplusplus > } > #endif > > #endif > > > Thanks much, > --Gabriel
------------------------------------------------------------------------------
_______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel