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.gcc.GccCompatibleCCompiler;
28
29
30
31
32
33
34
35
36
37 public final class IntelLinux32CCompiler extends GccCompatibleCCompiler {
38 private static final IntelLinux32CCompiler instance = new IntelLinux32CCompiler(false, new IntelLinux32CCompiler(
39 true, null, false, null), false, null);
40
41 public static IntelLinux32CCompiler getInstance() {
42 return instance;
43 }
44
45 private IntelLinux32CCompiler(final boolean isLibtool, final IntelLinux32CCompiler libtoolCompiler,
46 final boolean newEnvironment, final Environment env) {
47 super("icc", "-V", isLibtool, libtoolCompiler, newEnvironment, env);
48 }
49
50 @Override
51 public Processor changeEnvironment(final boolean newEnvironment, final Environment env) {
52 if (newEnvironment || env != null) {
53 return new IntelLinux32CCompiler(getLibtool(), (IntelLinux32CCompiler) getLibtoolCompiler(), newEnvironment, env);
54 }
55 return this;
56 }
57
58 @Override
59 public Linker getLinker(final LinkType type) {
60
61 return IntelLinux32CLinker.getInstance().getLinker(type);
62 }
63
64 @Override
65 public int getMaximumCommandLength() {
66 return Integer.MAX_VALUE;
67 }
68 }