]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Conf/tools_def.template
BaseTools: Add rules to build NASM source file into a binary
[mirror_edk2.git] / BaseTools / Conf / tools_def.template
index ca150f45f9e79116a4d9bcd61ff831944c88b656..a7b507d8ead22e8e877b5ffce8b9cced21532020 100644 (file)
@@ -68,6 +68,14 @@ DEFINE WINSDK_VERSION   = v6.0A
 DEFINE WINSDK_BIN       = c:\Program Files\Microsoft SDKs\Windows\DEF(WINSDK_VERSION)\bin\r
 DEFINE WINSDKx86_BIN    = c:\Program Files (x86)\Microsoft SDKs\Windows\DEF(WINSDK_VERSION)\bin\r
 \r
+# Microsoft Visual Studio 2010\r
+DEFINE WINSDK7_BIN       = c:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\r
+DEFINE WINSDK7x86_BIN    = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\r
+\r
+# Microsoft Visual Studio 2012 Update 1 (required for rc.exe that was not included in the initial release)\r
+DEFINE WINSDK71_BIN       = c:\Program Files\Microsoft SDKs\Windows\v7.1A\Bin\r
+DEFINE WINSDK71x86_BIN    = c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\r
+\r
 # Microsoft Visual Studio 2013 Professional Edition\r
 DEFINE WINSDK8_BIN       = c:\Program Files\Windows Kits\8.0\bin\x86\\r
 DEFINE WINSDK8x86_BIN    = c:\Program Files (x86)\Windows Kits\8.0\bin\x64\r
@@ -660,6 +668,15 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G
 ####################################################################################\r
 ####################################################################################\r
 #\r
+# Other Supported Tools\r
+# =====================\r
+#   NASM                 2.0.3   http://www.nasm.us/\r
+#                        Note: Converts NASM source to .bin. Object linking to\r
+#                              EDK II driver modules is not currently supported.\r
+#\r
+####################################################################################\r
+####################################################################################\r
+#\r
 # Intel EFI Byte Code Compiler (Template)\r
 #\r
 ####################################################################################\r
@@ -1947,7 +1964,7 @@ NOOPT_VS2008x86xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:R
 \r
 *_VS2010_*_MAKE_PATH              = DEF(VS2010_BIN)\nmake.exe\r
 *_VS2010_*_MAKE_FLAGS             = /nologo\r
-*_VS2010_*_RC_PATH                = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2010_*_RC_PATH                = DEF(WINSDK7_BIN)\rc.exe\r
 \r
 *_VS2010_*_SLINK_FLAGS            = /NOLOGO /LTCG\r
 *_VS2010_*_APP_FLAGS              = /nologo /E /TC\r
@@ -2085,7 +2102,7 @@ NOOPT_VS2010_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,ICF
 \r
 *_VS2010xASL_*_MAKE_PATH       = DEF(VS2010_BIN)\nmake.exe\r
 *_VS2010xASL_*_MAKE_FLAG       = /nologo\r
-*_VS2010xASL_*_RC_PATH         = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2010xASL_*_RC_PATH         = DEF(WINSDK7_BIN)\rc.exe\r
 \r
 *_VS2010xASL_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
 *_VS2010xASL_*_APP_FLAGS       = /nologo /E /TC\r
@@ -2220,7 +2237,7 @@ NOOPT_VS2010xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,
 \r
 *_VS2010x86_*_MAKE_PATH       = DEF(VS2010x86_BIN)\nmake.exe\r
 *_VS2010x86_*_MAKE_FLAG       = /nologo\r
-*_VS2010x86_*_RC_PATH         = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2010x86_*_RC_PATH         = DEF(WINSDK7x86_BIN)\rc.exe\r
 \r
 *_VS2010x86_*_MAKE_FLAGS      = /nologo\r
 *_VS2010x86_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
@@ -2355,7 +2372,7 @@ NOOPT_VS2010x86_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF,I
 \r
 *_VS2010x86xASL_*_MAKE_PATH       = DEF(VS2010x86_BIN)\nmake.exe\r
 *_VS2010x86xASL_*_MAKE_FLAG       = /nologo\r
-*_VS2010x86xASL_*_RC_PATH         = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2010x86xASL_*_RC_PATH         = DEF(WINSDK7x86_BIN)\rc.exe\r
 \r
 *_VS2010x86xASL_*_MAKE_FLAGS      = /nologo\r
 *_VS2010x86xASL_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
@@ -2494,7 +2511,7 @@ NOOPT_VS2010x86xASL_IPF_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:R
 \r
 *_VS2012_*_MAKE_PATH              = DEF(VS2012_BIN)\nmake.exe\r
 *_VS2012_*_MAKE_FLAGS             = /nologo\r
