diff options
author | Alex Ionescu <aionescu@gmail.com> | 2017-11-06 17:36:23 +0300 |
---|---|---|
committer | Alex Ionescu <aionescu@gmail.com> | 2017-11-06 17:36:23 +0300 |
commit | a44424d9a8e8756d1deeb8fdb8dc6aeef99b5d57 (patch) | |
tree | 2336e3828d8111d585a0ab20a1ae6e7a77876718 /uefi | |
parent | 6ca25d46717cdce217cc2cea1cc49a05a102deac (diff) |
Properly support building for UEFI vs NT with VisualUefi
Refactor all project files/settings to support dual build. User should
set EDK_PATH to their checked out copy of VisualUefi.
Diffstat (limited to 'uefi')
-rw-r--r-- | uefi/shvos.c | 4 | ||||
-rw-r--r-- | uefi/uefi.default.props | 23 | ||||
-rw-r--r-- | uefi/uefi.props | 60 |
3 files changed, 85 insertions, 2 deletions
diff --git a/uefi/shvos.c b/uefi/shvos.c index db19f21..6a8afa9 100644 --- a/uefi/shvos.c +++ b/uefi/shvos.c @@ -49,8 +49,8 @@ Environment: // // External SimpleVisor Headers // -#include "ntint.h" -#include "shv_x.h" +#include "..\ntint.h" +#include "..\shv_x.h" // // We run on any UEFI Specification diff --git a/uefi/uefi.default.props b/uefi/uefi.default.props new file mode 100644 index 0000000..c651b7b --- /dev/null +++ b/uefi/uefi.default.props @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets" /> + <PropertyGroup Label="UserMacros"> + <EDK_PATH>C:\Users\aione\Documents\GitHub\VisualUefi\edk2</EDK_PATH> + </PropertyGroup> + <PropertyGroup> + <IncludePath>$(EDK_PATH)\MdePkg\Include;$(EDK_PATH)\MdePkg\Include\X64;$(EDK_PATH)\ShellPkg\Include;$(EDK_PATH)\CryptoPkg\Include</IncludePath> + <LibraryPath>$(EDK_PATH)\..\EDK-II\$(Platform)\Release</LibraryPath> + </PropertyGroup> + <PropertyGroup Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v141</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <ItemGroup> + <BuildMacro Include="EDK_PATH"> + <Value>$(EDK_PATH)</Value> + </BuildMacro> + </ItemGroup> +</Project> diff --git a/uefi/uefi.props b/uefi/uefi.props new file mode 100644 index 0000000..2841656 --- /dev/null +++ b/uefi/uefi.props @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets" /> + <PropertyGroup> + <GenerateManifest /> + <TargetExt>.efi</TargetExt> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <WholeProgramOptimization>true</WholeProgramOptimization> + <WarningLevel>Level4</WarningLevel> + <TreatWarningAsError>true</TreatWarningAsError> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + <Optimization>MinSpace</Optimization> + <IntrinsicFunctions>true</IntrinsicFunctions> + <OmitFramePointers>true</OmitFramePointers> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <ExceptionHandling>SyncCThrow</ExceptionHandling> + <BufferSecurityCheck>false</BufferSecurityCheck> + <ControlFlowGuard>false</ControlFlowGuard> + <FunctionLevelLinking>true</FunctionLevelLinking> + <ForcedIncludeFiles>$(EDK_PATH)\..\EDK-II\BaseLib\vshacks.h</ForcedIncludeFiles> + <CallingConvention /> + <TreatWChar_tAsBuiltInType /> + <StringPooling>true</StringPooling> + <RuntimeTypeInfo>false</RuntimeTypeInfo> + <ForceConformanceInForLoopScope /> + <AdditionalOptions>/Gs32768 %(AdditionalOptions)</AdditionalOptions> + <ErrorReporting /> + <FloatingPointModel /> + </ClCompile> + <Link> + <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries> + <AdditionalDependencies>UefiHiiLib.lib;UefiHiiServicesLib.lib;UefiSortLib.lib;UefiShellLib.lib;GlueLib.lib;BaseLib.lib;BaseDebugPrintErrorLevelLib.lib;BasePrintLib.lib;UefiLib.lib;UefiBootServicesTableLib.lib;UefiRuntimeServicesTableLib.lib;UefiDevicePathLibDevicePathProtocol.lib;UefiDebugLibConOut.lib;UefiMemoryLib.lib;UefiMemoryAllocationLib.lib;BaseSynchronizationLib.lib;UefiFileHandleLib.lib;UefiApplicationEntryPoint.lib</AdditionalDependencies> + <GenerateDebugInformation>DebugFastLink</GenerateDebugInformation> + <SubSystem>EFI Application</SubSystem> + <Driver>Driver</Driver> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding /> + <LinkTimeCodeGeneration>UseFastLinkTimeCodeGeneration</LinkTimeCodeGeneration> + <BaseAddress>0</BaseAddress> + <SectionAlignment>32</SectionAlignment> + <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> + <RandomizedBaseAddress /> + <DataExecutionPrevention /> + <ManifestFile /> + <AllowIsolation /> + <EnableUAC /> + <UACExecutionLevel /> + <UACUIAccess /> + <TypeLibraryResourceID /> + <AdditionalOptions>/OPT:ICF=10 /IGNORE:4001 /IGNORE:4254 %(AdditionalOptions)</AdditionalOptions> + <MergeSections>.rdata=.data</MergeSections> + <SpecifySectionAttributes>.xdata,D</SpecifySectionAttributes> + <LinkErrorReporting /> + <ProfileGuidedDatabase /> + <EntryPointSymbol>EfiMain</EntryPointSymbol> + </Link> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file |