1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.github.maven_nar.cpptasks.intel;
21
22 import org.apache.tools.ant.types.Environment;
23
24 import com.github.maven_nar.cpptasks.compiler.LinkType;
25 import com.github.maven_nar.cpptasks.compiler.Linker;
26 import com.github.maven_nar.cpptasks.compiler.Processor;
27 import com.github.maven_nar.cpptasks.msvc.MsvcCompatibleCCompiler;
28
29
30
31
32
33
34
35
36
37 public final class IntelWin32CCompiler extends MsvcCompatibleCCompiler {
38 private static final IntelWin32CCompiler instance = new IntelWin32CCompiler(false, null);
39
40 public static IntelWin32CCompiler getInstance() {
41 return instance;
42 }
43
44 private IntelWin32CCompiler(final boolean newEnvironment, final Environment env) {
45 super("icl", "-help", newEnvironment, env);
46 }
47
48 @Override
49 public Processor changeEnvironment(final boolean newEnvironment, final Environment env) {
50 if (newEnvironment || env != null) {
51 return new IntelWin32CCompiler(newEnvironment, env);
52 }
53 return this;
54 }
55
56 @Override
57 public Linker getLinker(final LinkType type) {
58 return IntelWin32Linker.getInstance().getLinker(type);
59 }
60
61 @Override
62 public int getMaximumCommandLength() {
63 return 32767;
64 }
65 }