summaryrefslogtreecommitdiffstats
path: root/make/lib/archive/cpptasks/cpptasks-1.0b5-darwin.patch
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-03-06 19:35:48 +0100
committerSven Gothel <[email protected]>2012-03-06 19:35:48 +0100
commitb31f1885fab139fb3dde9f04304406402650eb83 (patch)
treead4ce006199d30889fc854092daf2cc7040ebe74 /make/lib/archive/cpptasks/cpptasks-1.0b5-darwin.patch
parentbb698e7d5157857c728c11ffc46f0cd2ff79b345 (diff)
Update and cleanup cpptasks build & archive.
Including Edwin Vane's work in commit d51d2aaad01d1c8188193a7913c6ef0fc38ea798
Diffstat (limited to 'make/lib/archive/cpptasks/cpptasks-1.0b5-darwin.patch')
-rw-r--r--make/lib/archive/cpptasks/cpptasks-1.0b5-darwin.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/make/lib/archive/cpptasks/cpptasks-1.0b5-darwin.patch b/make/lib/archive/cpptasks/cpptasks-1.0b5-darwin.patch
new file mode 100644
index 0000000..8af11be
--- /dev/null
+++ b/make/lib/archive/cpptasks/cpptasks-1.0b5-darwin.patch
@@ -0,0 +1,70 @@
+diff -Nur cpptasks-1.0b5/src/main/java/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java cpptasks-1.0b5-osx-patched/src/main/java/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java
+--- cpptasks-1.0b5/src/main/java/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java 2008-04-02 19:26:44.000000000 +0200
++++ cpptasks-1.0b5-osx-patched/src/main/java/net/sf/antcontrib/cpptasks/gcc/AbstractLdLinker.java 2012-01-09 14:40:36.277639850 +0100
+@@ -59,7 +59,7 @@
+ args.addElement("-bundle");
+ } else {
+ if (linkType.isSharedLibrary()) {
+- args.addElement("-prebind");
++ // args.addElement("-prebind"); // Only required for OSX 10.3 and earlier, no auto-add (can add manually though)
+ args.addElement("-dynamiclib");
+ }
+ }
+diff -Nur cpptasks-1.0b5/src/main/java/net/sf/antcontrib/cpptasks/gcc/GccLinker.java cpptasks-1.0b5-osx-patched/src/main/java/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
+--- cpptasks-1.0b5/src/main/java/net/sf/antcontrib/cpptasks/gcc/GccLinker.java 2008-04-02 19:26:44.000000000 +0200
++++ cpptasks-1.0b5-osx-patched/src/main/java/net/sf/antcontrib/cpptasks/gcc/GccLinker.java 2012-01-09 15:25:12.994904288 +0100
+@@ -17,6 +17,8 @@
+ package net.sf.antcontrib.cpptasks.gcc;
+ import java.io.File;
+ import java.util.Vector;
++import java.util.HashSet;
++import java.util.Arrays;
+
+ import net.sf.antcontrib.cpptasks.CUtil;
+ import net.sf.antcontrib.cpptasks.compiler.LinkType;
+@@ -33,9 +35,10 @@
+ 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",
++ "-dynamiclib", "-nostartfiles", "-nostdlib", "-prebind", "-noprebind", "-s",
+ "-static", "-shared", "-symbolic", "-Xlinker",
+ "--export-all-symbols", "-static-libgcc",};
++ private static String[] darwinLinkerOptions = new String[]{"-arch", "-weak_framework", "-lazy_framework", "-weak_library" };
+ private static final GccLinker dllLinker = new GccLinker("gcc", objFiles,
+ discardFiles, "lib", ".so", false, new GccLinker("gcc", objFiles,
+ discardFiles, "lib", ".so", true, null));
+@@ -97,12 +100,13 @@
+ break;
+ default :
+ boolean known = false;
+- for (int i = 0; i < linkerOptions.length; i++) {
+- if (linkerOptions[i].equals(arg)) {
+- known = true;
+- break;
+- }
++ HashSet allLinkerOptions = new HashSet();
++ allLinkerOptions.addAll(Arrays.asList(linkerOptions));
++ if (isDarwin()) {
++ allLinkerOptions.addAll(Arrays.asList(darwinLinkerOptions));
+ }
++ known = allLinkerOptions.contains(arg);
++
+ if (!known) {
+ buf.setLength(0);
+ buf.append("-Wl,");
+diff -Nur cpptasks-1.0b5/src/test/java/net/sf/antcontrib/cpptasks/gcc/TestAbstractLdLinker.java cpptasks-1.0b5-osx-patched/src/test/java/net/sf/antcontrib/cpptasks/gcc/TestAbstractLdLinker.java
+--- cpptasks-1.0b5/src/test/java/net/sf/antcontrib/cpptasks/gcc/TestAbstractLdLinker.java 2008-04-02 19:26:44.000000000 +0200
++++ cpptasks-1.0b5-osx-patched/src/test/java/net/sf/antcontrib/cpptasks/gcc/TestAbstractLdLinker.java 2012-01-09 15:29:42.379687367 +0100
+@@ -73,9 +73,8 @@
+ pluginOutType.setValue("shared");
+ pluginType.setOutputType(pluginOutType);
+ linker.addImpliedArgs(false, pluginType, args);
+- assertEquals(2, args.size());
+- assertEquals("-prebind", args.elementAt(0));
+- assertEquals("-dynamiclib", args.elementAt(1));
++ assertEquals(1, args.size());
++ assertEquals("-dynamiclib", args.elementAt(0));
+ }
+ /**
+ * Checks for proper arguments for plugin generation on Darwin