[context] [windows] Intel C++ and GCC Support?

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.

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

On Sat, Apr 21, 2012 at 6:21 AM, Oliver Kowalke <oliver.kowalke@gmx.de>wrote:
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
______________________________**_________________ Unsubscribe & other changes: http://lists.boost.org/** mailman/listinfo.cgi/boost<http://lists.boost.org/mailman/listinfo.cgi/boost>
Okay thanks, I must've overlooked that in the docs. As for MASM, it's definitely installed, so I guess it just needs to be added to the search path. No idea what's going on with Intel though...

Am 21.04.2012 03:14, schrieb Joshua Boyce:
Okay thanks, I must've overlooked that in the docs. As for MASM, it's definitely installed, so I guess it just needs to be added to the search path. No idea what's going on with Intel though...
the best is to use the MSVC command line shell (sets the search path andsome other env variables). you should check if ml/ml64 can be invoked and you should execute with toolset=intel in the msvc commandline shell too. Oliver

On Sat, Apr 21, 2012 at 4:56 PM, Oliver Kowalke <oliver.kowalke@gmx.de>wrote:
Am 21.04.2012 03:14, schrieb Joshua Boyce:
Okay thanks, I must've overlooked that in the docs. As for MASM, it's
definitely installed, so I guess it just needs to be added to the search path. No idea what's going on with Intel though...
the best is to use the MSVC command line shell (sets the search path andsome other env variables). you should check if ml/ml64 can be invoked and you should execute with toolset=intel in the msvc commandline shell too.
Oliver
______________________________**_________________ Unsubscribe & other changes: http://lists.boost.org/** mailman/listinfo.cgi/boost<http://lists.boost.org/mailman/listinfo.cgi/boost>
Unfortunately I can't use the MSVC command line shell with Intel, as Boost.Build won't work with Intel unless it's run under the Intel shell (and even then it's kinda flaky)...

On Sat, Apr 21, 2012 at 05:00:23PM +0200, Oliver Kowalke wrote:
Am 21.04.2012 16:30, schrieb Joshua Boyce:
Unfortunately I can't use the MSVC command line shell with Intel, as Boost.Build won't work with Intel unless it's run under the Intel shell (and even then it's kinda flaky)...
strange - with mingw and MSVC command shell it works
The intel toolchain has some strange file association madness going on, where it's unusable outside of the environment that the command prompt produces. It might be worthwhile investigating what the command prompt does and reproduce it in Boost.Build, so that you don't have the strange environmental dependency that BB tends to want to avoid. The typical fault you get is a Windows message box popping up asking what program to open a 'rsp' file with, or something... it's been a couple of years since I tried. -- Lars Viklund | zao@acc.umu.se

Am 21.04.2012 17:45, schrieb Lars Viklund:
The intel toolchain has some strange file association madness going on, where it's unusable outside of the environment that the command prompt produces. It might be worthwhile investigating what the command prompt does and reproduce it in Boost.Build, so that you don't have the strange environmental dependency that BB tends to want to avoid.
the only requirement is that you have the compiler, required libs and MASM in the search path (usually MSVC command line sets this values).

On Sun, Apr 22, 2012 at 2:03 AM, Oliver Kowalke <oliver.kowalke@gmx.de>wrote:
Am 21.04.2012 17:45, schrieb Lars Viklund:
The intel toolchain has some strange file association madness going on,
where it's unusable outside of the environment that the command prompt produces. It might be worthwhile investigating what the command prompt does and reproduce it in Boost.Build, so that you don't have the strange environmental dependency that BB tends to want to avoid.
the only requirement is that you have the compiler, required libs and MASM in the search path (usually MSVC command line sets this values).
______________________________**_________________ Unsubscribe & other changes: http://lists.boost.org/** mailman/listinfo.cgi/boost<http://lists.boost.org/mailman/listinfo.cgi/boost>
Okay, given I can't use the MSVC command line (and that's not a perfect solution either, but I digress...) I'll just add MASM to my search path in the script I use to build Boost. Thanks.

On Sun, Apr 22, 2012 at 1:45 AM, Lars Viklund <zao@acc.umu.se> wrote:
On Sat, Apr 21, 2012 at 05:00:23PM +0200, Oliver Kowalke wrote:
Am 21.04.2012 16:30, schrieb Joshua Boyce:
Unfortunately I can't use the MSVC command line shell with Intel, as Boost.Build won't work with Intel unless it's run under the Intel shell (and even then it's kinda flaky)...
strange - with mingw and MSVC command shell it works
The intel toolchain has some strange file association madness going on, where it's unusable outside of the environment that the command prompt produces.
It might be worthwhile investigating what the command prompt does and reproduce it in Boost.Build, so that you don't have the strange environmental dependency that BB tends to want to avoid.
The typical fault you get is a Windows message box popping up asking what program to open a 'rsp' file with, or something... it's been a couple of years since I tried.
-- Lars Viklund | zao@acc.umu.se
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Yeah, this is exactly what's going on. Boost.Build is also passing at least one non-existent command line argument (/favor:blend) and it is trying to run the iclvars.bat script (or w/e it's called) in the incorrect location (this is the root of the problem I believe, but I haven't gotten around to fixing it since I started porting to intel a few days ago as it's only a 2nd tier compiler for me).
participants (3)
-
Joshua Boyce
-
Lars Viklund
-
Oliver Kowalke