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 com.github.maven_nar.cpptasks.compiler.LinkType;
23 import com.github.maven_nar.cpptasks.compiler.Linker;
24 import com.github.maven_nar.cpptasks.msvc.MsvcCompatibleLinker;
25
26
27
28
29
30
31 public final class IntelWin32Linker extends MsvcCompatibleLinker {
32 private static final IntelWin32Linker dllLinker = new IntelWin32Linker(".dll");
33 private static final IntelWin32Linker instance = new IntelWin32Linker(".exe");
34
35 public static IntelWin32Linker getInstance() {
36 return instance;
37 }
38
39 private IntelWin32Linker(final String outputSuffix) {
40 super("xilink", "-qv", outputSuffix);
41 }
42
43 @Override
44 public Linker getLinker(final LinkType type) {
45 if (type.isStaticLibrary()) {
46 return IntelWin32Librarian.getInstance();
47 }
48 if (type.isSharedLibrary()) {
49 return dllLinker;
50 }
51 return instance;
52 }
53 }