Skip to content

Commit 50b6da0

Browse files
committed
JavaCL-JNA: Fix build
1 parent 6a9c267 commit 50b6da0

File tree

13 files changed

+261
-140
lines changed

13 files changed

+261
-140
lines changed

libraries/OpenCL-JNA/Core/pom.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,19 @@ For more info, please visit http://code.google.com/p/nativelibs4java/wiki/OpenCL
3535
<version>1.6-SNAPSHOT</version>
3636
<scope>compile</scope>
3737
</dependency>
38+
39+
<dependency>
40+
<groupId>org.jogamp.gluegen</groupId>
41+
<artifactId>gluegen-rt-main</artifactId>
42+
<version>2.0.2-rc12</version>
43+
<scope>test</scope>
44+
</dependency>
45+
<dependency>
46+
<groupId>org.jogamp.jogl</groupId>
47+
<artifactId>jogl-all-main</artifactId>
48+
<version>2.0.2-rc12</version>
49+
<scope>test</scope>
50+
</dependency>
3851

3952
</dependencies>
4053

libraries/OpenCL-JNA/Generator/src/main/java/com/nativelibs4java/opencl/generator/JavaCLGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@ public SampleUserProgram(CLContext context) throws IOException {
447447
if (macroName.equals("__LINE__") ||
448448
macroName.equals("__FILE__") ||
449449
macroName.equals("__COUNTER__") ||
450-
config.preprocessorConfig.macros.containsKey(macroName))
450+
config.preprocessorConfig.explicitMacros.containsKey(macroName))
451451
continue;
452452

453453
String[] parts = macroName.split("_+");

libraries/OpenCL-JNA/Generator/src/main/java/com/nativelibs4java/opencl/generator/JavaCLGeneratorMojo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public void generateAll(File root, File javaOutDir, File openCLOutDir) throws IO
131131
if (!javaOutDir.exists())
132132
javaOutDir.mkdirs();
133133
config.outputDir = javaOutDir;
134-
config.addSourceFile(file, null, false, true);
134+
config.addSourceFile(file, null, false, true, true);
135135
config.addRootDir(root);
136136

137137
final String fileName = file.getName();

libraries/OpenCL-JNA/OpenCL4Java/src/main/java/com/nativelibs4java/opencl/library/cl_buffer_region.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ public cl_buffer_region(NativeSize origin, NativeSize size) {
1717
this.origin = origin;
1818
this.size = size;
1919
}
20+
21+
public java.util.List<String> getFieldOrder() {
22+
return java.util.Arrays.asList("origin", "size");
23+
}
2024
protected ByReference newByReference() { return new ByReference(); }
2125
protected ByValue newByValue() { return new ByValue(); }
2226
protected cl_buffer_region newInstance() { return new cl_buffer_region(); }

libraries/OpenCL-JNA/OpenCL4Java/src/main/java/com/nativelibs4java/opencl/library/cl_image_format.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ public cl_image_format(int image_channel_order, int image_channel_data_type) {
2222
this.image_channel_order = image_channel_order;
2323
this.image_channel_data_type = image_channel_data_type;
2424
}
25+
26+
public java.util.List<String> getFieldOrder() {
27+
return java.util.Arrays.asList("image_channel_order", "image_channel_data_type");
28+
}
2529
protected ByReference newByReference() { return new ByReference(); }
2630
protected ByValue newByValue() { return new ByValue(); }
2731
protected cl_image_format newInstance() { return new cl_image_format(); }

libraries/OpenCL-JNA/OpenGLDemos/pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,17 @@
2828
<artifactId>swing-layout</artifactId>
2929
<version>1.0.3</version>
3030
</dependency>
31+
32+
<dependency>
33+
<groupId>org.jogamp.gluegen</groupId>
34+
<artifactId>gluegen-rt-main</artifactId>
35+
<version>2.0.2-rc12</version>
36+
</dependency>
37+
<dependency>
38+
<groupId>org.jogamp.jogl</groupId>
39+
<artifactId>jogl-all-main</artifactId>
40+
<version>2.0.2-rc12</version>
41+
</dependency>
3142
</dependencies>
3243

3344
<build>

libraries/OpenCL/Generator/src/main/java/com/nativelibs4java/opencl/generator/JavaCLGenerator.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,11 @@ public void initTypes() {
101101

102102
}
103103

104-
104+
@Override
105+
protected Identifier packageMember(Identifier libraryPackage, Identifier name) {
106+
return name;
107+
}
108+
105109
@Override
106110
public boolean isObjCppPrimitive(String s) {
107111
int len;
@@ -149,7 +153,7 @@ public void convertFunction(Function function, Signatures signatures, boolean is
149153
return;
150154

151155
try {
152-
tr = result.typeConverter.resolveTypeDef(tr, libraryClassName, true, false);
156+
tr = result.typeConverter.resolveTypeDef(tr, null/*libraryClassName*/, false, false);
153157
List<Modifier> mods = arg.harvestModifiers();
154158

155159
TypeRef convTr;
@@ -339,17 +343,27 @@ private Conversion convertTypeToJavaCL(Result result, String argName, TypeRef va
339343
TypeRef target = ((TypeRef.Pointer)valueType).getTarget();
340344
if (target instanceof TypeRef.SimpleTypeRef) {
341345
TypeRef.SimpleTypeRef starget = (TypeRef.SimpleTypeRef)target;
342-
343-
Pair<Integer, Class<?>> pair = buffersAndArityByType.get((starget + "").equals("long") ? "long" : starget.getName() + "");
346+
Identifier name = starget.getName();
347+
348+
Pair<Integer, Class<?>> pair = buffersAndArityByType.get((starget + "").equals("long") ? "long" : name + "");
344349
if (pair != null) {
345350
ret.outerJavaTypeRef = typeRef(ident(CLBuffer.class, expr(typeRef(pair.getSecond()))));
346351
return ret;
347352
}
348-
Identifier ref = result.typeConverter.findRef(starget.getName(), target, libraryClassName, true);
353+
Identifier ref =
354+
result.structsFullNames.contains(name) ||
355+
result.enumsFullNames.contains(name) ?
356+
name : result.typeConverter.findRef(name, target, libraryClassName, true);
349357
if (ref != null) {
350358
ret.outerJavaTypeRef = typeRef(ident(CLBuffer.class, expr(typeRef(ref))));
351359
return ret;
352360
}
361+
} else if (target instanceof Struct) {
362+
TypeRef ref = result.typeConverter.findStructRef((Struct)target, libraryClassName);
363+
if (ref != null) {
364+
ret.outerJavaTypeRef = typeRef(ident(CLBuffer.class, expr(ref)));
365+
return ret;
366+
}
353367
}
354368
throw new UnsupportedConversionException(valueType, "Unknown pointed target type");
355369
} else if (valueType instanceof TypeRef.SimpleTypeRef) {

libraries/OpenCL/OpenGLDemos/pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,17 @@
2626
<groupId>com.nativelibs4java</groupId>
2727
<artifactId>javacl-demos</artifactId>
2828
</dependency>
29+
30+
<dependency>
31+
<groupId>org.jogamp.gluegen</groupId>
32+
<artifactId>gluegen-rt-main</artifactId>
33+
<version>2.0.2-rc12</version>
34+
</dependency>
35+
<dependency>
36+
<groupId>org.jogamp.jogl</groupId>
37+
<artifactId>jogl-all-main</artifactId>
38+
<version>2.0.2-rc12</version>
39+
</dependency>
2940

3041
<dependency>
3142
<groupId>org.swinglabs</groupId>

0 commit comments

Comments
 (0)