summaryrefslogtreecommitdiff
path: root/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
diff options
context:
space:
mode:
authorMark Donszelmann <Mark.Donszelmann@gmail.com>2007-07-25 21:16:04 +0000
committerMark Donszelmann <Mark.Donszelmann@gmail.com>2007-07-25 21:16:04 +0000
commitc2713d458c5475f72463e0c171cc7ec8fb0534c7 (patch)
tree679984a0e2f7d5a2f6250072418b73a6a70b4df4 /src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
parent672f3b3f0955cb8b72be0441abf941b14a8d2439 (diff)
downloadcpptasks-parallel-c2713d458c5475f72463e0c171cc7ec8fb0534c7.tar.gz
cpptasks-parallel-c2713d458c5475f72463e0c171cc7ec8fb0534c7.tar.bz2
cpptasks-parallel-c2713d458c5475f72463e0c171cc7ec8fb0534c7.tar.xz
cpptasks-parallel-c2713d458c5475f72463e0c171cc7ec8fb0534c7.zip
Fixed NARPLUGIN-72
Diffstat (limited to 'src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java')
-rw-r--r--src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java26
1 files changed, 9 insertions, 17 deletions
diff --git a/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java b/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
index ed1a052..a551bfa 100644
--- a/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
+++ b/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
@@ -38,7 +38,8 @@ public class GccLinker extends AbstractLdLinker {
"-dynamiclib", "-nostartfiles", "-nostdlib", "-prebind", "-s",
"-static", "-shared", "-symbolic", "-Xlinker",
"--export-all-symbols", "-static-libgcc",};
- private static final GccLinker dllLinker = new GccLinker("gcc", objFiles,
+// FREEHEP refactored dllLinker to soLinker
+ private static final GccLinker soLinker = new GccLinker("gcc", objFiles,
discardFiles, "lib", ".so", false, new GccLinker("gcc", objFiles,
discardFiles, "lib", ".so", true, null));
private static final GccLinker instance = new GccLinker("gcc", objFiles,
@@ -49,6 +50,9 @@ public class GccLinker extends AbstractLdLinker {
objFiles, discardFiles, "lib", ".dylib", false, null);
private static final GccLinker machJNILinker = new GccLinker("gcc",
objFiles, discardFiles, "lib", ".jnilib", false, null);
+// FREEHEP added dllLinker for windows
+ private static final GccLinker dllLinker = new GccLinker("gcc",
+ objFiles, discardFiles, "", ".dll", false, null);
public static GccLinker getInstance() {
return instance;
}
@@ -197,27 +201,15 @@ public class GccLinker extends AbstractLdLinker {
}
// BEGINFREEHEP
if (type.isJNIModule()) {
- if (isDarwin()) {
- return machJNILinker;
- } else {
- return dllLinker;
- }
+ return isDarwin() ? machJNILinker : isWindows() ? dllLinker : soLinker;
}
-// ENDFREEHEP
if (type.isPluginModule()) {
- if (isDarwin()) {
- return machBundleLinker;
- } else {
- return dllLinker;
- }
+ return isDarwin() ? machBundleLinker : isWindows() ? dllLinker : soLinker;
}
if (type.isSharedLibrary()) {
- if (isDarwin()) {
- return machDllLinker;
- } else {
- return dllLinker;
- }
+ return isDarwin() ? machDllLinker : isWindows() ? dllLinker : soLinker;
}
+// ENDFREEHEP
return instance;
}
}