summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PATCHES1
-rw-r--r--src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java5
-rw-r--r--src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java2
3 files changed, 5 insertions, 3 deletions
diff --git a/PATCHES b/PATCHES
index b16dfa5..646f874 100644
--- a/PATCHES
+++ b/PATCHES
@@ -1,6 +1,7 @@
*** Changes marked with FREEHEP.
cpptasks-20051015-patched-1.2-SNAPSHOT
- added -shared-libgcc/-static-libgcc for linking gcc and c++.
+- added -dynamic as a valid option to GccLinker
cpptasks-20051015-patched-1.1
- [CCTask] added method to link with CPP
diff --git a/src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java b/src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java
index a32e28a..638e06d 100644
--- a/src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java
+++ b/src/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java
@@ -125,8 +125,9 @@ public abstract class AbstractLdLinker extends CommandLineLinker {
previousLibraryType = set.getType();
}
} else {
- if (set.getType() == null ||
- !"framework".equals(set.getType().getValue()) ||
+ // FREEHEP FIXME, recheck this, works on MacOSX
+ if (set.getType() == null &&
+ !"framework".equals(set.getType().getValue()) &&
!isDarwin()) {
endargs.addElement("-Bdynamic");
previousLibraryType = set.getType();
diff --git a/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java b/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
index be85124..4c82743 100644
--- a/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
+++ b/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
@@ -33,7 +33,7 @@ public class GccLinker extends AbstractLdLinker {
private static final String[] libtoolObjFiles = new String[]{".fo", ".a",
".lib", ".dll", ".so", ".sl"};
private static String[] linkerOptions = new String[]{"-bundle",
- "-dynamiclib", "-nostartfiles", "-nostdlib", "-prebind", "-s",
+ "-dynamic", "-dynamiclib", "-nostartfiles", "-nostdlib", "-prebind", "-s",
"-static", "-shared", "-symbolic", "-Xlinker",
"--export-all-symbols", "-static-libgcc",};
private static final GccLinker dllLinker = new GccLinker("gcc", objFiles,