I fixed the problem ! It was very easy. You can't use yasm with VS2010. Use vsyasm instead. You can download the zip file here :download the http://www.tortall.net/projects/yasm/releases/vsyasm-1.0.0-win64.zip After that it's very straightforward ! Add this to build_rules.txt : [Yasm-Assembly-Code-File.COMMON.COMMON] <InputFile> ?.yasm, ?.Yasm, ?.YASM <ExtraDependency> $(MAKE_FILE) <OutputFile> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj <Command> "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i vsyasm -I${s_path}(+) $(YASM_FLAGS) -o $dst ${d_path}(+)${s_base}.iii Add this to the appropriate place in tools_def.txt : DEBUG_VS2010x86_X64_YASM_FLAGS = -Ox -f win64 -wRELEASE_VS2010x86_X64_YASM_FLAGS = -Ox -f win64 -wNOOPT_VS2010x86_X64_YASM_FLAGS = -O0 -f win64 -w That's it. The lesson to learn - DON'T USE yasm.exe with Visual Studio 2010 !!! The zip package willhave a readme telling you where to install the vsyasm stuff.
Yasm 1.0.0 - The Yasm Modular Assembler Project | | | | | | | | | | | Yasm 1.0.0 - The Yasm Modular Assembler ProjectTarget Audience Welcome to the 1.0.0 release of the Yasm Modular Assembler. Its target audience includes people who want to: | | | | View on yasm.tortall.net | Preview by Yahoo | | | | | Shubha D. [email protected] [email protected] On Friday, September 4, 2015 8:51 PM, Shubha Ramani <[email protected]> wrote: I ended up hacking Edk2Setup.bat too to get YASM to work. Still doesn't work. If you notice in the build output yasm is supposed to be inside those double quotes I think: "" -Ic:\edk2\myworkspace\MdeModulePkg\Application\Dumdum\ I really really need to get yasm going. Can you check out the attached files and tell me where I'm going wrong ? Thanks, Shubha "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Vc\bin\x86_amd64\cl.exe" /nologo /E /TC /FIAutoGen.h /Ic:\edk2\myworkspace\MdeModulePkg\Application\Dumdum /Ic:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\DEBUG /Ic:\edk2\myworkspace\MdePkg /Ic:\edk2\myworkspace\MdePkg\Include /Ic:\edk2\myworkspace\MdePkg\Include\X64 /Ic:\edk2\myworkspace\MdeModulePkg /Ic:\edk2\myworkspace\MdeModulePkg\Include /Ic:\edk2\myworkspace\IntelFrameworkPkg /Ic:\edk2\myworkspace\IntelFrameworkPkg\Include c:\edk2\myworkspace\MdeModulePkg\Application\Dumdum\hsw_avx_features.yasm > c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.ihsw_avx_features.yasm Trim --trim-long --source-code -o c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.iii c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.i "" -Ic:\edk2\myworkspace\MdeModulePkg\Application\Dumdum\ -Ox -f win64 -o c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.obj c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.iii'-Ic:\edk2\myworkspace\MdeModulePkg\Application\Dumdum\' is not recognized as an internal or external command,operable program or batch file.NMAKE : fatal error U1077: '"' : return code '0x1'Stop. Shubha D. [email protected] [email protected] On Friday, September 4, 2015 5:55 PM, Shubha Ramani <[email protected]> wrote: Error I am getting: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Vc\bin\x86_amd64\cl.exe" /nologo /E /TC /FIAutoGen.h /Ic:\edk2\myworkspace\MdeModulePkg\Application\Dumdum /Ic:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\DEBUG /Ic:\edk2\myworkspace\MdePkg /Ic:\edk2\myworkspace\MdePkg\Include /Ic:\edk2\myworkspace\MdePkg\Include\X64 /Ic:\edk2\myworkspace\MdeModulePkg /Ic:\edk2\myworkspace\MdeModulePkg\Include /Ic:\edk2\myworkspace\IntelFrameworkPkg /Ic:\edk2\myworkspace\IntelFrameworkPkg\Include c:\edk2\myworkspace\MdeModulePkg\Application\Dumdum\hsw_avx_features.yasm > c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.ihsw_avx_features.yasm Trim --trim-long --source-code -o c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.iii c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.i "" -Ic:\edk2\myworkspace\MdeModulePkg\Application\Dumdum\ -o c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.obj c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum\OUTPUT\.\hsw_avx_features.iii'-Ic:\edk2\myworkspace\MdeModulePkg\Application\Dumdum\' is not recognized as an internal or external command,operable program or batch file.NMAKE : fatal error U1077: '"' : return code '0x1'Stop. build.exe... : error 7000: Failed to execute command C:\Program Files (x86)\Microsoft Visual Studio 10.0\Vc\bin\nmake.exe /nologo all [c:\edk2\myworkspace\Build\DuetPkgX64\RELEASE_VS2010x86\X64\MdeModulePkg\Application\Dumdum\Dumdum] - Failed -Build end time: 17:54:35, Sep.04 2015Build total time: 00:00:06 PS C:\edk2\MyWorkSpace> Shubha D. [email protected] [email protected] On Friday, September 4, 2015 5:50 PM, Shubha Ramani <[email protected]> wrote: This is what's in my build_rule.txt: [Nasm-Assembly-Code-File.COMMON.COMMON] <InputFile> ?.nasm, ?.Nasm, ?.NASM <ExtraDependency> $(MAKE_FILE) <OutputFile> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj <Command> "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i "$(NASM)" -I${s_path}(+) $(NASM_FLAGS) -o $dst ${d_path}(+)${s_base}.iii [yasm-Assembly-Code-File.COMMON.COMMON] <InputFile> ?.yasm, ?.Yasm, ?.YASM <ExtraDependency> $(MAKE_FILE) <OutputFile> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj <Command> "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i "$(YASM)" -I${s_path}(+) $(YASM_FLAGS) -o $dst ${d_path}(+)${s_base}.iii [Nasm-to-Binary-Code-File] <InputFile> ?.nasmb, ?.NASMB <ExtraDependency> $(MAKE_FILE) <OutputFile> $(OUTPUT_DIR)(+)${s_base}.bin <Command> "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i Trim --source-code --convert-hex -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i "$(NASM)" -I${s_path}(+) -l ${d_path}(+)${s_base}.lst $(NASMB_FLAGS) -o $dst ${d_path}(+)${s_base}.iii [yasm-to-Binary-Code-File] <InputFile> ?.yasmb, ?.YASMB <ExtraDependency> $(MAKE_FILE) <OutputFile> $(OUTPUT_DIR)(+)${s_base}.bin <Command> "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i Trim --source-code --convert-hex -o ${d_path}(+)${s_base}.iii ${d_path}(+)${s_base}.i "$(YASM)" -I${s_path}(+) -l ${d_path}(+)${s_base}.lst $(YASMB_FLAGS) -o $dst ${d_path}(+)${s_base}.iii And I have properly defined in "tools_def.txt" DEFINE YASM_BIN = C:\edk2\MyWorkSpace\BaseTools\Bin\Win32 *_VS2010_X64_ASM_PATH = DEF(YASM_BIN)\yasm.exe Shubha D. [email protected] [email protected] On Friday, September 4, 2015 5:36 PM, Shubha Ramani <[email protected]> wrote: Andrew Fish pointed out :http://news.gmane.org/gmane.comp.bios.tianocore.buildtools.devel/cutoff=15 Unfortunately it doesn't work. The guy who asked the original question actuallyworked in my group. I'm supporting his code (which doesn't work). Any helpwould be appreciated. Thanks, Shubha Shubha D. [email protected] [email protected] On Friday, September 4, 2015 5:33 PM, Shubha Ramani <[email protected]> wrote: I followed the examples for NASM and things just don't work. Can someone fix this and post an update ?I realize that by default EDK2 only supports NASM and MASM. But though I've followed previous posts onthis topic I'm getting massive errors. Please help ! Shubha Shubha D. [email protected] [email protected] _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

