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.msvc;
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
28
29
30
31
32
33 public final class MsvcCCompiler extends MsvcCompatibleCCompiler {
34 private static final MsvcCCompiler instance = new MsvcCCompiler("cl", false, null);
35
36 public static MsvcCCompiler getInstance() {
37 return instance;
38 }
39
40 private MsvcCCompiler(final String command, final boolean newEnvironment, final Environment env) {
41 super(command, "/bogus", newEnvironment, env);
42 }
43
44 @Override
45 public Processor changeEnvironment(final boolean newEnvironment, final Environment env) {
46 if (newEnvironment || env != null) {
47 return new MsvcCCompiler(getCommand(), newEnvironment, env);
48 }
49 return this;
50 }
51
52 @Override
53 public Linker getLinker(final LinkType type) {
54 return MsvcLinker.getInstance().getLinker(type);
55 }
56
57 @Override
58 public int getMaximumCommandLength() {
59
60 return 32000;
61 }
62 }