diff options
Diffstat (limited to 'make/lib/archive/cpptasks/cpptasks-1.0b5-darwin.patch')
-rw-r--r-- | make/lib/archive/cpptasks/cpptasks-1.0b5-darwin.patch | 70 |
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 |