summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PATCHES3
-rw-r--r--src/net/sf/antcontrib/cpptasks/OutputTypeEnum.java3
-rw-r--r--src/net/sf/antcontrib/cpptasks/compiler/LinkType.java9
-rw-r--r--src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java4
4 files changed, 17 insertions, 2 deletions
diff --git a/PATCHES b/PATCHES
index 744ccfc..20c0c17 100644
--- a/PATCHES
+++ b/PATCHES
@@ -1,5 +1,8 @@
*** Changes marked with FREEHEP.
cpptasks-20051015-patched-1.1-SNAPSHOT
+- [OutputTypeEnum] added jni
+- [compiler.LinkType] add jni as type
+- [gcc.GccLinker] add jni as type and special linker for MacOS X to output jnilib files.
- [gcc.GccCCompiler] added gfortran compiler
- [CompilerEnum] added gfortran compiler
cpptasks-20051015-patched-1.0
diff --git a/src/net/sf/antcontrib/cpptasks/OutputTypeEnum.java b/src/net/sf/antcontrib/cpptasks/OutputTypeEnum.java
index 873a99c..471ae82 100644
--- a/src/net/sf/antcontrib/cpptasks/OutputTypeEnum.java
+++ b/src/net/sf/antcontrib/cpptasks/OutputTypeEnum.java
@@ -42,7 +42,8 @@ public class OutputTypeEnum extends EnumeratedAttribute {
return new String[]{"executable", // executable program
"plugin", // plugin module
"shared", // dynamically linkable module
- "static" // convenience library
+ "static", // convenience library
+ "jni" // FREEHEP Java Native Interface library
};
}
}
diff --git a/src/net/sf/antcontrib/cpptasks/compiler/LinkType.java b/src/net/sf/antcontrib/cpptasks/compiler/LinkType.java
index d769431..31348f2 100644
--- a/src/net/sf/antcontrib/cpptasks/compiler/LinkType.java
+++ b/src/net/sf/antcontrib/cpptasks/compiler/LinkType.java
@@ -44,6 +44,12 @@ public class LinkType {
String value = outputType.getValue();
return value.equals("executable");
}
+// FREEHEP
+ public boolean isJNIModule() {
+ String value = outputType.getValue();
+ return value.equals("jni");
+ }
+
/**
* Gets whether the link should produce a plugin module.
*
@@ -60,7 +66,8 @@ public class LinkType {
*/
public boolean isSharedLibrary() {
String value = outputType.getValue();
- return value.equals("shared") || value.equals("plugin");
+// FREEHEP
+ return value.equals("shared") || value.equals("plugin") || value.equals("jni");
}
/**
* Gets whether the link should produce a static library.
diff --git a/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java b/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
index c4720c8..227d446 100644
--- a/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
+++ b/src/net/sf/antcontrib/cpptasks/gcc/GccLinker.java
@@ -191,6 +191,10 @@ public class GccLinker extends AbstractLdLinker {
if (type.isStaticLibrary()) {
return GccLibrarian.getInstance();
}
+// FREEHEP
+ if (type.isJNIModule()) {
+ return dllLinker;
+ }
if (type.isPluginModule()) {
if (isDarwin()) {
return machBundleLinker;