Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

icc 2019 update 1 and problems with Xcode 10's new build system

chinhster
Beginner
825 Views

Although icc 2019 update 1 claims to be compatible with Xcode 10.0., it's not compatible with the new build system (at least the way I use it).

My app is a Cocoa app where the GUI is written in objective-c. The engine is written in C and uses icc for OpenMP support. I have my project configured to use the default compiler in the target build settings and have a build rule for "c source files" using icc. This way objective-c source files are built with clang and c source files are compiled with icc. In Xcode 9 and earlier, this has worked. I tried building my project with Xcode 10.0 and icc 2019 update 1 and this no longer works. When I look at the build log, I see that clang is used instead of icc for my c source files and I get build errors because clang can't find omp.h. When I switched my project setting to use the legacy build system, everything worked as before.

New build system:

CompileC /Users/someuser/foo/bar/build/foo.build/Release/foo-mp.build/Objects-normal/x86_64/somefile.o /Users/someuser/foo/bar/src/somefile.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler (in target: foo-mp)
    cd /Users/someuser/foo/bar/src/mac
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -arch x86_64 ...

Legacy build system:

CompileICC /Users/someuser/foo/bar/build/foo.build/Release/foo-mp.build/Objects-normal/x86_64/somefile.o /Users/someuser/foo/bar/src/somefile.c
    cd /Users/someuser/foo/bar/src/mac
    /usr/local/bin/icc-19.0.1.144 -x c -arch x86_64 ...

 

I think icc added support for passing through objective-c files a while back so you could theoretically set the default compiler to icc. I think I tried it and it didn't work for me so I just stuck with having a build rule. I don't remember the details though.

0 Kudos
2 Replies
JenniferJ
Moderator
825 Views

This is a known-issue, please use the "Legacy build system". 

See this https://software.intel.com/en-us/articles/known-issue-compatibility-of-intel-compiler-190-for-macos-and-xcode-10 

thanks,

Jennifer 

0 Kudos
chinhster
Beginner
825 Views

Well that's embarrassing. I read the release notes but didn't think to look at known limitations. Thanks for reply.

0 Kudos
Reply