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 Msvc2005CCompiler extends MsvcCompatibleCCompiler {
34 private static final Msvc2005CCompiler instance = new Msvc2005CCompiler("cl", false, null);
35
36 public static Msvc2005CCompiler getInstance() {
37 return instance;
38 }
39
40 private Msvc2005CCompiler(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 Msvc2005CCompiler(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 return 32767;
60 }
61 }