Hey List,
I've been playing around with ICC and i am curious if anyone has instructions and/or Patches for building Wine using Intel's XE Compiler?? ...I'm using the latest version; icc version 14.0.1 (gcc version 4.8.0 compatibility)
I've noticed older link on winehq; http://wiki.winehq.org/icc ... It seems he was able to get wine32 to build on x86_64, but obviously, 2008 was a little early for wine64 / ICC tests...
Currently, it doesn't get to far through configure;
checking for gcc... icc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether icc accepts -g... yes checking for icc option to accept ISO C89... none needed checking whether we are using the GNU C++ compiler... yes checking whether icpc accepts -g... yes checking for cpp... cpp checking whether icc supports __builtin_ms_va_list... no configure: error: You need gcc >= 4.4 to build Wine as 64-bit.
(and then it terminates).
ICC is setup properly on my machine(s), ie: i have used it to compile other packages. (mostly 64bit, but i did test 32bit, which worked fine too).
Anyway, If anyone has any tips and/or patches they could share, I would be very grateful / interested. :) ...
Jordan
On Tue, Dec 17, 2013 at 5:58 PM, jordan triplesquarednine@gmail.com wrote:
Hey List,
I've been playing around with ICC and i am curious if anyone has instructions and/or Patches for building Wine using Intel's XE Compiler?? ...I'm using the latest version; icc version 14.0.1 (gcc version 4.8.0 compatibility)
I've noticed older link on winehq; http://wiki.winehq.org/icc ... It seems he was able to get wine32 to build on x86_64, but obviously, 2008 was a little early for wine64 / ICC tests...
Currently, it doesn't get to far through configure;
checking for gcc... icc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether icc accepts -g... yes checking for icc option to accept ISO C89... none needed checking whether we are using the GNU C++ compiler... yes checking whether icpc accepts -g... yes checking for cpp... cpp checking whether icc supports __builtin_ms_va_list... no
icc lacks support for __builtin_ms_va_list, which is required for wine64. You won't get very far with icc until that is fixed.
Currently only gcc supports it, I filed a bug with llvm/clang for it a few years ago, but no action yet: http://llvm.org/bugs/show_bug.cgi?id=8851
ICC is setup properly on my machine(s), ie: i have used it to compile other packages. (mostly 64bit, but i did test 32bit, which worked fine too).
Interesting. Do any conformance tests fail on icc that pass gcc? Have you benchmarked it compared to gcc?
Hey Austin,
icc lacks support for __builtin_ms_va_list, which is required for wine64. You won't get very far with icc until that is fixed.
Currently only gcc supports it, I filed a bug with llvm/clang for it a few years ago, but no action yet: http://llvm.org/bugs/show_bug.cgi?id=8851
I see. Well, that is slightly unfortunate ;) ... Maybe I'll use my Intel account to rattle their cage about it too.
ICC is setup properly on my machine(s), ie: i have used it to compile other packages. (mostly 64bit, but i did test 32bit, which worked fine too).
Interesting. Do any conformance tests fail on icc that pass gcc? Have you benchmarked it compared to gcc?
Not recently... but, I've built Firefox with ICC on both Mac and Linux (years ago) - the performance gains were huge in both cases. Without even benchmarking, i would have been able to tell you which build was which, in a 'blind test'... Benchmarks (for web/browsers) got higher grades with ICC too, over gcc... but that was (like i said) a few years ago. ..and I've built Linux with ICC too. (again, not recently - circa 2.6.31/.32 LinuxDNA era)
What i have been benchmarking recently is Wine; benchmarks under different builds with different levels of patching (wine-rt / other out-of-tree patches / performance hacks), optimization of particular components/dlls, etc), just to see how much performance i could squeeze out of Wine. ~ So while i was at it -> i thought i might like to do a compiler Test; GCC Vs. ICC (obviously not gonna happen, for now.).
But Austin, if you are interested in playing with Intel XE compiler (or their entire suite), as long as its for personal use/non-commercial - you can get a free copy (of any of their tools) to play with; http://software.intel.com/en-us/non-commercial-software-development
cheerz
Jordan
Am 18.12.2013 um 03:43 schrieb jordan triplesquarednine@gmail.com:
Hey Austin,
icc lacks support for __builtin_ms_va_list, which is required for wine64. You won't get very far with icc until that is fixed.
Currently only gcc supports it, I filed a bug with llvm/clang for it a few years ago, but no action yet: http://llvm.org/bugs/show_bug.cgi?id=8851
I see. Well, that is slightly unfortunate ;) ... Maybe I'll use my Intel account to rattle their cage about it too.
Your mail doesn’t suggest that you’re deliberately trying to build a 64 bit Wine. I haven’t tried icc myself, but I guess it should work for 32 bit Wine just as it did in 2008.
Note that a 64 bit Wine is only useful for running 64 bit Windows applications. It won’t magically run 32 bit applications with 64 bit only Linux libs. The most common way to use a 64 bit wine is together with a 32 bit build to form a WoW64 environment that runs both 32 bit and 64 bit windows apps.
Hi Stefan
Your mail doesn’t suggest that you’re deliberately trying to build a 64 bit Wine. I haven’t tried icc myself, but I guess it should work for 32 bit Wine just as it did in 2008.
I wasn't trying to explicitly (and only) build wine64... my build script just builds wine64 first, then 32bit wine next.
Note that a 64 bit Wine is only useful for running 64 bit Windows applications. It won’t magically run 32 bit applications with 64 bit only Linux libs. The most common way to use a 64 bit wine is together with a 32 bit build to form a WoW64 environment that runs both 32 bit and 64 bit windows apps.
oh, i know the drill, Stefan. ~ All of my Wine prefixes are (mixed) 32bit/64bit, but i happen to mainly use 64bit Wine + WIN64 applications. For me, 32bit only comes into play when i have no choice but to use a 32bit app. (ie: i do have a few synth plugins that only work/available as 32bit... but that is far and few inbetween).
btw, fantastic job on the command stream stuff.
cheerz