$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] [context] [windows] Intel C++ and GCC Support?
From: Joshua Boyce (raptorfactor_at_[hidden])
Date: 2012-04-20 15:49:54
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.
> -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 /c
/Fo"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"
"C:\Users\Josh\Documents\code\boost-trunk\libs\context\src\asm\fcontext_x86_64_ms_pe_masm.asm"
...failed
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...
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 an aside, Boost.Context does not yet seem to have an entry in Trac.
Thanks.