aboutsummaryrefslogtreecommitdiffstats
path: root/make/cg-common.cfg
blob: 906fbbf09efee7cbd6ace1c65505bf973cc1fec0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# This .cfg file provides common options used among all Cg glue code
# generated for Jogl on all platforms.
Package net.java.games.cg
ImplPackage net.java.games.cg.impl
JavaClass CgGL
Style AllStatic
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl_cg
HierarchicalNativeOutput false

#
# Map const char* return values to Java strings for these functions
#
ReturnsString cgGetEnumString
ReturnsString cgGetErrorString
ReturnsString cgGetLastErrorString
ReturnsString cgGetLastListing
ReturnsString cgGetParameterName
ReturnsString cgGetParameterSemantic
ReturnsString cgGetProfileString
ReturnsString cgGetProgramString
ReturnsString cgGetResourceString
ReturnsString cgGetString
ReturnsString cgGetTypeString

ArgumentIsString cgCreateProgram 2 4 5
ArgumentIsString cgCreateProgramFromFile 2 4 5
ArgumentIsString cgGetEnum 0
ArgumentIsString cgGetNamedParameter 1
ArgumentIsString cgGetNamedProgramParameter 2
ArgumentIsString cgGetNamedStructParameter 1
ArgumentIsString cgGetNamedUserType 1
ArgumentIsString cgGetProfile 0
ArgumentIsString cgGetType 0
ArgumentIsString cgGetResource 0
ArgumentIsString cgSetParameterSemantic 1

# Opaque definitions
Opaque boolean CGbool

#
# FIXME!!!!  Ignore these functions for now because we can't
# automatically handle C callbacks
#
Ignore cgGetErrorCallback
Ignore cgSetErrorCallback

#
# FIXME!!!!  Ignore these functions for now because bugs in the
# emitter code can't handle them
#
Ignore cgGetParameterValues

#
# Need to import New IO for Buffer classes
#
Import java.nio.*
# and java.security.* to allow unsigned Cg applications
Import java.security.*

# Raise CgException instead of RuntimeException in glue code
RuntimeExceptionType CgException

#
# Make sure the right definitions and include files are added to the
# generated C code
#

CustomCCode #include <stdlib.h>
CustomCCode #include <Cg/cgGL.h>

CustomJavaCode CgGL static {
CustomJavaCode CgGL   AccessController.doPrivileged(new PrivilegedAction() {
CustomJavaCode CgGL     public Object run() {
CustomJavaCode CgGL       try {
CustomJavaCode CgGL         // Workaround so that these don't need to be in the system
CustomJavaCode CgGL         // path but can be referenced from java.library.path
CustomJavaCode CgGL         // (this is intended to help with Webstarted applications)
CustomJavaCode CgGL         System.loadLibrary("cg");
CustomJavaCode CgGL         System.loadLibrary("cgGL");
CustomJavaCode CgGL       } catch (UnsatisfiedLinkError e) {
CustomJavaCode CgGL         // Consider this non-fatal
CustomJavaCode CgGL       }
CustomJavaCode CgGL       // Load the actual Cg binding
CustomJavaCode CgGL       System.loadLibrary("jogl_cg");
CustomJavaCode CgGL       return null;
CustomJavaCode CgGL     }
CustomJavaCode CgGL   });
CustomJavaCode CgGL }