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 IntelLinux64CCompiler extends GccCompatibleCCompiler {
38 private static final IntelLinux64CCompiler instance = new IntelLinux64CCompiler(false, new IntelLinux64CCompiler(
39 true, null, false, null), false, null);
40
41 public static IntelLinux64CCompiler getInstance() {
42 return instance;
43 }
44
45 private IntelLinux64CCompiler(final boolean isLibtool, final IntelLinux64CCompiler libtoolCompiler,
46 final boolean newEnvironment, final Environment env) {
47 super("ecc", "-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 IntelLinux64CCompiler(getLibtool(), (IntelLinux64CCompiler) this.getLibtoolCompiler(), newEnvironment,
54 env);
55 }
56 return this;
57 }
58
59 @Override
60 public Linker getLinker(final LinkType type) {
61
62 return IntelLinux64CLinker.getInstance().getLinker(type);
63 }
64
65 @Override
66 public int getMaximumCommandLength() {
67 return Integer.MAX_VALUE;
68 }
69 }