Skip to content

Commit b88cf2c

Browse files
committed
JavaCL-JNA: Fix build
1 parent 626021f commit b88cf2c

File tree

2 files changed

+30
-5
lines changed

2 files changed

+30
-5
lines changed

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) {

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)