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
.compiler
.Processor
;
21 import net
.sf
.antcontrib
.cpptasks
.gcc
.GccCompatibleCCompiler
;
23 import org
.apache
.tools
.ant
.types
.Environment
;
25 * Adapter for the Intel (r) C/C++ compiler for IA-32 Linux (r)
27 * The Intel (r) C/C++ compiler for IA32 Linux mimics the command options for
32 public final class IntelLinux32CCompiler
extends GccCompatibleCCompiler
{
33 private static final IntelLinux32CCompiler instance
= new IntelLinux32CCompiler(
34 false, new IntelLinux32CCompiler(true, null, false, null), false,
36 public static IntelLinux32CCompiler
getInstance() {
39 private IntelLinux32CCompiler(boolean isLibtool
,
40 IntelLinux32CCompiler libtoolCompiler
, boolean newEnvironment
,
42 super("icc", "-V", isLibtool
, libtoolCompiler
, newEnvironment
, env
);
44 public Processor
changeEnvironment(boolean newEnvironment
, Environment env
) {
45 if (newEnvironment
|| env
!= null) {
46 return new IntelLinux32CCompiler(getLibtool(),
47 (IntelLinux32CCompiler
) getLibtoolCompiler(),
52 public Linker
getLinker(LinkType type
) {
53 return IntelLinux32Linker
.getInstance().getLinker(type
);
55 public int getMaximumCommandLength() {
56 return Integer
.MAX_VALUE
;