-*_VS2012_*_RC_PATH                = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2012_*_RC_PATH                = DEF(WINSDK71_BIN)\rc.exe\r
 \r
 *_VS2012_*_SLINK_FLAGS            = /NOLOGO /LTCG\r
 *_VS2012_*_APP_FLAGS              = /nologo /E /TC\r
@@ -2604,7 +2621,7 @@ NOOPT_VS2012_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT
 \r
 *_VS2012xASL_*_MAKE_PATH       = DEF(VS2012_BIN)\nmake.exe\r
 *_VS2012xASL_*_MAKE_FLAG       = /nologo\r
-*_VS2012xASL_*_RC_PATH         = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2012xASL_*_RC_PATH         = DEF(WINSDK71_BIN)\rc.exe\r
 \r
 *_VS2012xASL_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
 *_VS2012xASL_*_APP_FLAGS       = /nologo /E /TC\r
@@ -2711,7 +2728,7 @@ NOOPT_VS2012xASL_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:RE
 \r
 *_VS2012x86_*_MAKE_PATH       = DEF(VS2012x86_BIN)\nmake.exe\r
 *_VS2012x86_*_MAKE_FLAG       = /nologo\r
-*_VS2012x86_*_RC_PATH         = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2012x86_*_RC_PATH         = DEF(WINSDK71x86_BIN)\rc.exe\r
 \r
 *_VS2012x86_*_MAKE_FLAGS      = /nologo\r
 *_VS2012x86_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
@@ -2818,7 +2835,7 @@ NOOPT_VS2012x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 \r
 *_VS2012x86xASL_*_MAKE_PATH       = DEF(VS2012x86_BIN)\nmake.exe\r
 *_VS2012x86xASL_*_MAKE_FLAG       = /nologo\r
-*_VS2012x86xASL_*_RC_PATH         = DEF(WINSDK_BIN)\rc.exe\r
+*_VS2012x86xASL_*_RC_PATH         = DEF(WINSDK71x86_BIN)\rc.exe\r
 \r
 *_VS2012x86xASL_*_MAKE_FLAGS      = /nologo\r
 *_VS2012x86xASL_*_SLINK_FLAGS     = /NOLOGO /LTCG\r
@@ -6511,6 +6528,32 @@ RELEASE_ARMLINUXGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC
 *_*_*_CRC32_PATH          = GenCrc32\r
 *_*_*_CRC32_GUID          = FC1BCDB0-7D31-49AA-936A-A4600D9DD083\r
 \r
+##################\r
+# Rsa2048Sha256Sign tool definitions\r
+#\r
+# Notes: This tool defintion uses a test signing key for development purposes only.\r
+#        The tool Rsa2048Sha256GenerateKeys can be used to generate a new private/public key\r
+#        and the gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value.\r
+#        A custom tool/script can be implemented using the new private/public key with\r
+#        the Rsa2048Sha256Sign tool and this tool defintiion can be updated to use a\r
+#        custom tool/script.\r
+#\r
+#   Generate new private/public key and gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value\r
+#\r
+#       Rsa2048Sha256GenerateKeys.py -o MyKey.pem --public-key-hash-c MyKey.pcd\r
+#\r
+#   Custom script example (MyRsa2048Sha256Sign.cmd):\r
+#\r
+#       Rsa2048Sha256Sign --private-key MyKey.pem %1 %2 %3 %4 %5 %6 %7 %8 %9\r
+#\r
+#   WARNING: Vendors that uses private keys are responsible for proper management and protection \r
+#            of private keys.  Vendors may choose to use infrastructure such as signing servers \r
+#            or signing portals to support the management and protection of private keys.\r
+#\r
+##################\r
+*_*_*_RSA2048SHA256SIGN_PATH = Rsa2048Sha256Sign\r
+*_*_*_RSA2048SHA256SIGN_GUID = A7717414-C616-4977-9420-844712A735BF\r
+\r
 ##################\r
 # LzmaCompress tool definitions\r
 ##################\r
@@ -6536,3 +6579,10 @@ RELEASE_ARMLINUXGCC_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC
 ##################\r
 *_*_*_VPDTOOL_PATH         = BPDG\r
 *_*_*_VPDTOOL_GUID         = 8C3D856A-9BE6-468E-850A-24F7A8D38E08\r
+\r
+##################\r
+# NASM tool definitions\r
+##################\r
+*_*_*_NASM_PATH                = ENV(NASM_PREFIX)nasm\r
+# NASMB uses NASM produce a .bin from a .nasmb NASM source file\r
+*_*_*_NASMB_FLAGS              = -f bin\r