
Am 20.04.2012 21:49, schrieb Joshua Boyce:
I notice that Boost.Context only seems to support MSVC under Windows, and attempts to compile it under GCC or Intel C++ will fail because it's not correctly assembling fcontext_i386_ms_pe_masm/fcontext_x86_64_ms_pe_masm.
e.g. Under Intel I get:
intel-win.compile.asm
C:\Users\Josh\Documents\code\boost-trunk\bin.v2\libs\context\build\intel-win\debug\address-model-64\architecture-x86\link-static\runtime-link-static\threading-multi\asm\fcontext_x86_64_ms_pe_masm.obj '-c' is not recognized as an internal or external command,
operable program or batch file. -> MASM should be used here, maybe an boost.build issue
-c -Zp4 -Cp -Cx -DBOOST_ALL_NO_LIB=1 -DWINVER=_WIN32_WINNT_VISTA -D_WIN32_WINNT=_WIN32_WINNT_VISTA -DBOOST_ALL_NO_LIB=1 -DWINVER=_WIN32_WINNT_VISTA -D_WIN32_WINNT=_WIN32_WINNT_VISTA /Zi /Zd /W3 -Fo "C:\Users\Josh\Documents\code\boost-trunk\bin.v2\libs\context\build\intel-win\debug\address-model-64\architecture-x86\link-static\runtime-link-static\threading-multi\asm\fcontext_x86_64_ms_pe_masm.obj" "C:\Users\Josh\Documents\code\boost-trunk\libs\context\src\asm\fcontext_x86_64_ms_pe_masm.asm"
...failed intel-win.compile.asm C:\Users\Josh\Documents\code\boost-trunk\bin.v2\libs\context\build\intel-win\debug\address-model-64\architecture-x86\link-static\runtime-link-static\threading-multi\asm\fcontext_x86_64_ms_pe_masm.obj...
Whilst under GCC (via MinGW-w64) I get:
Jamfile</C:/Users/Josh/Documents/code/boost-trunk/libs/context/build>.masm64 C:\Users\Josh\Documents\code\boost-trunk\bin.v2\libs\context\build\gcc-mingw-4.7.0\release\address-model-64\architecture-x86\debug-symbols-on\link-static\runtime-link-static\threading-multi\asm\fcontext_x86_64_ms_pe_masm.o 'ml64' is not recognized as an internal or external command, operable program or batch file.
-> 'ml64' is not recognized -> MASM is not installed or in the search path
This occurs for both 64-bit and 32-bit compilation.
Is this a known issue with a planned fix? Or is MSVC the only compiler supported under Windows? (I know it's a pain because GCC afaik uses a different assembly syntax... Not sure about Intel.)
as I wrote in the documentation (section requirements): on Windows MASM32/64 is required Oliver