3 * Copyright 2002-2004 The Ant-Contrib project
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 package net
.sf
.antcontrib
.cpptasks
.intel
;
18 import net
.sf
.antcontrib
.cpptasks
.compiler
.LinkType
;
19 import net
.sf
.antcontrib
.cpptasks
.compiler
.Linker
;
20 import net
.sf
.antcontrib
.cpptasks
.gcc
.AbstractLdLinker
;
21 import net
.sf
.antcontrib
.cpptasks
.gcc
.GccLibrarian
;
23 * Adapter for the Intel (r) Linker for Linux (r) for IA-32
27 public final class IntelLinux32Linker
extends AbstractLdLinker
{
28 private static final String
[] discardFiles
= new String
[0];
29 private static final String
[] libtoolObjFiles
= new String
[]{".fo", ".a",
30 ".lib", ".dll", ".so", ".sl"};
31 private static final String
[] objFiles
= new String
[]{".o", ".a", ".lib",
32 ".dll", ".so", ".sl"};
33 private static final IntelLinux32Linker dllLinker
= new IntelLinux32Linker(
34 "lib", ".so", false, new IntelLinux32Linker("lib", ".so", true,
36 private static final IntelLinux32Linker instance
= new IntelLinux32Linker(
38 public static IntelLinux32Linker
getInstance() {
41 private IntelLinux32Linker(String outputPrefix
, String outputSuffix
,
42 boolean isLibtool
, IntelLinux32Linker libtoolLinker
) {
43 super("icc", "-V", objFiles
, discardFiles
, outputPrefix
, outputSuffix
,
44 isLibtool
, libtoolLinker
);
46 public Linker
getLinker(LinkType type
) {
47 if (type
.isStaticLibrary()) {
48 return GccLibrarian
.getInstance();
50 if (type
.isSharedLibrary()) {