Révision | 12f817197d983f864acb946fec650af29532a289 (tree) |
---|---|
l'heure | 2023-11-15 06:05:11 |
Auteur | Hotshot5000 <sebastian_bugiu@yaho...> |
Commiter | Hotshot5000 |
Updated gradle. Trying to get jnigen to generate the correct xrOS native binaries
@@ -17,13 +17,13 @@ | ||
17 | 17 | subprojects { |
18 | 18 | apply plugin: "java" |
19 | 19 | |
20 | - sourceCompatibility = 1.7 | |
21 | - targetCompatibility = 1.7 | |
20 | + sourceCompatibility = 1.8 | |
21 | + targetCompatibility = 1.8 | |
22 | 22 | sourceSets.main.java.srcDirs = ["src"] |
23 | 23 | sourceSets.main.resources.srcDirs = ["res"] |
24 | 24 | |
25 | 25 | |
26 | 26 | dependencies { |
27 | - compile project(":gdx") | |
27 | + api project(":gdx") | |
28 | 28 | } |
29 | 29 | } |
@@ -15,7 +15,7 @@ | ||
15 | 15 | ******************************************************************************/ |
16 | 16 | |
17 | 17 | dependencies { |
18 | - compile libraries.lwjgl | |
18 | + api libraries.lwjgl | |
19 | 19 | } |
20 | 20 | |
21 | 21 |
@@ -18,7 +18,7 @@ sourceCompatibility = 1.8 | ||
18 | 18 | targetCompatibility = 1.8 |
19 | 19 | |
20 | 20 | dependencies { |
21 | - compile libraries.lwjgl3 | |
21 | + api libraries.lwjgl3 | |
22 | 22 | } |
23 | 23 | |
24 | 24 |
@@ -15,5 +15,5 @@ | ||
15 | 15 | ******************************************************************************/ |
16 | 16 | |
17 | 17 | dependencies { |
18 | - compile libraries.robovm | |
18 | + api libraries.robovm | |
19 | 19 | } |
@@ -15,7 +15,7 @@ | ||
15 | 15 | ******************************************************************************/ |
16 | 16 | |
17 | 17 | dependencies { |
18 | - compile libraries.gwt | |
18 | + api libraries.gwt | |
19 | 19 | } |
20 | 20 | |
21 | 21 | configurations.all { |
@@ -21,10 +21,21 @@ buildscript { | ||
21 | 21 | |
22 | 22 | repositories { |
23 | 23 | maven { url "https://plugins.gradle.org/m2/" } |
24 | + flatDir { | |
25 | + dirs '/Users/sebastian/Downloads/gdx-jnigen/gdx-jnigen-loader/build/libs/', '/Users/sebastian/Downloads/gdx-jnigen/gdx-jnigen/build/libs/', '/Users/sebastian/Downloads/gdx-jnigen/gdx-jnigen-gradle/build/libs/', '/Users/sebastian/Downloads/gdx-jnigen/out/artifacts/gdx_jnigen_jar/' | |
26 | + } | |
27 | + google() | |
28 | + gradlePluginPortal() | |
24 | 29 | } |
25 | 30 | dependencies { |
26 | 31 | classpath "com.diffplug.spotless:spotless-plugin-gradle:${versions.spotless}" |
27 | - classpath "com.badlogicgames.gdx:gdx-jnigen-gradle:2.2.0" | |
32 | + classpath ":gdx-jnigen-loader:2.4.2-SNAPSHOT" | |
33 | + classpath ":gdx-jnigen-gradle:2.4.2-SNAPSHOT" | |
34 | + classpath ":gdx-jnigen:2.4.2-SNAPSHOT" | |
35 | +// classpath files('/Users/sebastian/Downloads/gdx-jnigen/out/artifacts/gdx_jnigen_jar/gdx-jnigen.jar') | |
36 | + classpath files('/Users/sebastian/Downloads/gdx-jnigen/gdx-jnigen/build/libs/gdx-jnigen-2.4.2-SNAPSHOT-all.jar') | |
37 | + classpath files('/Users/sebastian/Downloads/gdx-jnigen/gdx-jnigen-gradle/build/libs/gdx-jnigen-2.4.2-SNAPSHOT-all.jar') | |
38 | + classpath files('/Users/sebastian/Downloads/gdx-jnigen/gdx-jnigen-loader/build/libs/gdx-jnigen-loader-2.4.2-SNAPSHOT-all.jar') | |
28 | 39 | } |
29 | 40 | } |
30 | 41 |
@@ -55,7 +66,7 @@ allprojects { | ||
55 | 66 | |
56 | 67 | configure(subprojects - project(":tests:gdx-tests-android")) { |
57 | 68 | apply plugin: "idea" |
58 | - apply plugin: "java" | |
69 | + apply plugin: "java-library" | |
59 | 70 | apply plugin: "com.diffplug.spotless" |
60 | 71 | |
61 | 72 | compileJava { |
@@ -17,8 +17,8 @@ | ||
17 | 17 | subprojects { |
18 | 18 | apply plugin: "java" |
19 | 19 | |
20 | - sourceCompatibility = 1.7 | |
21 | - targetCompatibility = 1.7 | |
20 | + sourceCompatibility = 1.8 | |
21 | + targetCompatibility = 1.8 | |
22 | 22 | |
23 | 23 | compileJava.options.encoding = 'UTF-8' |
24 | 24 |
@@ -18,6 +18,6 @@ group = "box2d-parent" | ||
18 | 18 | |
19 | 19 | subprojects { |
20 | 20 | dependencies { |
21 | - compile project(":gdx") | |
21 | + api project(":gdx") | |
22 | 22 | } |
23 | 23 | } |
@@ -0,0 +1,51 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
3 | +<plist version="1.0"> | |
4 | +<dict> | |
5 | + <key>BuildMachineOSBuild</key> | |
6 | + <string>19H1922</string> | |
7 | + <key>CFBundleDevelopmentRegion</key> | |
8 | + <string>en</string> | |
9 | + <key>CFBundleExecutable</key> | |
10 | + <string>%libName%</string> | |
11 | + <key>CFBundleIdentifier</key> | |
12 | + <string>%identifier%</string> | |
13 | + <key>CFBundleInfoDictionaryVersion</key> | |
14 | + <string>6.0</string> | |
15 | + <key>CFBundleName</key> | |
16 | + <string>%libName%</string> | |
17 | + <key>CFBundlePackageType</key> | |
18 | + <string>FMWK</string> | |
19 | + <key>CFBundleShortVersionString</key> | |
20 | + <string>1.0</string> | |
21 | + <key>CFBundleSupportedPlatforms</key> | |
22 | + <array> | |
23 | + <string>iPhoneOS</string> | |
24 | + </array> | |
25 | + <key>CFBundleVersion</key> | |
26 | + <string>1</string> | |
27 | + <key>DTCompiler</key> | |
28 | + <string>com.apple.compilers.llvm.clang.1_0</string> | |
29 | + <key>DTPlatformBuild</key> | |
30 | + <string>18D46</string> | |
31 | + <key>DTPlatformName</key> | |
32 | + <string>%platform%</string> | |
33 | + <key>DTPlatformVersion</key> | |
34 | + <string>14.4</string> | |
35 | + <key>DTSDKBuild</key> | |
36 | + <string>18D46</string> | |
37 | + <key>DTSDKName</key> | |
38 | + <string>iphoneos14.4</string> | |
39 | + <key>DTXcode</key> | |
40 | + <string>1240</string> | |
41 | + <key>DTXcodeBuild</key> | |
42 | + <string>12D4e</string> | |
43 | + <key>MinimumOSVersion</key> | |
44 | + <string>%minIOSVersion%</string> | |
45 | + <key>UIDeviceFamily</key> | |
46 | + <array> | |
47 | + <integer>1</integer> | |
48 | + <integer>2</integer> | |
49 | + </array> | |
50 | +</dict> | |
51 | +</plist> |
@@ -25,7 +25,7 @@ sourceSets.main.java.srcDirs = [ | ||
25 | 25 | ] |
26 | 26 | |
27 | 27 | dependencies { |
28 | - compile project(":gdx") | |
28 | + api project(":gdx") | |
29 | 29 | } |
30 | 30 | |
31 | 31 | apply plugin: "com.badlogicgames.gdx.gdx-jnigen" |
@@ -0,0 +1,201 @@ | ||
1 | +LOCAL_PATH:= $(call my-dir) | |
2 | +include $(CLEAR_VARS) | |
3 | + | |
4 | +LOCAL_MODULE := gdx-bullet | |
5 | +LOCAL_C_INCLUDES := src/bullet/ src/custom/ src/extras/Serialize/ src/extras/ | |
6 | + | |
7 | +LOCAL_CFLAGS := $(LOCAL_C_INCLUDES:%=-I%) -O2 -Wall -D__ANDROID__ | |
8 | +LOCAL_CPPFLAGS := $(LOCAL_C_INCLUDES:%=-I%) -O2 -Wall -D__ANDROID__ -fno-strict-aliasing -fno-rtti -DBT_NO_PROFILE -DBT_USE_INVERSE_DYNAMICS_WITH_BULLET2 -fexceptions | |
9 | +LOCAL_LDLIBS := -lm | |
10 | +LOCAL_ARM_MODE := arm | |
11 | + | |
12 | +LOCAL_SRC_FILES := memcpy_wrap.c\ | |
13 | + swig-src/dynamics/dynamics_wrap.cpp\ | |
14 | + swig-src/inversedynamics/inversedynamics_wrap.cpp\ | |
15 | + swig-src/softbody/softbody_wrap.cpp\ | |
16 | + swig-src/linearmath/linearmath_wrap.cpp\ | |
17 | + swig-src/collision/collision_wrap.cpp\ | |
18 | + swig-src/extras/extras_wrap.cpp\ | |
19 | + src/bullet/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp\ | |
20 | + src/bullet/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp\ | |
21 | + src/bullet/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp\ | |
22 | + src/bullet/BulletSoftBody/btDefaultSoftBodySolver.cpp\ | |
23 | + src/bullet/BulletSoftBody/btSoftBody.cpp\ | |
24 | + src/bullet/BulletSoftBody/btSoftMultiBodyDynamicsWorld.cpp\ | |
25 | + src/bullet/BulletSoftBody/btSoftRigidDynamicsWorld.cpp\ | |
26 | + src/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp\ | |
27 | + src/bullet/BulletSoftBody/btSoftBodyHelpers.cpp\ | |
28 | + src/bullet/BulletInverseDynamics/details/MultiBodyTreeInitCache.cpp\ | |
29 | + src/bullet/BulletInverseDynamics/details/MultiBodyTreeImpl.cpp\ | |
30 | + src/bullet/BulletInverseDynamics/IDMath.cpp\ | |
31 | + src/bullet/BulletInverseDynamics/MultiBodyTree.cpp\ | |
32 | + src/bullet/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp\ | |
33 | + src/bullet/BulletCollision/BroadphaseCollision/btDbvt.cpp\ | |
34 | + src/bullet/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp\ | |
35 | + src/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp\ | |
36 | + src/bullet/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp\ | |
37 | + src/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp\ | |
38 | + src/bullet/BulletCollision/BroadphaseCollision/btDispatcher.cpp\ | |
39 | + src/bullet/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp\ | |
40 | + src/bullet/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp\ | |
41 | + src/bullet/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp\ | |
42 | + src/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp\ | |
43 | + src/bullet/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp\ | |
44 | + src/bullet/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp\ | |
45 | + src/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp\ | |
46 | + src/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp\ | |
47 | + src/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp\ | |
48 | + src/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp\ | |
49 | + src/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp\ | |
50 | + src/bullet/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.cpp\ | |
51 | + src/bullet/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp\ | |
52 | + src/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp\ | |
53 | + src/bullet/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp\ | |
54 | + src/bullet/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp\ | |
55 | + src/bullet/BulletCollision/CollisionDispatch/btUnionFind.cpp\ | |
56 | + src/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.cpp\ | |
57 | + src/bullet/BulletCollision/CollisionDispatch/btGhostObject.cpp\ | |
58 | + src/bullet/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp\ | |
59 | + src/bullet/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp\ | |
60 | + src/bullet/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp\ | |
61 | + src/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcherMt.cpp\ | |
62 | + src/bullet/BulletCollision/CollisionDispatch/btManifoldResult.cpp\ | |
63 | + src/bullet/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp\ | |
64 | + src/bullet/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp\ | |
65 | + src/bullet/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp\ | |
66 | + src/bullet/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp\ | |
67 | + src/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp\ | |
68 | + src/bullet/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp\ | |
69 | + src/bullet/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp\ | |
70 | + src/bullet/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp\ | |
71 | + src/bullet/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp\ | |
72 | + src/bullet/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp\ | |
73 | + src/bullet/BulletCollision/CollisionDispatch/btHashedSimplePairCache.cpp\ | |
74 | + src/bullet/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp\ | |
75 | + src/bullet/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp\ | |
76 | + src/bullet/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp\ | |
77 | + src/bullet/BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.cpp\ | |
78 | + src/bullet/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp\ | |
79 | + src/bullet/BulletCollision/CollisionDispatch/btCollisionObject.cpp\ | |
80 | + src/bullet/BulletCollision/Gimpact/gim_tri_collision.cpp\ | |
81 | + src/bullet/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp\ | |
82 | + src/bullet/BulletCollision/Gimpact/gim_contact.cpp\ | |
83 | + src/bullet/BulletCollision/Gimpact/btContactProcessing.cpp\ | |
84 | + src/bullet/BulletCollision/Gimpact/gim_box_set.cpp\ | |
85 | + src/bullet/BulletCollision/Gimpact/btTriangleShapeEx.cpp\ | |
86 | + src/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.cpp\ | |
87 | + src/bullet/BulletCollision/Gimpact/btGImpactBvh.cpp\ | |
88 | + src/bullet/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp\ | |
89 | + src/bullet/BulletCollision/Gimpact/btGImpactShape.cpp\ | |
90 | + src/bullet/BulletCollision/Gimpact/gim_memory.cpp\ | |
91 | + src/bullet/BulletCollision/CollisionShapes/btMultiSphereShape.cpp\ | |
92 | + src/bullet/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp\ | |
93 | + src/bullet/BulletCollision/CollisionShapes/btConvex2dShape.cpp\ | |
94 | + src/bullet/BulletCollision/CollisionShapes/btConvexShape.cpp\ | |
95 | + src/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp\ | |
96 | + src/bullet/BulletCollision/CollisionShapes/btTriangleCallback.cpp\ | |
97 | + src/bullet/BulletCollision/CollisionShapes/btBox2dShape.cpp\ | |
98 | + src/bullet/BulletCollision/CollisionShapes/btConeShape.cpp\ | |
99 | + src/bullet/BulletCollision/CollisionShapes/btShapeHull.cpp\ | |
100 | + src/bullet/BulletCollision/CollisionShapes/btCompoundShape.cpp\ | |
101 | + src/bullet/BulletCollision/CollisionShapes/btCylinderShape.cpp\ | |
102 | + src/bullet/BulletCollision/CollisionShapes/btCollisionShape.cpp\ | |
103 | + src/bullet/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp\ | |
104 | + src/bullet/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp\ | |
105 | + src/bullet/BulletCollision/CollisionShapes/btTetrahedronShape.cpp\ | |
106 | + src/bullet/BulletCollision/CollisionShapes/btConcaveShape.cpp\ | |
107 | + src/bullet/BulletCollision/CollisionShapes/btConvexInternalShape.cpp\ | |
108 | + src/bullet/BulletCollision/CollisionShapes/btTriangleMesh.cpp\ | |
109 | + src/bullet/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp\ | |
110 | + src/bullet/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp\ | |
111 | + src/bullet/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp\ | |
112 | + src/bullet/BulletCollision/CollisionShapes/btTriangleBuffer.cpp\ | |
113 | + src/bullet/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp\ | |
114 | + src/bullet/BulletCollision/CollisionShapes/btSphereShape.cpp\ | |
115 | + src/bullet/BulletCollision/CollisionShapes/btOptimizedBvh.cpp\ | |
116 | + src/bullet/BulletCollision/CollisionShapes/btCapsuleShape.cpp\ | |
117 | + src/bullet/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp\ | |
118 | + src/bullet/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp\ | |
119 | + src/bullet/BulletCollision/CollisionShapes/btUniformScalingShape.cpp\ | |
120 | + src/bullet/BulletCollision/CollisionShapes/btEmptyShape.cpp\ | |
121 | + src/bullet/BulletCollision/CollisionShapes/btConvexHullShape.cpp\ | |
122 | + src/bullet/BulletCollision/CollisionShapes/btBoxShape.cpp\ | |
123 | + src/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp\ | |
124 | + src/bullet/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp\ | |
125 | + src/bullet/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp\ | |
126 | + src/bullet/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp\ | |
127 | + src/bullet/BulletDynamics/Dynamics/btSimulationIslandManagerMt.cpp\ | |
128 | + src/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp\ | |
129 | + src/bullet/BulletDynamics/Dynamics/btRigidBody.cpp\ | |
130 | + src/bullet/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp\ | |
131 | + src/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorldMt.cpp\ | |
132 | + src/bullet/BulletDynamics/Vehicle/btRaycastVehicle.cpp\ | |
133 | + src/bullet/BulletDynamics/Vehicle/btWheelInfo.cpp\ | |
134 | + src/bullet/BulletDynamics/Character/btKinematicCharacterController.cpp\ | |
135 | + src/bullet/BulletDynamics/Featherstone/btMultiBodyFixedConstraint.cpp\ | |
136 | + src/bullet/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp\ | |
137 | + src/bullet/BulletDynamics/Featherstone/btMultiBodySliderConstraint.cpp\ | |
138 | + src/bullet/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp\ | |
139 | + src/bullet/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp\ | |
140 | + src/bullet/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp\ | |
141 | + src/bullet/BulletDynamics/Featherstone/btMultiBody.cpp\ | |
142 | + src/bullet/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp\ | |
143 | + src/bullet/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp\ | |
144 | + src/bullet/BulletDynamics/Featherstone/btMultiBodyGearConstraint.cpp\ | |
145 | + src/bullet/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.cpp\ | |
146 | + src/bullet/BulletDynamics/MLCPSolvers/btMLCPSolver.cpp\ | |
147 | + src/bullet/BulletDynamics/MLCPSolvers/btDantzigLCP.cpp\ | |
148 | + src/bullet/BulletDynamics/ConstraintSolver/btGearConstraint.cpp\ | |
149 | + src/bullet/BulletDynamics/ConstraintSolver/btContactConstraint.cpp\ | |
150 | + src/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp\ | |
151 | + src/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp\ | |
152 | + src/bullet/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp\ | |
153 | + src/bullet/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp\ | |
154 | + src/bullet/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp\ | |
155 | + src/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp\ | |
156 | + src/bullet/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp\ | |
157 | + src/bullet/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp\ | |
158 | + src/bullet/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp\ | |
159 | + src/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp\ | |
160 | + src/bullet/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp\ | |
161 | + src/bullet/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp\ | |
162 | + src/bullet/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp\ | |
163 | + src/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp\ | |
164 | + src/bullet/LinearMath/btQuickprof.cpp\ | |
165 | + src/bullet/LinearMath/btSerializer64.cpp\ | |
166 | + src/bullet/LinearMath/btConvexHullComputer.cpp\ | |
167 | + src/bullet/LinearMath/btThreads.cpp\ | |
168 | + src/bullet/LinearMath/btSerializer.cpp\ | |
169 | + src/bullet/LinearMath/btGeometryUtil.cpp\ | |
170 | + src/bullet/LinearMath/btPolarDecomposition.cpp\ | |
171 | + src/bullet/LinearMath/btVector3.cpp\ | |
172 | + src/bullet/LinearMath/btConvexHull.cpp\ | |
173 | + src/bullet/LinearMath/btAlignedAllocator.cpp\ | |
174 | + src/custom/gdx/dynamics/FilterableVehicleRaycaster.cpp\ | |
175 | + src/custom/gdx/dynamics/InternalTickCallback.cpp\ | |
176 | + src/custom/gdx/common/jniHelpers.cpp\ | |
177 | + src/custom/gdx/linearmath/mathtypes.cpp\ | |
178 | + src/custom/gdx/collision/ContactListener.cpp\ | |
179 | + src/custom/gdx/collision/ClosestNotMeRayResultCallback.cpp\ | |
180 | + src/custom/gdx/collision/ContactCache.cpp\ | |
181 | + src/custom/gdx/collision/ClosestNotMeConvexResultCallback.cpp\ | |
182 | + src/extras/Serialize/BulletFileLoader/bFile.cpp\ | |
183 | + src/extras/Serialize/BulletFileLoader/btBulletFile.cpp\ | |
184 | + src/extras/Serialize/BulletFileLoader/bChunk.cpp\ | |
185 | + src/extras/Serialize/BulletFileLoader/bDNA.cpp\ | |
186 | + src/extras/Serialize/BulletWorldImporter/btWorldImporter.cpp\ | |
187 | + src/extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp\ | |
188 | + src/extras/InverseDynamics/invdyn_bullet_comparison.cpp\ | |
189 | + src/extras/InverseDynamics/MultiBodyTreeDebugGraph.cpp\ | |
190 | + src/extras/InverseDynamics/SimpleTreeCreator.cpp\ | |
191 | + src/extras/InverseDynamics/btMultiBodyTreeCreator.cpp\ | |
192 | + src/extras/InverseDynamics/DillCreator.cpp\ | |
193 | + src/extras/InverseDynamics/IDRandomUtil.cpp\ | |
194 | + src/extras/InverseDynamics/MultiBodyTreeCreator.cpp\ | |
195 | + src/extras/InverseDynamics/User2InternalIndex.cpp\ | |
196 | + src/extras/InverseDynamics/CoilCreator.cpp\ | |
197 | + src/extras/InverseDynamics/MultiBodyNameMap.cpp\ | |
198 | + src/extras/InverseDynamics/RandomTreeCreator.cpp\ | |
199 | + src/extras/InverseDynamics/CloneTreeCreator.cpp | |
200 | + | |
201 | +include $(BUILD_SHARED_LIBRARY) |
@@ -0,0 +1,4 @@ | ||
1 | +APP_ABI := all | |
2 | +APP_PLATFORM := android-9 | |
3 | + | |
4 | +APP_STL := c++_static | |
\ No newline at end of file |
@@ -0,0 +1,51 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
3 | +<plist version="1.0"> | |
4 | +<dict> | |
5 | + <key>BuildMachineOSBuild</key> | |
6 | + <string>19H1922</string> | |
7 | + <key>CFBundleDevelopmentRegion</key> | |
8 | + <string>en</string> | |
9 | + <key>CFBundleExecutable</key> | |
10 | + <string>%libName%</string> | |
11 | + <key>CFBundleIdentifier</key> | |
12 | + <string>%identifier%</string> | |
13 | + <key>CFBundleInfoDictionaryVersion</key> | |
14 | + <string>6.0</string> | |
15 | + <key>CFBundleName</key> | |
16 | + <string>%libName%</string> | |
17 | + <key>CFBundlePackageType</key> | |
18 | + <string>FMWK</string> | |
19 | + <key>CFBundleShortVersionString</key> | |
20 | + <string>1.0</string> | |
21 | + <key>CFBundleSupportedPlatforms</key> | |
22 | + <array> | |
23 | + <string>iPhoneOS</string> | |
24 | + </array> | |
25 | + <key>CFBundleVersion</key> | |
26 | + <string>1</string> | |
27 | + <key>DTCompiler</key> | |
28 | + <string>com.apple.compilers.llvm.clang.1_0</string> | |
29 | + <key>DTPlatformBuild</key> | |
30 | + <string>18D46</string> | |
31 | + <key>DTPlatformName</key> | |
32 | + <string>%platform%</string> | |
33 | + <key>DTPlatformVersion</key> | |
34 | + <string>14.4</string> | |
35 | + <key>DTSDKBuild</key> | |
36 | + <string>18D46</string> | |
37 | + <key>DTSDKName</key> | |
38 | + <string>iphoneos14.4</string> | |
39 | + <key>DTXcode</key> | |
40 | + <string>1240</string> | |
41 | + <key>DTXcodeBuild</key> | |
42 | + <string>12D4e</string> | |
43 | + <key>MinimumOSVersion</key> | |
44 | + <string>%minIOSVersion%</string> | |
45 | + <key>UIDeviceFamily</key> | |
46 | + <array> | |
47 | + <integer>1</integer> | |
48 | + <integer>2</integer> | |
49 | + </array> | |
50 | +</dict> | |
51 | +</plist> |
@@ -0,0 +1,33 @@ | ||
1 | +<project name="android-natives" basedir="." default="postcompile"> | |
2 | + <property environment="env" /> | |
3 | + <!-- the suffix ndk-build executable --> | |
4 | + <property name="ndkSuffix" value="" /> | |
5 | + | |
6 | + <target name="clean" depends="check-for-ndk" if="has-ndk-build"> | |
7 | + <exec executable="${env.NDK_HOME}/ndk-build${ndkSuffix}" failonerror="true"> | |
8 | + <arg value="clean"/> | |
9 | + </exec> | |
10 | + </target> | |
11 | + | |
12 | + <target name="precompile" depends="check-for-ndk"> | |
13 | + | |
14 | + </target> | |
15 | + | |
16 | + <target name="compile-natives" depends="precompile" if="has-ndk-build"> | |
17 | + <echo>ndk_home: ${env.NDK_HOME}</echo> | |
18 | + <exec executable="${env.NDK_HOME}/ndk-build${ndkSuffix}" failonerror="true"/> | |
19 | + </target> | |
20 | + | |
21 | + <target name="postcompile" depends="compile-natives"> | |
22 | + | |
23 | + </target> | |
24 | + | |
25 | + <target name="check-for-ndk"> | |
26 | + <condition property="ndk-build-found"> | |
27 | + <available file="ndk-build${ndkSuffix}" filepath="${env.NDK_HOME}"/> | |
28 | + </condition> | |
29 | + <condition property="has-ndk-build"> | |
30 | + <equals arg1="${ndk-build-found}" arg2="true"/> | |
31 | + </condition> | |
32 | + </target> | |
33 | +</project> |
@@ -0,0 +1,389 @@ | ||
1 | +<project name="gdx-bullet-IOS-32" basedir="." default="postcompile"> | |
2 | + <!-- include the environment --> | |
3 | + <property environment="env"/> | |
4 | + <!-- output directory for temporary object files --> | |
5 | + <property name="buildDir" value="target/ios32" /> | |
6 | + <property name="absolute.buildDir" location="${buildDir}"/> | |
7 | + <!-- output directory for the shared library --> | |
8 | + <property name="libsDir" value="../libs/ios32" /> | |
9 | + <!-- the name of the shared library --> | |
10 | + <property name="libName" value="gdx-bullet."/> | |
11 | + <!-- the name of the xcframework library --> | |
12 | + <property name="xcframeworkName" value="gdx-bullet"/> | |
13 | + <!-- the bundle identifier of the xcframework library --> | |
14 | + <property name="xcframeworkBundleIdentifier" value="gdx.jnigen.gdx-bullet"/> | |
15 | + <!-- The minimum iOS version --> | |
16 | + <property name="minIOSVersion" value="11.0"/> | |
17 | + <!-- the jni header jniPlatform to use --> | |
18 | + <property name="jniPlatform" value="mac"/> | |
19 | + <!-- the compiler to use when compiling c files --> | |
20 | + <property name="cCompiler" value="clang"/> | |
21 | + <!-- the compiler to use when compiling c++ files --> | |
22 | + <property name="cppCompiler" value="clang++"/> | |
23 | + <!-- the command to use when archiving files --> | |
24 | + <property name="archiver" value="ar"/> | |
25 | + <!-- the compilerPrefix for the C & C++ compilers --> | |
26 | + <property name="compilerPrefix" value=""/> | |
27 | + <!-- the compilerSuffix for the C & C++ compilers --> | |
28 | + <property name="compilerSuffix" value="" /> | |
29 | + | |
30 | + <property name="iphoneos-sdk" value="/Applications/Xcode-15.1.0-Beta.2.app/Contents/Developer/Platforms/XROS.platform/Developer/SDKs/XROS.sdk/"/> | |
31 | + <property name="iphonesimulator-sdk" value="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk"/> | |
32 | + | |
33 | + | |
34 | + <!-- define gcc compiler, options and files to compile --> | |
35 | + <property name="gcc" value="${compilerPrefix}${cCompiler}${compilerSuffix}"/> | |
36 | + <property name="gcc-opts" value="-c -Wall -O2 -stdlib=libc++"/> | |
37 | + <fileset id="gcc-files" dir="./"> | |
38 | + <exclude name="target/"/> | |
39 | + <include name="memcpy_wrap.c"/> | |
40 | + <include name="**/*.c"/> | |
41 | + | |
42 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
43 | + | |
44 | + </fileset> | |
45 | + | |
46 | + <!-- define g++ compiler, options and files to compile --> | |
47 | + <property name="g++" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
48 | + <property name="g++-opts" value="-c -Wall -O2 -stdlib=libc++ -fno-strict-aliasing -fno-rtti -DBT_NO_PROFILE -DBT_USE_INVERSE_DYNAMICS_WITH_BULLET2 -stdlib=libc++"/> | |
49 | + <fileset id="g++-files" dir="./"> | |
50 | + <exclude name="target/"/> | |
51 | + <include name="**/*.cpp"/> | |
52 | + | |
53 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
54 | + | |
55 | + </fileset> | |
56 | + | |
57 | + <!-- define linker and options --> | |
58 | + <property name="linker" value="${cppCompiler}" /> | |
59 | + <property name="linker-opts" value="-shared -stdlib=libc++ -install_name @rpath/${libName}.framework/${libName}"/> | |
60 | + <property name="libraries" value=""/> | |
61 | + | |
62 | + <!-- cleans the build directory, removes all object files and shared libs --> | |
63 | + <target name="clean"> | |
64 | + <delete includeemptydirs="true" quiet="true"> | |
65 | + <fileset dir="${buildDir}"/> | |
66 | + <fileset dir="${libsDir}" includes="**/*"/> | |
67 | + </delete> | |
68 | + </target> | |
69 | + | |
70 | + <target name="create-build-dir"> | |
71 | + <!-- FIXME this is pretty nasty :/ | |
72 | + The source files are copied to the output folders | |
73 | + thereby creating the directory hiearchy. | |
74 | + --> | |
75 | + <copy todir="${buildDir}"> | |
76 | + <fileset refid="g++-files"/> | |
77 | + <fileset refid="gcc-files"/> | |
78 | + </copy> | |
79 | + <copy todir="${buildDir}/x86_64"> | |
80 | + <fileset refid="g++-files"/> | |
81 | + <fileset refid="gcc-files"/> | |
82 | + </copy> | |
83 | + <copy todir="${buildDir}/arm64-simulator"> | |
84 | + <fileset refid="g++-files"/> | |
85 | + <fileset refid="gcc-files"/> | |
86 | + </copy> | |
87 | + <copy todir="${buildDir}/arm64"> | |
88 | + <fileset refid="g++-files"/> | |
89 | + <fileset refid="gcc-files"/> | |
90 | + </copy> | |
91 | + <delete> | |
92 | + <fileset dir="${buildDir}/x86_64"> | |
93 | + <include name="*"/> | |
94 | + </fileset> | |
95 | + <fileset dir="${buildDir}/arm64-simulator"> | |
96 | + <include name="*"/> | |
97 | + </fileset> | |
98 | + <fileset dir="${buildDir}/arm64"> | |
99 | + <include name="*"/> | |
100 | + </fileset> | |
101 | + </delete> | |
102 | + <mkdir dir="${libsDir}"/> | |
103 | + </target> | |
104 | + | |
105 | + <!-- compiles all C and C++ files to object files in the build directory, for x86_64 builds--> | |
106 | + <target name="compile-x86_64" depends="create-build-dir"> | |
107 | + <apply failonerror="false" executable="${g++}" dest="${buildDir}/x86_64" verbose="true"> | |
108 | + <arg line="-isysroot ${iphonesimulator-sdk} -arch x86_64 -mios-simulator-version-min=${minIOSVersion} ${g++-opts}"/> | |
109 | + <arg value="-Ijni-headers"/> | |
110 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
111 | + <arg value="-I."/> | |
112 | + <arg value="-g"/> | |
113 | + <arg value="-Isrc/bullet/"/> | |
114 | + <arg value="-Isrc/custom/"/> | |
115 | + <arg value="-Isrc/extras/Serialize/"/> | |
116 | + <arg value="-Isrc/extras/"/> | |
117 | + | |
118 | + <srcfile/> | |
119 | + <arg value="-o"/> | |
120 | + <targetfile/> | |
121 | + <fileset refid="g++-files"/> | |
122 | + <compositemapper> | |
123 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
124 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
125 | + </compositemapper> | |
126 | + </apply> | |
127 | + <apply failonerror="false" executable="${gcc}" dest="${buildDir}/x86_64" verbose="true"> | |
128 | + <arg line="-isysroot ${iphonesimulator-sdk} -arch x86_64 -mios-simulator-version-min=${minIOSVersion} ${gcc-opts}"/> | |
129 | + <arg value="-Ijni-headers"/> | |
130 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
131 | + <arg value="-I."/> | |
132 | + <arg value="-g"/> | |
133 | + <arg value="-Isrc/bullet/"/> | |
134 | + <arg value="-Isrc/custom/"/> | |
135 | + <arg value="-Isrc/extras/Serialize/"/> | |
136 | + <arg value="-Isrc/extras/"/> | |
137 | + | |
138 | + <srcfile/> | |
139 | + <arg value="-o"/> | |
140 | + <targetfile/> | |
141 | + <fileset refid="gcc-files"/> | |
142 | + <compositemapper> | |
143 | + <mapper type="glob" from="*.c" to="*.o"/> | |
144 | + </compositemapper> | |
145 | + </apply> | |
146 | + </target> | |
147 | + | |
148 | + <!-- links the shared library based on the previously compiled object files --> | |
149 | + <target name="link-x86_64" depends="compile-x86_64"> | |
150 | + <fileset dir="${buildDir}/x86_64" id="objFileSet"> | |
151 | + <patternset> | |
152 | + <include name="**/*.o" /> | |
153 | + </patternset> | |
154 | + </fileset> | |
155 | + <pathconvert pathsep=" " property="objFiles" refid="objFileSet" /> | |
156 | + <mkdir dir="${libsDir}" /> | |
157 | + <exec executable="${linker}" failonerror="false" dir="${buildDir}/x86_64"> | |
158 | + <arg line="-isysroot ${iphonesimulator-sdk} -arch x86_64 -mios-simulator-version-min=${minIOSVersion} ${linker-opts}"/> | |
159 | + <arg value="-o" /> | |
160 | + <arg path="${buildDir}/x86_64/${libName}" /> | |
161 | + <arg line="${objFiles}"/> | |
162 | + <arg line="${libraries}" /> | |
163 | + </exec> | |
164 | + </target> | |
165 | + | |
166 | + | |
167 | + <!-- compiles all C and C++ files to object files in the build directory, for arm64 simulator builds--> | |
168 | + <target name="compile-arm64-simulator" depends="create-build-dir"> | |
169 | + <apply failonerror="false" executable="${g++}" dest="${buildDir}/arm64-simulator" verbose="true"> | |
170 | + <arg line="-isysroot ${iphonesimulator-sdk} -arch arm64 -mios-simulator-version-min=${minIOSVersion} ${g++-opts}"/> | |
171 | + <arg value="-Ijni-headers"/> | |
172 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
173 | + <arg value="-I."/> | |
174 | + <arg value="-g"/> | |
175 | + <arg value="-Isrc/bullet/"/> | |
176 | + <arg value="-Isrc/custom/"/> | |
177 | + <arg value="-Isrc/extras/Serialize/"/> | |
178 | + <arg value="-Isrc/extras/"/> | |
179 | + | |
180 | + <srcfile/> | |
181 | + <arg value="-o"/> | |
182 | + <targetfile/> | |
183 | + <fileset refid="g++-files"/> | |
184 | + <compositemapper> | |
185 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
186 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
187 | + </compositemapper> | |
188 | + </apply> | |
189 | + <apply failonerror="false" executable="${gcc}" dest="${buildDir}/arm64-simulator" verbose="true"> | |
190 | + <arg line="-isysroot ${iphonesimulator-sdk} -arch arm64 -mios-simulator-version-min=${minIOSVersion} ${gcc-opts}"/> | |
191 | + <arg value="-Ijni-headers"/> | |
192 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
193 | + <arg value="-I."/> | |
194 | + <arg value="-g"/> | |
195 | + <arg value="-Isrc/bullet/"/> | |
196 | + <arg value="-Isrc/custom/"/> | |
197 | + <arg value="-Isrc/extras/Serialize/"/> | |
198 | + <arg value="-Isrc/extras/"/> | |
199 | + | |
200 | + <srcfile/> | |
201 | + <arg value="-o"/> | |
202 | + <targetfile/> | |
203 | + <fileset refid="gcc-files"/> | |
204 | + <compositemapper> | |
205 | + <mapper type="glob" from="*.c" to="*.o"/> | |
206 | + </compositemapper> | |
207 | + </apply> | |
208 | + </target> | |
209 | + | |
210 | + <!-- links the shared library based on the previously compiled object files --> | |
211 | + <target name="link-arm64-simulator" depends="compile-arm64-simulator"> | |
212 | + <fileset dir="${buildDir}/arm64-simulator" id="objFileSetArm64Simulator"> | |
213 | + <patternset> | |
214 | + <include name="**/*.o" /> | |
215 | + </patternset> | |
216 | + </fileset> | |
217 | + <pathconvert pathsep=" " property="objFilesArm64Simulator" refid="objFileSetArm64Simulator" /> | |
218 | + <mkdir dir="${libsDir}" /> | |
219 | + <exec executable="${linker}" failonerror="false" dir="${buildDir}/arm64-simulator"> | |
220 | + <arg line="-isysroot ${iphonesimulator-sdk} -arch arm64 -mios-simulator-version-min=${minIOSVersion} ${linker-opts}"/> | |
221 | + <arg value="-o" /> | |
222 | + <arg path="${buildDir}/arm64-simulator/${libName}" /> | |
223 | + <arg line="${objFilesArm64Simulator}"/> | |
224 | + <arg line="${libraries}" /> | |
225 | + </exec> | |
226 | + </target> | |
227 | + | |
228 | + <!-- compiles all C and C++ files to object files in the build directory, for arm64 builds--> | |
229 | + <target name="compile-arm64" depends="create-build-dir"> | |
230 | + <apply failonerror="true" executable="${g++}" dest="${buildDir}/arm64" verbose="true"> | |
231 | + <arg line="-isysroot ${iphoneos-sdk} -arch arm64 -miphoneos-version-min=${minIOSVersion} ${g++-opts}"/> | |
232 | + <arg value="-Ijni-headers"/> | |
233 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
234 | + <arg value="-I."/> | |
235 | + <arg value="-g"/> | |
236 | + <arg value="-Isrc/bullet/"/> | |
237 | + <arg value="-Isrc/custom/"/> | |
238 | + <arg value="-Isrc/extras/Serialize/"/> | |
239 | + <arg value="-Isrc/extras/"/> | |
240 | + | |
241 | + <srcfile/> | |
242 | + <arg value="-o"/> | |
243 | + <targetfile/> | |
244 | + <fileset refid="g++-files"/> | |
245 | + <compositemapper> | |
246 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
247 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
248 | + </compositemapper> | |
249 | + </apply> | |
250 | + <apply failonerror="true" executable="${gcc}" dest="${buildDir}/arm64" verbose="true"> | |
251 | + <arg line="-isysroot ${iphoneos-sdk} -arch arm64 -miphoneos-version-min=${minIOSVersion} ${gcc-opts}"/> | |
252 | + <arg value="-Ijni-headers"/> | |
253 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
254 | + <arg value="-I."/> | |
255 | + <arg value="-g"/> | |
256 | + <arg value="-Isrc/bullet/"/> | |
257 | + <arg value="-Isrc/custom/"/> | |
258 | + <arg value="-Isrc/extras/Serialize/"/> | |
259 | + <arg value="-Isrc/extras/"/> | |
260 | + | |
261 | + <srcfile/> | |
262 | + <arg value="-o"/> | |
263 | + <targetfile/> | |
264 | + <fileset refid="gcc-files"/> | |
265 | + <compositemapper> | |
266 | + <mapper type="glob" from="*.c" to="*.o"/> | |
267 | + </compositemapper> | |
268 | + </apply> | |
269 | + </target> | |
270 | + | |
271 | + <!-- links the shared library based on the previously compiled object files --> | |
272 | + <target name="link-arm64" depends="compile-arm64"> | |
273 | + <fileset dir="${buildDir}/arm64" id="objFileSetArm64"> | |
274 | + <patternset> | |
275 | + <include name="**/*.o" /> | |
276 | + </patternset> | |
277 | + </fileset> | |
278 | + <pathconvert pathsep=" " property="objFilesArm64" refid="objFileSetArm64" /> | |
279 | + <mkdir dir="${libsDir}" /> | |
280 | + <exec executable="${linker}" failonerror="true" dir="${buildDir}/arm64"> | |
281 | + <arg line="-isysroot ${iphoneos-sdk} -arch arm64 -miphoneos-version-min=${minIOSVersion} ${linker-opts}"/> | |
282 | + <arg value="-o" /> | |
283 | + <arg path="${buildDir}/arm64/${libName}" /> | |
284 | + <arg line="${objFilesArm64}"/> | |
285 | + <arg line="${libraries}" /> | |
286 | + </exec> | |
287 | + </target> | |
288 | + | |
289 | + <target name="archive-fat" depends="link-x86_64,link-arm64-simulator,link-arm64"> | |
290 | + <mkdir dir="${buildDir}/device/${libName}.framework/"/> | |
291 | + <copy file="${buildDir}/arm64/${libName}" tofile="${buildDir}/device/${libName}.framework/${libName}"/> | |
292 | + <mkdir dir="${buildDir}/simulator/${libName}.framework/"/> | |
293 | + <exec executable="lipo" failonerror="true" dir="${buildDir}"> | |
294 | + <arg line="-create -output simulator/${libName}.framework/${libName} x86_64/${libName} arm64-simulator/${libName}"/> | |
295 | + </exec> | |
296 | + </target> | |
297 | + | |
298 | + <target name="build-plist-device" depends="archive-fat"> | |
299 | + <copy file="Info.plist" tofile="${buildDir}/device/${libName}.framework/Info.plist"/> | |
300 | + <exec executable="/usr/libexec/PlistBuddy" failonerror="true" dir="${buildDir}"> | |
301 | + <arg value="-c"/> | |
302 | + <arg value="Set :CFBundleName ${libName}"/> | |
303 | + <arg value="-c"/> | |
304 | + <arg value="Set :CFBundleExecutable ${libName}"/> | |
305 | + <arg value="-c"/> | |
306 | + <arg value="Set :DTPlatformName iphoneos"/> | |
307 | + <arg value="-c"/> | |
308 | + <arg value="Set :CFBundleIdentifier ${xcframeworkBundleIdentifier}"/> | |
309 | + <arg value="-c"/> | |
310 | + <arg value="Set :MinimumOSVersion ${minIOSVersion}"/> | |
311 | + <arg value="${absolute.buildDir}/device/${libName}.framework/Info.plist"/> | |
312 | + </exec> | |
313 | + <exec executable="plutil" failonerror="true" dir="${buildDir}"> | |
314 | + <arg line="-convert"/> | |
315 | + <arg line="binary1"/> | |
316 | + <arg line="${absolute.buildDir}/device/${libName}.framework/Info.plist"/> | |
317 | + </exec> | |
318 | + </target> | |
319 | + | |
320 | + <target name="build-plist-simulator" depends="archive-fat"> | |
321 | + <copy file="Info.plist" tofile="${buildDir}/simulator/${libName}.framework/Info.plist"/> | |
322 | + <exec executable="/usr/libexec/PlistBuddy" failonerror="true" dir="${buildDir}"> | |
323 | + <arg value="-c"/> | |
324 | + <arg value="Set :CFBundleName ${libName}"/> | |
325 | + <arg value="-c"/> | |
326 | + <arg value="Set :CFBundleExecutable ${libName}"/> | |
327 | + <arg value="-c"/> | |
328 | + <arg value="Set :DTPlatformName iphonesimulator"/> | |
329 | + <arg value="-c"/> | |
330 | + <arg value="Set :CFBundleIdentifier ${xcframeworkBundleIdentifier}"/> | |
331 | + <arg value="-c"/> | |
332 | + <arg value="Set :MinimumOSVersion ${minIOSVersion}"/> | |
333 | + <arg value="${absolute.buildDir}/simulator/${libName}.framework/Info.plist"/> | |
334 | + </exec> | |
335 | + <exec executable="plutil" failonerror="true" dir="${buildDir}"> | |
336 | + <arg line="-convert"/> | |
337 | + <arg line="binary1"/> | |
338 | + <arg line="${absolute.buildDir}/simulator/${libName}.framework/Info.plist"/> | |
339 | + </exec> | |
340 | + </target> | |
341 | + | |
342 | + <target name="generate-dsyms" depends="build-plist-device,build-plist-simulator"> | |
343 | + <exec executable="dsymutil" failonerror="true" dir="${buildDir}"> | |
344 | + <arg line="${absolute.buildDir}/simulator/${libName}.framework/${libName}"/> | |
345 | + <arg line="-o"/> | |
346 | + <arg line="${absolute.buildDir}/simulator/${libName}.framework.dSYM"/> | |
347 | + </exec> | |
348 | + <exec executable="dsymutil" failonerror="true" dir="${buildDir}"> | |
349 | + <arg line="${absolute.buildDir}/device/${libName}.framework/${libName}"/> | |
350 | + <arg line="-o"/> | |
351 | + <arg line="${absolute.buildDir}/device/${libName}.framework.dSYM"/> | |
352 | + </exec> | |
353 | + </target> | |
354 | + | |
355 | + | |
356 | + <target name="strip" depends="generate-dsyms"> | |
357 | + <exec executable="strip" failonerror="true" dir="${buildDir}"> | |
358 | + <arg line="-x"/> | |
359 | + <arg line="${absolute.buildDir}/simulator/${libName}.framework/${libName}"/> | |
360 | + </exec> | |
361 | + <exec executable="strip" failonerror="true" dir="${buildDir}"> | |
362 | + <arg line="-x"/> | |
363 | + <arg line="${absolute.buildDir}/device/${libName}.framework/${libName}"/> | |
364 | + </exec> | |
365 | + </target> | |
366 | + | |
367 | + <target name="create-xcframework" depends="strip"> | |
368 | + <exec executable="xcodebuild" failonerror="true"> | |
369 | + <arg line="-create-xcframework"/> | |
370 | + | |
371 | + <arg line="-framework"/> | |
372 | + <arg line="${buildDir}/device/${libName}.framework"/> | |
373 | + <arg line="-debug-symbols"/> | |
374 | + <arg line="${absolute.buildDir}/device/${libName}.framework.dSYM"/> | |
375 | + | |
376 | + <arg line="-framework"/> | |
377 | + <arg line="${buildDir}/simulator/${libName}.framework"/> | |
378 | + <arg line="-debug-symbols"/> | |
379 | + <arg line="${absolute.buildDir}/simulator/${libName}.framework.dSYM"/> | |
380 | + | |
381 | + <arg line="-output"/> | |
382 | + <arg line="${libsDir}/${xcframeworkName}.xcframework"/> | |
383 | + </exec> | |
384 | + </target> | |
385 | + | |
386 | + <target name="postcompile" depends="create-xcframework"> | |
387 | + | |
388 | + </target> | |
389 | +</project> |
@@ -0,0 +1,186 @@ | ||
1 | +<project name="gdx-bullet-Linux-64" basedir="." default="postcompile"> | |
2 | + <!-- include the environment --> | |
3 | + <property environment="env"/> | |
4 | + <!-- output directory for temporary object files --> | |
5 | + <property name="buildDir" value="target/linux64" /> | |
6 | + <!-- output directory for the shared library --> | |
7 | + <property name="libsDir" value="../libs/linux64" /> | |
8 | + <!-- the name of the shared library --> | |
9 | + <property name="libName" value="libgdx-bullet64.so"/> | |
10 | + <!-- the jni header jniPlatform to use --> | |
11 | + <property name="jniPlatform" value="linux"/> | |
12 | + <!-- the compiler to use when compiling c files --> | |
13 | + <property name="cCompiler" value="gcc"/> | |
14 | + <!-- the compiler to use when compiling c++ files --> | |
15 | + <property name="cppCompiler" value="g++"/> | |
16 | + <!-- the command to use when archiving files --> | |
17 | + <property name="archiver" value="ar"/> | |
18 | + <!-- the compilerPrefix for the C & C++ compilers --> | |
19 | + <property name="compilerPrefix" value=""/> | |
20 | + <!-- the compilerSuffix for the C & C++ compilers --> | |
21 | + <property name="compilerSuffix" value="" /> | |
22 | + | |
23 | + <!-- define gcc compiler, options and files to compile --> | |
24 | + <property name="gcc" value="${compilerPrefix}${cCompiler}${compilerSuffix}"/> | |
25 | + <property name="gcc-opts" value="-c -Wall -O2 -mfpmath=sse -msse -fmessage-length=0 -m64 -fPIC"/> | |
26 | + <fileset id="gcc-files" dir="./"> | |
27 | + <exclude name="target/"/> | |
28 | + <include name="memcpy_wrap.c"/> | |
29 | + <include name="**/*.c"/> | |
30 | + | |
31 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
32 | + | |
33 | + </fileset> | |
34 | + | |
35 | + <!-- define g++ compiler, options and files to compile --> | |
36 | + <property name="g++" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
37 | + <property name="g++-opts" value="-c -Wall -O2 -mfpmath=sse -msse -fmessage-length=0 -m64 -fPIC -fno-strict-aliasing -fno-rtti -DBT_NO_PROFILE -DBT_USE_INVERSE_DYNAMICS_WITH_BULLET2"/> | |
38 | + <fileset id="g++-files" dir="./"> | |
39 | + <exclude name="target/"/> | |
40 | + <include name="**/*.cpp"/> | |
41 | + | |
42 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
43 | + | |
44 | + </fileset> | |
45 | + | |
46 | + <!-- define linker and options --> | |
47 | + <property name="linker" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
48 | + <property name="linker-opts" value="-shared -m64 -Wl,-wrap,memcpy"/> | |
49 | + <property name="libraries" value=""/> | |
50 | + | |
51 | + <!-- define stripper --> | |
52 | + <property name="stripper" value="${compilerPrefix}strip${compilerSuffix}"/> | |
53 | + | |
54 | + <!-- cleans the build directory, removes all object files and shared libs --> | |
55 | + <target name="clean"> | |
56 | + <delete includeemptydirs="true" quiet="true"> | |
57 | + <fileset dir="${buildDir}"/> | |
58 | + <fileset dir="${libsDir}" includes="**/*" excludes="**/.svn"/> | |
59 | + </delete> | |
60 | + </target> | |
61 | + | |
62 | + <target name="precompile"> | |
63 | + <condition property="compiler-found"> | |
64 | + <and> | |
65 | + <or> | |
66 | + <!-- Include both b/c Windows might be either --> | |
67 | + <available file="${g++}" filepath="${env.PATH}"/> | |
68 | + <available file="${g++}" filepath="${env.Path}"/> | |
69 | + </or> | |
70 | + <or> | |
71 | + <!-- Include both b/c Windows might be either --> | |
72 | + <available file="${gcc}" filepath="${env.PATH}"/> | |
73 | + <available file="${gcc}" filepath="${env.Path}"/> | |
74 | + </or> | |
75 | + </and> | |
76 | + </condition> | |
77 | + <condition property="has-compiler"> | |
78 | + <equals arg1="${compiler-found}" arg2="true"/> | |
79 | + </condition> | |
80 | + <condition property="stripper-found"> | |
81 | + <or> | |
82 | + <!-- Include both b/c Windows might be either --> | |
83 | + <available file="${stripper}" filepath="${env.PATH}"/> | |
84 | + <available file="${stripper}" filepath="${env.Path}"/> | |
85 | + </or> | |
86 | + </condition> | |
87 | + <condition property="should-strip"> | |
88 | + <and> | |
89 | + <equals arg1="${stripper-found}" arg2="true"/> | |
90 | + <equals arg1="${release}" arg2="true"/> | |
91 | + <!-- Don't strip mac osx libs --> | |
92 | + <not> | |
93 | + <contains string="${libName}" substring="dylib"/> | |
94 | + </not> | |
95 | + </and> | |
96 | + </condition> | |
97 | + | |
98 | + </target> | |
99 | + | |
100 | + <target name="create-build-dir" depends="precompile" if="has-compiler"> | |
101 | + <!-- FIXME this is pretty nasty :/ --> | |
102 | + <copy todir="${buildDir}"> | |
103 | + <fileset refid="g++-files"/> | |
104 | + <fileset refid="gcc-files"/> | |
105 | + </copy> | |
106 | + <delete> | |
107 | + <fileset dir="${buildDir}"> | |
108 | + <include name="*"/> | |
109 | + <exclude name="*.o"/> | |
110 | + </fileset> | |
111 | + </delete> | |
112 | + </target> | |
113 | + | |
114 | + <!-- compiles all C and C++ files to object files in the build directory --> | |
115 | + <target name="compile" depends="create-build-dir" if="has-compiler"> | |
116 | + <mkdir dir="${buildDir}"/> | |
117 | + <apply failonerror="true" executable="${g++}" dest="${buildDir}" verbose="true"> | |
118 | + <arg line="${g++-opts}"/> | |
119 | + <arg value="-Ijni-headers"/> | |
120 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
121 | + <arg value="-I."/> | |
122 | + <arg value="-Isrc/bullet/"/> | |
123 | + <arg value="-Isrc/custom/"/> | |
124 | + <arg value="-Isrc/extras/Serialize/"/> | |
125 | + <arg value="-Isrc/extras/"/> | |
126 | + | |
127 | + <srcfile/> | |
128 | + <arg value="-o"/> | |
129 | + <targetfile/> | |
130 | + <fileset refid="g++-files"/> | |
131 | + <compositemapper> | |
132 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
133 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
134 | + </compositemapper> | |
135 | + </apply> | |
136 | + <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true"> | |
137 | + <arg line="${gcc-opts}"/> | |
138 | + <arg value="-Ijni-headers"/> | |
139 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
140 | + <arg value="-I."/> | |
141 | + <arg value="-Isrc/bullet/"/> | |
142 | + <arg value="-Isrc/custom/"/> | |
143 | + <arg value="-Isrc/extras/Serialize/"/> | |
144 | + <arg value="-Isrc/extras/"/> | |
145 | + | |
146 | + <srcfile/> | |
147 | + <arg value="-o"/> | |
148 | + <targetfile/> | |
149 | + <fileset refid="gcc-files"/> | |
150 | + <compositemapper> | |
151 | + <mapper type="glob" from="*.c" to="*.o"/> | |
152 | + <mapper type="glob" from="*.m" to="*.o"/> | |
153 | + </compositemapper> | |
154 | + </apply> | |
155 | + </target> | |
156 | + | |
157 | + <!-- links the shared library based on the previously compiled object files --> | |
158 | + <target name="link" depends="compile" if="has-compiler"> | |
159 | + <fileset dir="${buildDir}" id="objFileSet"> | |
160 | + <patternset> | |
161 | + <include name="**/*.o" /> | |
162 | + </patternset> | |
163 | + </fileset> | |
164 | + <pathconvert pathsep=" " property="objFiles" refid="objFileSet" /> | |
165 | + <mkdir dir="${libsDir}" /> | |
166 | + <exec executable="${linker}" failonerror="true" dir="${buildDir}"> | |
167 | + <arg line="${linker-opts}" /> | |
168 | + <arg value="-o" /> | |
169 | + <arg path="${libsDir}/${libName}" /> | |
170 | + <arg line="${objFiles}"/> | |
171 | + <arg line="${libraries}" /> | |
172 | + </exec> | |
173 | + </target> | |
174 | + | |
175 | + <!-- strips the shared library of debug symbols --> | |
176 | + <target name="strip" depends="link" if="should-strip"> | |
177 | + <exec executable="${stripper}" failonerror="true" dir="${buildDir}"> | |
178 | + <arg value="--strip-unneeded"/> | |
179 | + <arg path="${libsDir}/${libName}" /> | |
180 | + </exec> | |
181 | + </target> | |
182 | + | |
183 | + <target name="postcompile" depends="strip"> | |
184 | + | |
185 | + </target> | |
186 | +</project> |
@@ -0,0 +1,186 @@ | ||
1 | +<project name="gdx-bullet-Linux-arm32" basedir="." default="postcompile"> | |
2 | + <!-- include the environment --> | |
3 | + <property environment="env"/> | |
4 | + <!-- output directory for temporary object files --> | |
5 | + <property name="buildDir" value="target/linuxarm32" /> | |
6 | + <!-- output directory for the shared library --> | |
7 | + <property name="libsDir" value="../libs/linuxarm32" /> | |
8 | + <!-- the name of the shared library --> | |
9 | + <property name="libName" value="libgdx-bulletarm.so"/> | |
10 | + <!-- the jni header jniPlatform to use --> | |
11 | + <property name="jniPlatform" value="linux"/> | |
12 | + <!-- the compiler to use when compiling c files --> | |
13 | + <property name="cCompiler" value="gcc"/> | |
14 | + <!-- the compiler to use when compiling c++ files --> | |
15 | + <property name="cppCompiler" value="g++"/> | |
16 | + <!-- the command to use when archiving files --> | |
17 | + <property name="archiver" value="ar"/> | |
18 | + <!-- the compilerPrefix for the C & C++ compilers --> | |
19 | + <property name="compilerPrefix" value="arm-linux-gnueabihf-"/> | |
20 | + <!-- the compilerSuffix for the C & C++ compilers --> | |
21 | + <property name="compilerSuffix" value="" /> | |
22 | + | |
23 | + <!-- define gcc compiler, options and files to compile --> | |
24 | + <property name="gcc" value="${compilerPrefix}${cCompiler}${compilerSuffix}"/> | |
25 | + <property name="gcc-opts" value="-c -Wall -O2 -fmessage-length=0 -fPIC"/> | |
26 | + <fileset id="gcc-files" dir="./"> | |
27 | + <exclude name="target/"/> | |
28 | + <include name="memcpy_wrap.c"/> | |
29 | + <include name="**/*.c"/> | |
30 | + | |
31 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
32 | + | |
33 | + </fileset> | |
34 | + | |
35 | + <!-- define g++ compiler, options and files to compile --> | |
36 | + <property name="g++" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
37 | + <property name="g++-opts" value="-c -Wall -O2 -fmessage-length=0 -fPIC -fno-strict-aliasing -fno-rtti -DBT_NO_PROFILE -DBT_USE_INVERSE_DYNAMICS_WITH_BULLET2"/> | |
38 | + <fileset id="g++-files" dir="./"> | |
39 | + <exclude name="target/"/> | |
40 | + <include name="**/*.cpp"/> | |
41 | + | |
42 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
43 | + | |
44 | + </fileset> | |
45 | + | |
46 | + <!-- define linker and options --> | |
47 | + <property name="linker" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
48 | + <property name="linker-opts" value="-shared"/> | |
49 | + <property name="libraries" value=""/> | |
50 | + | |
51 | + <!-- define stripper --> | |
52 | + <property name="stripper" value="${compilerPrefix}strip${compilerSuffix}"/> | |
53 | + | |
54 | + <!-- cleans the build directory, removes all object files and shared libs --> | |
55 | + <target name="clean"> | |
56 | + <delete includeemptydirs="true" quiet="true"> | |
57 | + <fileset dir="${buildDir}"/> | |
58 | + <fileset dir="${libsDir}" includes="**/*" excludes="**/.svn"/> | |
59 | + </delete> | |
60 | + </target> | |
61 | + | |
62 | + <target name="precompile"> | |
63 | + <condition property="compiler-found"> | |
64 | + <and> | |
65 | + <or> | |
66 | + <!-- Include both b/c Windows might be either --> | |
67 | + <available file="${g++}" filepath="${env.PATH}"/> | |
68 | + <available file="${g++}" filepath="${env.Path}"/> | |
69 | + </or> | |
70 | + <or> | |
71 | + <!-- Include both b/c Windows might be either --> | |
72 | + <available file="${gcc}" filepath="${env.PATH}"/> | |
73 | + <available file="${gcc}" filepath="${env.Path}"/> | |
74 | + </or> | |
75 | + </and> | |
76 | + </condition> | |
77 | + <condition property="has-compiler"> | |
78 | + <equals arg1="${compiler-found}" arg2="true"/> | |
79 | + </condition> | |
80 | + <condition property="stripper-found"> | |
81 | + <or> | |
82 | + <!-- Include both b/c Windows might be either --> | |
83 | + <available file="${stripper}" filepath="${env.PATH}"/> | |
84 | + <available file="${stripper}" filepath="${env.Path}"/> | |
85 | + </or> | |
86 | + </condition> | |
87 | + <condition property="should-strip"> | |
88 | + <and> | |
89 | + <equals arg1="${stripper-found}" arg2="true"/> | |
90 | + <equals arg1="${release}" arg2="true"/> | |
91 | + <!-- Don't strip mac osx libs --> | |
92 | + <not> | |
93 | + <contains string="${libName}" substring="dylib"/> | |
94 | + </not> | |
95 | + </and> | |
96 | + </condition> | |
97 | + | |
98 | + </target> | |
99 | + | |
100 | + <target name="create-build-dir" depends="precompile" if="has-compiler"> | |
101 | + <!-- FIXME this is pretty nasty :/ --> | |
102 | + <copy todir="${buildDir}"> | |
103 | + <fileset refid="g++-files"/> | |
104 | + <fileset refid="gcc-files"/> | |
105 | + </copy> | |
106 | + <delete> | |
107 | + <fileset dir="${buildDir}"> | |
108 | + <include name="*"/> | |
109 | + <exclude name="*.o"/> | |
110 | + </fileset> | |
111 | + </delete> | |
112 | + </target> | |
113 | + | |
114 | + <!-- compiles all C and C++ files to object files in the build directory --> | |
115 | + <target name="compile" depends="create-build-dir" if="has-compiler"> | |
116 | + <mkdir dir="${buildDir}"/> | |
117 | + <apply failonerror="true" executable="${g++}" dest="${buildDir}" verbose="true"> | |
118 | + <arg line="${g++-opts}"/> | |
119 | + <arg value="-Ijni-headers"/> | |
120 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
121 | + <arg value="-I."/> | |
122 | + <arg value="-Isrc/bullet/"/> | |
123 | + <arg value="-Isrc/custom/"/> | |
124 | + <arg value="-Isrc/extras/Serialize/"/> | |
125 | + <arg value="-Isrc/extras/"/> | |
126 | + | |
127 | + <srcfile/> | |
128 | + <arg value="-o"/> | |
129 | + <targetfile/> | |
130 | + <fileset refid="g++-files"/> | |
131 | + <compositemapper> | |
132 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
133 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
134 | + </compositemapper> | |
135 | + </apply> | |
136 | + <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true"> | |
137 | + <arg line="${gcc-opts}"/> | |
138 | + <arg value="-Ijni-headers"/> | |
139 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
140 | + <arg value="-I."/> | |
141 | + <arg value="-Isrc/bullet/"/> | |
142 | + <arg value="-Isrc/custom/"/> | |
143 | + <arg value="-Isrc/extras/Serialize/"/> | |
144 | + <arg value="-Isrc/extras/"/> | |
145 | + | |
146 | + <srcfile/> | |
147 | + <arg value="-o"/> | |
148 | + <targetfile/> | |
149 | + <fileset refid="gcc-files"/> | |
150 | + <compositemapper> | |
151 | + <mapper type="glob" from="*.c" to="*.o"/> | |
152 | + <mapper type="glob" from="*.m" to="*.o"/> | |
153 | + </compositemapper> | |
154 | + </apply> | |
155 | + </target> | |
156 | + | |
157 | + <!-- links the shared library based on the previously compiled object files --> | |
158 | + <target name="link" depends="compile" if="has-compiler"> | |
159 | + <fileset dir="${buildDir}" id="objFileSet"> | |
160 | + <patternset> | |
161 | + <include name="**/*.o" /> | |
162 | + </patternset> | |
163 | + </fileset> | |
164 | + <pathconvert pathsep=" " property="objFiles" refid="objFileSet" /> | |
165 | + <mkdir dir="${libsDir}" /> | |
166 | + <exec executable="${linker}" failonerror="true" dir="${buildDir}"> | |
167 | + <arg line="${linker-opts}" /> | |
168 | + <arg value="-o" /> | |
169 | + <arg path="${libsDir}/${libName}" /> | |
170 | + <arg line="${objFiles}"/> | |
171 | + <arg line="${libraries}" /> | |
172 | + </exec> | |
173 | + </target> | |
174 | + | |
175 | + <!-- strips the shared library of debug symbols --> | |
176 | + <target name="strip" depends="link" if="should-strip"> | |
177 | + <exec executable="${stripper}" failonerror="true" dir="${buildDir}"> | |
178 | + <arg value="--strip-unneeded"/> | |
179 | + <arg path="${libsDir}/${libName}" /> | |
180 | + </exec> | |
181 | + </target> | |
182 | + | |
183 | + <target name="postcompile" depends="strip"> | |
184 | + | |
185 | + </target> | |
186 | +</project> |
@@ -0,0 +1,186 @@ | ||
1 | +<project name="gdx-bullet-Linux-arm64" basedir="." default="postcompile"> | |
2 | + <!-- include the environment --> | |
3 | + <property environment="env"/> | |
4 | + <!-- output directory for temporary object files --> | |
5 | + <property name="buildDir" value="target/linuxarm64" /> | |
6 | + <!-- output directory for the shared library --> | |
7 | + <property name="libsDir" value="../libs/linuxarm64" /> | |
8 | + <!-- the name of the shared library --> | |
9 | + <property name="libName" value="libgdx-bulletarm64.so"/> | |
10 | + <!-- the jni header jniPlatform to use --> | |
11 | + <property name="jniPlatform" value="linux"/> | |
12 | + <!-- the compiler to use when compiling c files --> | |
13 | + <property name="cCompiler" value="gcc"/> | |
14 | + <!-- the compiler to use when compiling c++ files --> | |
15 | + <property name="cppCompiler" value="g++"/> | |
16 | + <!-- the command to use when archiving files --> | |
17 | + <property name="archiver" value="ar"/> | |
18 | + <!-- the compilerPrefix for the C & C++ compilers --> | |
19 | + <property name="compilerPrefix" value="aarch64-linux-gnu-"/> | |
20 | + <!-- the compilerSuffix for the C & C++ compilers --> | |
21 | + <property name="compilerSuffix" value="" /> | |
22 | + | |
23 | + <!-- define gcc compiler, options and files to compile --> | |
24 | + <property name="gcc" value="${compilerPrefix}${cCompiler}${compilerSuffix}"/> | |
25 | + <property name="gcc-opts" value="-c -Wall -O2 -fmessage-length=0 -fPIC"/> | |
26 | + <fileset id="gcc-files" dir="./"> | |
27 | + <exclude name="target/"/> | |
28 | + <include name="memcpy_wrap.c"/> | |
29 | + <include name="**/*.c"/> | |
30 | + | |
31 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
32 | + | |
33 | + </fileset> | |
34 | + | |
35 | + <!-- define g++ compiler, options and files to compile --> | |
36 | + <property name="g++" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
37 | + <property name="g++-opts" value="-c -Wall -O2 -fmessage-length=0 -fPIC -fno-strict-aliasing -fno-rtti -DBT_NO_PROFILE -DBT_USE_INVERSE_DYNAMICS_WITH_BULLET2"/> | |
38 | + <fileset id="g++-files" dir="./"> | |
39 | + <exclude name="target/"/> | |
40 | + <include name="**/*.cpp"/> | |
41 | + | |
42 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
43 | + | |
44 | + </fileset> | |
45 | + | |
46 | + <!-- define linker and options --> | |
47 | + <property name="linker" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
48 | + <property name="linker-opts" value="-shared"/> | |
49 | + <property name="libraries" value=""/> | |
50 | + | |
51 | + <!-- define stripper --> | |
52 | + <property name="stripper" value="${compilerPrefix}strip${compilerSuffix}"/> | |
53 | + | |
54 | + <!-- cleans the build directory, removes all object files and shared libs --> | |
55 | + <target name="clean"> | |
56 | + <delete includeemptydirs="true" quiet="true"> | |
57 | + <fileset dir="${buildDir}"/> | |
58 | + <fileset dir="${libsDir}" includes="**/*" excludes="**/.svn"/> | |
59 | + </delete> | |
60 | + </target> | |
61 | + | |
62 | + <target name="precompile"> | |
63 | + <condition property="compiler-found"> | |
64 | + <and> | |
65 | + <or> | |
66 | + <!-- Include both b/c Windows might be either --> | |
67 | + <available file="${g++}" filepath="${env.PATH}"/> | |
68 | + <available file="${g++}" filepath="${env.Path}"/> | |
69 | + </or> | |
70 | + <or> | |
71 | + <!-- Include both b/c Windows might be either --> | |
72 | + <available file="${gcc}" filepath="${env.PATH}"/> | |
73 | + <available file="${gcc}" filepath="${env.Path}"/> | |
74 | + </or> | |
75 | + </and> | |
76 | + </condition> | |
77 | + <condition property="has-compiler"> | |
78 | + <equals arg1="${compiler-found}" arg2="true"/> | |
79 | + </condition> | |
80 | + <condition property="stripper-found"> | |
81 | + <or> | |
82 | + <!-- Include both b/c Windows might be either --> | |
83 | + <available file="${stripper}" filepath="${env.PATH}"/> | |
84 | + <available file="${stripper}" filepath="${env.Path}"/> | |
85 | + </or> | |
86 | + </condition> | |
87 | + <condition property="should-strip"> | |
88 | + <and> | |
89 | + <equals arg1="${stripper-found}" arg2="true"/> | |
90 | + <equals arg1="${release}" arg2="true"/> | |
91 | + <!-- Don't strip mac osx libs --> | |
92 | + <not> | |
93 | + <contains string="${libName}" substring="dylib"/> | |
94 | + </not> | |
95 | + </and> | |
96 | + </condition> | |
97 | + | |
98 | + </target> | |
99 | + | |
100 | + <target name="create-build-dir" depends="precompile" if="has-compiler"> | |
101 | + <!-- FIXME this is pretty nasty :/ --> | |
102 | + <copy todir="${buildDir}"> | |
103 | + <fileset refid="g++-files"/> | |
104 | + <fileset refid="gcc-files"/> | |
105 | + </copy> | |
106 | + <delete> | |
107 | + <fileset dir="${buildDir}"> | |
108 | + <include name="*"/> | |
109 | + <exclude name="*.o"/> | |
110 | + </fileset> | |
111 | + </delete> | |
112 | + </target> | |
113 | + | |
114 | + <!-- compiles all C and C++ files to object files in the build directory --> | |
115 | + <target name="compile" depends="create-build-dir" if="has-compiler"> | |
116 | + <mkdir dir="${buildDir}"/> | |
117 | + <apply failonerror="true" executable="${g++}" dest="${buildDir}" verbose="true"> | |
118 | + <arg line="${g++-opts}"/> | |
119 | + <arg value="-Ijni-headers"/> | |
120 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
121 | + <arg value="-I."/> | |
122 | + <arg value="-Isrc/bullet/"/> | |
123 | + <arg value="-Isrc/custom/"/> | |
124 | + <arg value="-Isrc/extras/Serialize/"/> | |
125 | + <arg value="-Isrc/extras/"/> | |
126 | + | |
127 | + <srcfile/> | |
128 | + <arg value="-o"/> | |
129 | + <targetfile/> | |
130 | + <fileset refid="g++-files"/> | |
131 | + <compositemapper> | |
132 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
133 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
134 | + </compositemapper> | |
135 | + </apply> | |
136 | + <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true"> | |
137 | + <arg line="${gcc-opts}"/> | |
138 | + <arg value="-Ijni-headers"/> | |
139 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
140 | + <arg value="-I."/> | |
141 | + <arg value="-Isrc/bullet/"/> | |
142 | + <arg value="-Isrc/custom/"/> | |
143 | + <arg value="-Isrc/extras/Serialize/"/> | |
144 | + <arg value="-Isrc/extras/"/> | |
145 | + | |
146 | + <srcfile/> | |
147 | + <arg value="-o"/> | |
148 | + <targetfile/> | |
149 | + <fileset refid="gcc-files"/> | |
150 | + <compositemapper> | |
151 | + <mapper type="glob" from="*.c" to="*.o"/> | |
152 | + <mapper type="glob" from="*.m" to="*.o"/> | |
153 | + </compositemapper> | |
154 | + </apply> | |
155 | + </target> | |
156 | + | |
157 | + <!-- links the shared library based on the previously compiled object files --> | |
158 | + <target name="link" depends="compile" if="has-compiler"> | |
159 | + <fileset dir="${buildDir}" id="objFileSet"> | |
160 | + <patternset> | |
161 | + <include name="**/*.o" /> | |
162 | + </patternset> | |
163 | + </fileset> | |
164 | + <pathconvert pathsep=" " property="objFiles" refid="objFileSet" /> | |
165 | + <mkdir dir="${libsDir}" /> | |
166 | + <exec executable="${linker}" failonerror="true" dir="${buildDir}"> | |
167 | + <arg line="${linker-opts}" /> | |
168 | + <arg value="-o" /> | |
169 | + <arg path="${libsDir}/${libName}" /> | |
170 | + <arg line="${objFiles}"/> | |
171 | + <arg line="${libraries}" /> | |
172 | + </exec> | |
173 | + </target> | |
174 | + | |
175 | + <!-- strips the shared library of debug symbols --> | |
176 | + <target name="strip" depends="link" if="should-strip"> | |
177 | + <exec executable="${stripper}" failonerror="true" dir="${buildDir}"> | |
178 | + <arg value="--strip-unneeded"/> | |
179 | + <arg path="${libsDir}/${libName}" /> | |
180 | + </exec> | |
181 | + </target> | |
182 | + | |
183 | + <target name="postcompile" depends="strip"> | |
184 | + | |
185 | + </target> | |
186 | +</project> |
@@ -0,0 +1,186 @@ | ||
1 | +<project name="gdx-bullet-MacOsX-64" basedir="." default="postcompile"> | |
2 | + <!-- include the environment --> | |
3 | + <property environment="env"/> | |
4 | + <!-- output directory for temporary object files --> | |
5 | + <property name="buildDir" value="target/macosx64" /> | |
6 | + <!-- output directory for the shared library --> | |
7 | + <property name="libsDir" value="../libs/macosx64" /> | |
8 | + <!-- the name of the shared library --> | |
9 | + <property name="libName" value="libgdx-bullet64.dylib"/> | |
10 | + <!-- the jni header jniPlatform to use --> | |
11 | + <property name="jniPlatform" value="mac"/> | |
12 | + <!-- the compiler to use when compiling c files --> | |
13 | + <property name="cCompiler" value="clang"/> | |
14 | + <!-- the compiler to use when compiling c++ files --> | |
15 | + <property name="cppCompiler" value="clang++"/> | |
16 | + <!-- the command to use when archiving files --> | |
17 | + <property name="archiver" value="ar"/> | |
18 | + <!-- the compilerPrefix for the C & C++ compilers --> | |
19 | + <property name="compilerPrefix" value=""/> | |
20 | + <!-- the compilerSuffix for the C & C++ compilers --> | |
21 | + <property name="compilerSuffix" value="" /> | |
22 | + | |
23 | + <!-- define gcc compiler, options and files to compile --> | |
24 | + <property name="gcc" value="${compilerPrefix}${cCompiler}${compilerSuffix}"/> | |
25 | + <property name="gcc-opts" value="-c -Wall -O2 -arch x86_64 -DFIXED_POINT -fmessage-length=0 -fPIC -mmacosx-version-min=10.7 -stdlib=libc++"/> | |
26 | + <fileset id="gcc-files" dir="./"> | |
27 | + <exclude name="target/"/> | |
28 | + <include name="memcpy_wrap.c"/> | |
29 | + <include name="**/*.c"/> | |
30 | + | |
31 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
32 | + | |
33 | + </fileset> | |
34 | + | |
35 | + <!-- define g++ compiler, options and files to compile --> | |
36 | + <property name="g++" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
37 | + <property name="g++-opts" value="-c -Wall -O2 -arch x86_64 -DFIXED_POINT -fmessage-length=0 -fPIC -mmacosx-version-min=10.7 -stdlib=libc++ -fno-strict-aliasing -fno-rtti -DBT_NO_PROFILE -DBT_USE_INVERSE_DYNAMICS_WITH_BULLET2"/> | |
38 | + <fileset id="g++-files" dir="./"> | |
39 | + <exclude name="target/"/> | |
40 | + <include name="**/*.cpp"/> | |
41 | + | |
42 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
43 | + | |
44 | + </fileset> | |
45 | + | |
46 | + <!-- define linker and options --> | |
47 | + <property name="linker" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
48 | + <property name="linker-opts" value="-shared -arch x86_64 -mmacosx-version-min=10.7 -stdlib=libc++"/> | |
49 | + <property name="libraries" value=""/> | |
50 | + | |
51 | + <!-- define stripper --> | |
52 | + <property name="stripper" value="${compilerPrefix}strip${compilerSuffix}"/> | |
53 | + | |
54 | + <!-- cleans the build directory, removes all object files and shared libs --> | |
55 | + <target name="clean"> | |
56 | + <delete includeemptydirs="true" quiet="true"> | |
57 | + <fileset dir="${buildDir}"/> | |
58 | + <fileset dir="${libsDir}" includes="**/*" excludes="**/.svn"/> | |
59 | + </delete> | |
60 | + </target> | |
61 | + | |
62 | + <target name="precompile"> | |
63 | + <condition property="compiler-found"> | |
64 | + <and> | |
65 | + <or> | |
66 | + <!-- Include both b/c Windows might be either --> | |
67 | + <available file="${g++}" filepath="${env.PATH}"/> | |
68 | + <available file="${g++}" filepath="${env.Path}"/> | |
69 | + </or> | |
70 | + <or> | |
71 | + <!-- Include both b/c Windows might be either --> | |
72 | + <available file="${gcc}" filepath="${env.PATH}"/> | |
73 | + <available file="${gcc}" filepath="${env.Path}"/> | |
74 | + </or> | |
75 | + </and> | |
76 | + </condition> | |
77 | + <condition property="has-compiler"> | |
78 | + <equals arg1="${compiler-found}" arg2="true"/> | |
79 | + </condition> | |
80 | + <condition property="stripper-found"> | |
81 | + <or> | |
82 | + <!-- Include both b/c Windows might be either --> | |
83 | + <available file="${stripper}" filepath="${env.PATH}"/> | |
84 | + <available file="${stripper}" filepath="${env.Path}"/> | |
85 | + </or> | |
86 | + </condition> | |
87 | + <condition property="should-strip"> | |
88 | + <and> | |
89 | + <equals arg1="${stripper-found}" arg2="true"/> | |
90 | + <equals arg1="${release}" arg2="true"/> | |
91 | + <!-- Don't strip mac osx libs --> | |
92 | + <not> | |
93 | + <contains string="${libName}" substring="dylib"/> | |
94 | + </not> | |
95 | + </and> | |
96 | + </condition> | |
97 | + | |
98 | + </target> | |
99 | + | |
100 | + <target name="create-build-dir" depends="precompile" if="has-compiler"> | |
101 | + <!-- FIXME this is pretty nasty :/ --> | |
102 | + <copy todir="${buildDir}"> | |
103 | + <fileset refid="g++-files"/> | |
104 | + <fileset refid="gcc-files"/> | |
105 | + </copy> | |
106 | + <delete> | |
107 | + <fileset dir="${buildDir}"> | |
108 | + <include name="*"/> | |
109 | + <exclude name="*.o"/> | |
110 | + </fileset> | |
111 | + </delete> | |
112 | + </target> | |
113 | + | |
114 | + <!-- compiles all C and C++ files to object files in the build directory --> | |
115 | + <target name="compile" depends="create-build-dir" if="has-compiler"> | |
116 | + <mkdir dir="${buildDir}"/> | |
117 | + <apply failonerror="true" executable="${g++}" dest="${buildDir}" verbose="true"> | |
118 | + <arg line="${g++-opts}"/> | |
119 | + <arg value="-Ijni-headers"/> | |
120 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
121 | + <arg value="-I."/> | |
122 | + <arg value="-Isrc/bullet/"/> | |
123 | + <arg value="-Isrc/custom/"/> | |
124 | + <arg value="-Isrc/extras/Serialize/"/> | |
125 | + <arg value="-Isrc/extras/"/> | |
126 | + | |
127 | + <srcfile/> | |
128 | + <arg value="-o"/> | |
129 | + <targetfile/> | |
130 | + <fileset refid="g++-files"/> | |
131 | + <compositemapper> | |
132 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
133 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
134 | + </compositemapper> | |
135 | + </apply> | |
136 | + <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true"> | |
137 | + <arg line="${gcc-opts}"/> | |
138 | + <arg value="-Ijni-headers"/> | |
139 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
140 | + <arg value="-I."/> | |
141 | + <arg value="-Isrc/bullet/"/> | |
142 | + <arg value="-Isrc/custom/"/> | |
143 | + <arg value="-Isrc/extras/Serialize/"/> | |
144 | + <arg value="-Isrc/extras/"/> | |
145 | + | |
146 | + <srcfile/> | |
147 | + <arg value="-o"/> | |
148 | + <targetfile/> | |
149 | + <fileset refid="gcc-files"/> | |
150 | + <compositemapper> | |
151 | + <mapper type="glob" from="*.c" to="*.o"/> | |
152 | + <mapper type="glob" from="*.m" to="*.o"/> | |
153 | + </compositemapper> | |
154 | + </apply> | |
155 | + </target> | |
156 | + | |
157 | + <!-- links the shared library based on the previously compiled object files --> | |
158 | + <target name="link" depends="compile" if="has-compiler"> | |
159 | + <fileset dir="${buildDir}" id="objFileSet"> | |
160 | + <patternset> | |
161 | + <include name="**/*.o" /> | |
162 | + </patternset> | |
163 | + </fileset> | |
164 | + <pathconvert pathsep=" " property="objFiles" refid="objFileSet" /> | |
165 | + <mkdir dir="${libsDir}" /> | |
166 | + <exec executable="${linker}" failonerror="true" dir="${buildDir}"> | |
167 | + <arg line="${linker-opts}" /> | |
168 | + <arg value="-o" /> | |
169 | + <arg path="${libsDir}/${libName}" /> | |
170 | + <arg line="${objFiles}"/> | |
171 | + <arg line="${libraries}" /> | |
172 | + </exec> | |
173 | + </target> | |
174 | + | |
175 | + <!-- strips the shared library of debug symbols --> | |
176 | + <target name="strip" depends="link" if="should-strip"> | |
177 | + <exec executable="${stripper}" failonerror="true" dir="${buildDir}"> | |
178 | + <arg value="--strip-unneeded"/> | |
179 | + <arg path="${libsDir}/${libName}" /> | |
180 | + </exec> | |
181 | + </target> | |
182 | + | |
183 | + <target name="postcompile" depends="strip"> | |
184 | + | |
185 | + </target> | |
186 | +</project> |
@@ -0,0 +1,186 @@ | ||
1 | +<project name="gdx-bullet-MacOsX-arm64" basedir="." default="postcompile"> | |
2 | + <!-- include the environment --> | |
3 | + <property environment="env"/> | |
4 | + <!-- output directory for temporary object files --> | |
5 | + <property name="buildDir" value="target/macosxarm64" /> | |
6 | + <!-- output directory for the shared library --> | |
7 | + <property name="libsDir" value="../libs/macosxarm64" /> | |
8 | + <!-- the name of the shared library --> | |
9 | + <property name="libName" value="libgdx-bulletarm64.dylib"/> | |
10 | + <!-- the jni header jniPlatform to use --> | |
11 | + <property name="jniPlatform" value="mac"/> | |
12 | + <!-- the compiler to use when compiling c files --> | |
13 | + <property name="cCompiler" value="clang"/> | |
14 | + <!-- the compiler to use when compiling c++ files --> | |
15 | + <property name="cppCompiler" value="clang++"/> | |
16 | + <!-- the command to use when archiving files --> | |
17 | + <property name="archiver" value="ar"/> | |
18 | + <!-- the compilerPrefix for the C & C++ compilers --> | |
19 | + <property name="compilerPrefix" value=""/> | |
20 | + <!-- the compilerSuffix for the C & C++ compilers --> | |
21 | + <property name="compilerSuffix" value="" /> | |
22 | + | |
23 | + <!-- define gcc compiler, options and files to compile --> | |
24 | + <property name="gcc" value="${compilerPrefix}${cCompiler}${compilerSuffix}"/> | |
25 | + <property name="gcc-opts" value="-c -Wall -O2 -arch arm64 -DFIXED_POINT -fmessage-length=0 -fPIC -mmacosx-version-min=10.7 -stdlib=libc++"/> | |
26 | + <fileset id="gcc-files" dir="./"> | |
27 | + <exclude name="target/"/> | |
28 | + <include name="memcpy_wrap.c"/> | |
29 | + <include name="**/*.c"/> | |
30 | + | |
31 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
32 | + | |
33 | + </fileset> | |
34 | + | |
35 | + <!-- define g++ compiler, options and files to compile --> | |
36 | + <property name="g++" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
37 | + <property name="g++-opts" value="-c -Wall -O2 -arch arm64 -DFIXED_POINT -fmessage-length=0 -fPIC -mmacosx-version-min=10.7 -stdlib=libc++ -fno-strict-aliasing -fno-rtti -DBT_NO_PROFILE -DBT_USE_INVERSE_DYNAMICS_WITH_BULLET2"/> | |
38 | + <fileset id="g++-files" dir="./"> | |
39 | + <exclude name="target/"/> | |
40 | + <include name="**/*.cpp"/> | |
41 | + | |
42 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
43 | + | |
44 | + </fileset> | |
45 | + | |
46 | + <!-- define linker and options --> | |
47 | + <property name="linker" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
48 | + <property name="linker-opts" value="-shared -arch arm64 -mmacosx-version-min=10.7 -stdlib=libc++"/> | |
49 | + <property name="libraries" value=""/> | |
50 | + | |
51 | + <!-- define stripper --> | |
52 | + <property name="stripper" value="${compilerPrefix}strip${compilerSuffix}"/> | |
53 | + | |
54 | + <!-- cleans the build directory, removes all object files and shared libs --> | |
55 | + <target name="clean"> | |
56 | + <delete includeemptydirs="true" quiet="true"> | |
57 | + <fileset dir="${buildDir}"/> | |
58 | + <fileset dir="${libsDir}" includes="**/*" excludes="**/.svn"/> | |
59 | + </delete> | |
60 | + </target> | |
61 | + | |
62 | + <target name="precompile"> | |
63 | + <condition property="compiler-found"> | |
64 | + <and> | |
65 | + <or> | |
66 | + <!-- Include both b/c Windows might be either --> | |
67 | + <available file="${g++}" filepath="${env.PATH}"/> | |
68 | + <available file="${g++}" filepath="${env.Path}"/> | |
69 | + </or> | |
70 | + <or> | |
71 | + <!-- Include both b/c Windows might be either --> | |
72 | + <available file="${gcc}" filepath="${env.PATH}"/> | |
73 | + <available file="${gcc}" filepath="${env.Path}"/> | |
74 | + </or> | |
75 | + </and> | |
76 | + </condition> | |
77 | + <condition property="has-compiler"> | |
78 | + <equals arg1="${compiler-found}" arg2="true"/> | |
79 | + </condition> | |
80 | + <condition property="stripper-found"> | |
81 | + <or> | |
82 | + <!-- Include both b/c Windows might be either --> | |
83 | + <available file="${stripper}" filepath="${env.PATH}"/> | |
84 | + <available file="${stripper}" filepath="${env.Path}"/> | |
85 | + </or> | |
86 | + </condition> | |
87 | + <condition property="should-strip"> | |
88 | + <and> | |
89 | + <equals arg1="${stripper-found}" arg2="true"/> | |
90 | + <equals arg1="${release}" arg2="true"/> | |
91 | + <!-- Don't strip mac osx libs --> | |
92 | + <not> | |
93 | + <contains string="${libName}" substring="dylib"/> | |
94 | + </not> | |
95 | + </and> | |
96 | + </condition> | |
97 | + | |
98 | + </target> | |
99 | + | |
100 | + <target name="create-build-dir" depends="precompile" if="has-compiler"> | |
101 | + <!-- FIXME this is pretty nasty :/ --> | |
102 | + <copy todir="${buildDir}"> | |
103 | + <fileset refid="g++-files"/> | |
104 | + <fileset refid="gcc-files"/> | |
105 | + </copy> | |
106 | + <delete> | |
107 | + <fileset dir="${buildDir}"> | |
108 | + <include name="*"/> | |
109 | + <exclude name="*.o"/> | |
110 | + </fileset> | |
111 | + </delete> | |
112 | + </target> | |
113 | + | |
114 | + <!-- compiles all C and C++ files to object files in the build directory --> | |
115 | + <target name="compile" depends="create-build-dir" if="has-compiler"> | |
116 | + <mkdir dir="${buildDir}"/> | |
117 | + <apply failonerror="true" executable="${g++}" dest="${buildDir}" verbose="true"> | |
118 | + <arg line="${g++-opts}"/> | |
119 | + <arg value="-Ijni-headers"/> | |
120 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
121 | + <arg value="-I."/> | |
122 | + <arg value="-Isrc/bullet/"/> | |
123 | + <arg value="-Isrc/custom/"/> | |
124 | + <arg value="-Isrc/extras/Serialize/"/> | |
125 | + <arg value="-Isrc/extras/"/> | |
126 | + | |
127 | + <srcfile/> | |
128 | + <arg value="-o"/> | |
129 | + <targetfile/> | |
130 | + <fileset refid="g++-files"/> | |
131 | + <compositemapper> | |
132 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
133 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
134 | + </compositemapper> | |
135 | + </apply> | |
136 | + <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true"> | |
137 | + <arg line="${gcc-opts}"/> | |
138 | + <arg value="-Ijni-headers"/> | |
139 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
140 | + <arg value="-I."/> | |
141 | + <arg value="-Isrc/bullet/"/> | |
142 | + <arg value="-Isrc/custom/"/> | |
143 | + <arg value="-Isrc/extras/Serialize/"/> | |
144 | + <arg value="-Isrc/extras/"/> | |
145 | + | |
146 | + <srcfile/> | |
147 | + <arg value="-o"/> | |
148 | + <targetfile/> | |
149 | + <fileset refid="gcc-files"/> | |
150 | + <compositemapper> | |
151 | + <mapper type="glob" from="*.c" to="*.o"/> | |
152 | + <mapper type="glob" from="*.m" to="*.o"/> | |
153 | + </compositemapper> | |
154 | + </apply> | |
155 | + </target> | |
156 | + | |
157 | + <!-- links the shared library based on the previously compiled object files --> | |
158 | + <target name="link" depends="compile" if="has-compiler"> | |
159 | + <fileset dir="${buildDir}" id="objFileSet"> | |
160 | + <patternset> | |
161 | + <include name="**/*.o" /> | |
162 | + </patternset> | |
163 | + </fileset> | |
164 | + <pathconvert pathsep=" " property="objFiles" refid="objFileSet" /> | |
165 | + <mkdir dir="${libsDir}" /> | |
166 | + <exec executable="${linker}" failonerror="true" dir="${buildDir}"> | |
167 | + <arg line="${linker-opts}" /> | |
168 | + <arg value="-o" /> | |
169 | + <arg path="${libsDir}/${libName}" /> | |
170 | + <arg line="${objFiles}"/> | |
171 | + <arg line="${libraries}" /> | |
172 | + </exec> | |
173 | + </target> | |
174 | + | |
175 | + <!-- strips the shared library of debug symbols --> | |
176 | + <target name="strip" depends="link" if="should-strip"> | |
177 | + <exec executable="${stripper}" failonerror="true" dir="${buildDir}"> | |
178 | + <arg value="--strip-unneeded"/> | |
179 | + <arg path="${libsDir}/${libName}" /> | |
180 | + </exec> | |
181 | + </target> | |
182 | + | |
183 | + <target name="postcompile" depends="strip"> | |
184 | + | |
185 | + </target> | |
186 | +</project> |
@@ -0,0 +1,186 @@ | ||
1 | +<project name="gdx-bullet-Windows-32" basedir="." default="postcompile"> | |
2 | + <!-- include the environment --> | |
3 | + <property environment="env"/> | |
4 | + <!-- output directory for temporary object files --> | |
5 | + <property name="buildDir" value="target/windows32" /> | |
6 | + <!-- output directory for the shared library --> | |
7 | + <property name="libsDir" value="../libs/windows32" /> | |
8 | + <!-- the name of the shared library --> | |
9 | + <property name="libName" value="gdx-bullet.dll"/> | |
10 | + <!-- the jni header jniPlatform to use --> | |
11 | + <property name="jniPlatform" value="win32"/> | |
12 | + <!-- the compiler to use when compiling c files --> | |
13 | + <property name="cCompiler" value="gcc"/> | |
14 | + <!-- the compiler to use when compiling c++ files --> | |
15 | + <property name="cppCompiler" value="g++"/> | |
16 | + <!-- the command to use when archiving files --> | |
17 | + <property name="archiver" value="ar"/> | |
18 | + <!-- the compilerPrefix for the C & C++ compilers --> | |
19 | + <property name="compilerPrefix" value="i686-w64-mingw32-"/> | |
20 | + <!-- the compilerSuffix for the C & C++ compilers --> | |
21 | + <property name="compilerSuffix" value="" /> | |
22 | + | |
23 | + <!-- define gcc compiler, options and files to compile --> | |
24 | + <property name="gcc" value="${compilerPrefix}${cCompiler}${compilerSuffix}"/> | |
25 | + <property name="gcc-opts" value="-c -Wall -O2 -mfpmath=sse -msse2 -fmessage-length=0 -m32"/> | |
26 | + <fileset id="gcc-files" dir="./"> | |
27 | + <exclude name="target/"/> | |
28 | + <include name="memcpy_wrap.c"/> | |
29 | + <include name="**/*.c"/> | |
30 | + | |
31 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
32 | + | |
33 | + </fileset> | |
34 | + | |
35 | + <!-- define g++ compiler, options and files to compile --> | |
36 | + <property name="g++" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
37 | + <property name="g++-opts" value="-c -Wall -O2 -mfpmath=sse -msse2 -fmessage-length=0 -m32 -fno-strict-aliasing -fno-rtti -DBT_NO_PROFILE -DBT_USE_INVERSE_DYNAMICS_WITH_BULLET2"/> | |
38 | + <fileset id="g++-files" dir="./"> | |
39 | + <exclude name="target/"/> | |
40 | + <include name="**/*.cpp"/> | |
41 | + | |
42 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
43 | + | |
44 | + </fileset> | |
45 | + | |
46 | + <!-- define linker and options --> | |
47 | + <property name="linker" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
48 | + <property name="linker-opts" value="-Wl,--kill-at -shared -m32 -static -static-libgcc -static-libstdc++"/> | |
49 | + <property name="libraries" value=""/> | |
50 | + | |
51 | + <!-- define stripper --> | |
52 | + <property name="stripper" value="${compilerPrefix}strip${compilerSuffix}"/> | |
53 | + | |
54 | + <!-- cleans the build directory, removes all object files and shared libs --> | |
55 | + <target name="clean"> | |
56 | + <delete includeemptydirs="true" quiet="true"> | |
57 | + <fileset dir="${buildDir}"/> | |
58 | + <fileset dir="${libsDir}" includes="**/*" excludes="**/.svn"/> | |
59 | + </delete> | |
60 | + </target> | |
61 | + | |
62 | + <target name="precompile"> | |
63 | + <condition property="compiler-found"> | |
64 | + <and> | |
65 | + <or> | |
66 | + <!-- Include both b/c Windows might be either --> | |
67 | + <available file="${g++}" filepath="${env.PATH}"/> | |
68 | + <available file="${g++}" filepath="${env.Path}"/> | |
69 | + </or> | |
70 | + <or> | |
71 | + <!-- Include both b/c Windows might be either --> | |
72 | + <available file="${gcc}" filepath="${env.PATH}"/> | |
73 | + <available file="${gcc}" filepath="${env.Path}"/> | |
74 | + </or> | |
75 | + </and> | |
76 | + </condition> | |
77 | + <condition property="has-compiler"> | |
78 | + <equals arg1="${compiler-found}" arg2="true"/> | |
79 | + </condition> | |
80 | + <condition property="stripper-found"> | |
81 | + <or> | |
82 | + <!-- Include both b/c Windows might be either --> | |
83 | + <available file="${stripper}" filepath="${env.PATH}"/> | |
84 | + <available file="${stripper}" filepath="${env.Path}"/> | |
85 | + </or> | |
86 | + </condition> | |
87 | + <condition property="should-strip"> | |
88 | + <and> | |
89 | + <equals arg1="${stripper-found}" arg2="true"/> | |
90 | + <equals arg1="${release}" arg2="true"/> | |
91 | + <!-- Don't strip mac osx libs --> | |
92 | + <not> | |
93 | + <contains string="${libName}" substring="dylib"/> | |
94 | + </not> | |
95 | + </and> | |
96 | + </condition> | |
97 | + | |
98 | + </target> | |
99 | + | |
100 | + <target name="create-build-dir" depends="precompile" if="has-compiler"> | |
101 | + <!-- FIXME this is pretty nasty :/ --> | |
102 | + <copy todir="${buildDir}"> | |
103 | + <fileset refid="g++-files"/> | |
104 | + <fileset refid="gcc-files"/> | |
105 | + </copy> | |
106 | + <delete> | |
107 | + <fileset dir="${buildDir}"> | |
108 | + <include name="*"/> | |
109 | + <exclude name="*.o"/> | |
110 | + </fileset> | |
111 | + </delete> | |
112 | + </target> | |
113 | + | |
114 | + <!-- compiles all C and C++ files to object files in the build directory --> | |
115 | + <target name="compile" depends="create-build-dir" if="has-compiler"> | |
116 | + <mkdir dir="${buildDir}"/> | |
117 | + <apply failonerror="true" executable="${g++}" dest="${buildDir}" verbose="true"> | |
118 | + <arg line="${g++-opts}"/> | |
119 | + <arg value="-Ijni-headers"/> | |
120 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
121 | + <arg value="-I."/> | |
122 | + <arg value="-Isrc/bullet/"/> | |
123 | + <arg value="-Isrc/custom/"/> | |
124 | + <arg value="-Isrc/extras/Serialize/"/> | |
125 | + <arg value="-Isrc/extras/"/> | |
126 | + | |
127 | + <srcfile/> | |
128 | + <arg value="-o"/> | |
129 | + <targetfile/> | |
130 | + <fileset refid="g++-files"/> | |
131 | + <compositemapper> | |
132 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
133 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
134 | + </compositemapper> | |
135 | + </apply> | |
136 | + <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true"> | |
137 | + <arg line="${gcc-opts}"/> | |
138 | + <arg value="-Ijni-headers"/> | |
139 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
140 | + <arg value="-I."/> | |
141 | + <arg value="-Isrc/bullet/"/> | |
142 | + <arg value="-Isrc/custom/"/> | |
143 | + <arg value="-Isrc/extras/Serialize/"/> | |
144 | + <arg value="-Isrc/extras/"/> | |
145 | + | |
146 | + <srcfile/> | |
147 | + <arg value="-o"/> | |
148 | + <targetfile/> | |
149 | + <fileset refid="gcc-files"/> | |
150 | + <compositemapper> | |
151 | + <mapper type="glob" from="*.c" to="*.o"/> | |
152 | + <mapper type="glob" from="*.m" to="*.o"/> | |
153 | + </compositemapper> | |
154 | + </apply> | |
155 | + </target> | |
156 | + | |
157 | + <!-- links the shared library based on the previously compiled object files --> | |
158 | + <target name="link" depends="compile" if="has-compiler"> | |
159 | + <fileset dir="${buildDir}" id="objFileSet"> | |
160 | + <patternset> | |
161 | + <include name="**/*.o" /> | |
162 | + </patternset> | |
163 | + </fileset> | |
164 | + <pathconvert pathsep=" " property="objFiles" refid="objFileSet" /> | |
165 | + <mkdir dir="${libsDir}" /> | |
166 | + <exec executable="${linker}" failonerror="true" dir="${buildDir}"> | |
167 | + <arg line="${linker-opts}" /> | |
168 | + <arg value="-o" /> | |
169 | + <arg path="${libsDir}/${libName}" /> | |
170 | + <arg line="${objFiles}"/> | |
171 | + <arg line="${libraries}" /> | |
172 | + </exec> | |
173 | + </target> | |
174 | + | |
175 | + <!-- strips the shared library of debug symbols --> | |
176 | + <target name="strip" depends="link" if="should-strip"> | |
177 | + <exec executable="${stripper}" failonerror="true" dir="${buildDir}"> | |
178 | + <arg value="--strip-unneeded"/> | |
179 | + <arg path="${libsDir}/${libName}" /> | |
180 | + </exec> | |
181 | + </target> | |
182 | + | |
183 | + <target name="postcompile" depends="strip"> | |
184 | + | |
185 | + </target> | |
186 | +</project> |
@@ -0,0 +1,186 @@ | ||
1 | +<project name="gdx-bullet-Windows-64" basedir="." default="postcompile"> | |
2 | + <!-- include the environment --> | |
3 | + <property environment="env"/> | |
4 | + <!-- output directory for temporary object files --> | |
5 | + <property name="buildDir" value="target/windows64" /> | |
6 | + <!-- output directory for the shared library --> | |
7 | + <property name="libsDir" value="../libs/windows64" /> | |
8 | + <!-- the name of the shared library --> | |
9 | + <property name="libName" value="gdx-bullet64.dll"/> | |
10 | + <!-- the jni header jniPlatform to use --> | |
11 | + <property name="jniPlatform" value="win32"/> | |
12 | + <!-- the compiler to use when compiling c files --> | |
13 | + <property name="cCompiler" value="gcc"/> | |
14 | + <!-- the compiler to use when compiling c++ files --> | |
15 | + <property name="cppCompiler" value="g++"/> | |
16 | + <!-- the command to use when archiving files --> | |
17 | + <property name="archiver" value="ar"/> | |
18 | + <!-- the compilerPrefix for the C & C++ compilers --> | |
19 | + <property name="compilerPrefix" value="x86_64-w64-mingw32-"/> | |
20 | + <!-- the compilerSuffix for the C & C++ compilers --> | |
21 | + <property name="compilerSuffix" value="" /> | |
22 | + | |
23 | + <!-- define gcc compiler, options and files to compile --> | |
24 | + <property name="gcc" value="${compilerPrefix}${cCompiler}${compilerSuffix}"/> | |
25 | + <property name="gcc-opts" value="-c -Wall -O2 -mfpmath=sse -msse2 -fmessage-length=0 -m64"/> | |
26 | + <fileset id="gcc-files" dir="./"> | |
27 | + <exclude name="target/"/> | |
28 | + <include name="memcpy_wrap.c"/> | |
29 | + <include name="**/*.c"/> | |
30 | + | |
31 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
32 | + | |
33 | + </fileset> | |
34 | + | |
35 | + <!-- define g++ compiler, options and files to compile --> | |
36 | + <property name="g++" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
37 | + <property name="g++-opts" value="-c -Wall -O2 -mfpmath=sse -msse2 -fmessage-length=0 -m64 -fno-strict-aliasing -fno-rtti -DBT_NO_PROFILE -DBT_USE_INVERSE_DYNAMICS_WITH_BULLET2"/> | |
38 | + <fileset id="g++-files" dir="./"> | |
39 | + <exclude name="target/"/> | |
40 | + <include name="**/*.cpp"/> | |
41 | + | |
42 | + <exclude name="src/bullet/BulletMultiThreaded/GpuSoftBodySolvers/**"/> | |
43 | + | |
44 | + </fileset> | |
45 | + | |
46 | + <!-- define linker and options --> | |
47 | + <property name="linker" value="${compilerPrefix}${cppCompiler}${compilerSuffix}"/> | |
48 | + <property name="linker-opts" value="-Wl,--kill-at -shared -static -static-libgcc -static-libstdc++ -m64"/> | |
49 | + <property name="libraries" value=""/> | |
50 | + | |
51 | + <!-- define stripper --> | |
52 | + <property name="stripper" value="${compilerPrefix}strip${compilerSuffix}"/> | |
53 | + | |
54 | + <!-- cleans the build directory, removes all object files and shared libs --> | |
55 | + <target name="clean"> | |
56 | + <delete includeemptydirs="true" quiet="true"> | |
57 | + <fileset dir="${buildDir}"/> | |
58 | + <fileset dir="${libsDir}" includes="**/*" excludes="**/.svn"/> | |
59 | + </delete> | |
60 | + </target> | |
61 | + | |
62 | + <target name="precompile"> | |
63 | + <condition property="compiler-found"> | |
64 | + <and> | |
65 | + <or> | |
66 | + <!-- Include both b/c Windows might be either --> | |
67 | + <available file="${g++}" filepath="${env.PATH}"/> | |
68 | + <available file="${g++}" filepath="${env.Path}"/> | |
69 | + </or> | |
70 | + <or> | |
71 | + <!-- Include both b/c Windows might be either --> | |
72 | + <available file="${gcc}" filepath="${env.PATH}"/> | |
73 | + <available file="${gcc}" filepath="${env.Path}"/> | |
74 | + </or> | |
75 | + </and> | |
76 | + </condition> | |
77 | + <condition property="has-compiler"> | |
78 | + <equals arg1="${compiler-found}" arg2="true"/> | |
79 | + </condition> | |
80 | + <condition property="stripper-found"> | |
81 | + <or> | |
82 | + <!-- Include both b/c Windows might be either --> | |
83 | + <available file="${stripper}" filepath="${env.PATH}"/> | |
84 | + <available file="${stripper}" filepath="${env.Path}"/> | |
85 | + </or> | |
86 | + </condition> | |
87 | + <condition property="should-strip"> | |
88 | + <and> | |
89 | + <equals arg1="${stripper-found}" arg2="true"/> | |
90 | + <equals arg1="${release}" arg2="true"/> | |
91 | + <!-- Don't strip mac osx libs --> | |
92 | + <not> | |
93 | + <contains string="${libName}" substring="dylib"/> | |
94 | + </not> | |
95 | + </and> | |
96 | + </condition> | |
97 | + | |
98 | + </target> | |
99 | + | |
100 | + <target name="create-build-dir" depends="precompile" if="has-compiler"> | |
101 | + <!-- FIXME this is pretty nasty :/ --> | |
102 | + <copy todir="${buildDir}"> | |
103 | + <fileset refid="g++-files"/> | |
104 | + <fileset refid="gcc-files"/> | |
105 | + </copy> | |
106 | + <delete> | |
107 | + <fileset dir="${buildDir}"> | |
108 | + <include name="*"/> | |
109 | + <exclude name="*.o"/> | |
110 | + </fileset> | |
111 | + </delete> | |
112 | + </target> | |
113 | + | |
114 | + <!-- compiles all C and C++ files to object files in the build directory --> | |
115 | + <target name="compile" depends="create-build-dir" if="has-compiler"> | |
116 | + <mkdir dir="${buildDir}"/> | |
117 | + <apply failonerror="true" executable="${g++}" dest="${buildDir}" verbose="true"> | |
118 | + <arg line="${g++-opts}"/> | |
119 | + <arg value="-Ijni-headers"/> | |
120 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
121 | + <arg value="-I."/> | |
122 | + <arg value="-Isrc/bullet/"/> | |
123 | + <arg value="-Isrc/custom/"/> | |
124 | + <arg value="-Isrc/extras/Serialize/"/> | |
125 | + <arg value="-Isrc/extras/"/> | |
126 | + | |
127 | + <srcfile/> | |
128 | + <arg value="-o"/> | |
129 | + <targetfile/> | |
130 | + <fileset refid="g++-files"/> | |
131 | + <compositemapper> | |
132 | + <mapper type="glob" from="*.cpp" to="*.o"/> | |
133 | + <mapper type="glob" from="*.mm" to="*.o"/> | |
134 | + </compositemapper> | |
135 | + </apply> | |
136 | + <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true"> | |
137 | + <arg line="${gcc-opts}"/> | |
138 | + <arg value="-Ijni-headers"/> | |
139 | + <arg value="-Ijni-headers/${jniPlatform}"/> | |
140 | + <arg value="-I."/> | |
141 | + <arg value="-Isrc/bullet/"/> | |
142 | + <arg value="-Isrc/custom/"/> | |
143 | + <arg value="-Isrc/extras/Serialize/"/> | |
144 | + <arg value="-Isrc/extras/"/> | |
145 | + | |
146 | + <srcfile/> | |
147 | + <arg value="-o"/> | |
148 | + <targetfile/> | |
149 | + <fileset refid="gcc-files"/> | |
150 | + <compositemapper> | |
151 | + <mapper type="glob" from="*.c" to="*.o"/> | |
152 | + <mapper type="glob" from="*.m" to="*.o"/> | |
153 | + </compositemapper> | |
154 | + </apply> | |
155 | + </target> | |
156 | + | |
157 | + <!-- links the shared library based on the previously compiled object files --> | |
158 | + <target name="link" depends="compile" if="has-compiler"> | |
159 | + <fileset dir="${buildDir}" id="objFileSet"> | |
160 | + <patternset> | |
161 | + <include name="**/*.o" /> | |
162 | + </patternset> | |
163 | + </fileset> | |
164 | + <pathconvert pathsep=" " property="objFiles" refid="objFileSet" /> | |
165 | + <mkdir dir="${libsDir}" /> | |
166 | + <exec executable="${linker}" failonerror="true" dir="${buildDir}"> | |
167 | + <arg line="${linker-opts}" /> | |
168 | + <arg value="-o" /> | |
169 | + <arg path="${libsDir}/${libName}" /> | |
170 | + <arg line="${objFiles}"/> | |
171 | + <arg line="${libraries}" /> | |
172 | + </exec> | |
173 | + </target> | |
174 | + | |
175 | + <!-- strips the shared library of debug symbols --> | |
176 | + <target name="strip" depends="link" if="should-strip"> | |
177 | + <exec executable="${stripper}" failonerror="true" dir="${buildDir}"> | |
178 | + <arg value="--strip-unneeded"/> | |
179 | + <arg path="${libsDir}/${libName}" /> | |
180 | + </exec> | |
181 | + </target> | |
182 | + | |
183 | + <target name="postcompile" depends="strip"> | |
184 | + | |
185 | + </target> | |
186 | +</project> |
@@ -0,0 +1,36 @@ | ||
1 | +<project name="gdx-bullet-natives" basedir="." default="all"> | |
2 | + <target name="clean"> | |
3 | + <ant antfile="build-windows32.xml" target="clean"/> | |
4 | + <ant antfile="build-windows64.xml" target="clean"/> | |
5 | + <ant antfile="build-linux64.xml" target="clean"/> | |
6 | + <ant antfile="build-linuxarm32.xml" target="clean"/> | |
7 | + <ant antfile="build-linuxarm64.xml" target="clean"/> | |
8 | + <ant antfile="build-android32.xml" target="clean"/> | |
9 | + | |
10 | + </target> | |
11 | + | |
12 | + <target name="compile-natives"> | |
13 | + <ant antfile="build-windows32.xml"/> | |
14 | + <ant antfile="build-windows64.xml"/> | |
15 | + <ant antfile="build-linux64.xml"/> | |
16 | + <ant antfile="build-linuxarm32.xml"/> | |
17 | + <ant antfile="build-linuxarm64.xml"/> | |
18 | + <ant antfile="build-android32.xml"/> | |
19 | + | |
20 | + </target> | |
21 | + | |
22 | + <target name="pack-natives"> | |
23 | + <jar destfile="../libs/gdx-bullet-natives.jar"> | |
24 | + <fileset dir="../libs/windows32" includes="gdx-bullet.dll"/> | |
25 | + <fileset dir="../libs/windows64" includes="gdx-bullet64.dll"/> | |
26 | + <fileset dir="../libs/linux64" includes="libgdx-bullet64.so"/> | |
27 | + <fileset dir="../libs/linuxarm32" includes="libgdx-bulletarm.so"/> | |
28 | + <fileset dir="../libs/linuxarm64" includes="libgdx-bulletarm64.so"/> | |
29 | + <fileset dir="../libs/macosx64" includes="libgdx-bullet64.dylib"/> | |
30 | + <fileset dir="../libs/macosxarm64" includes="libgdx-bulletarm64.dylib"/> | |
31 | + | |
32 | + </jar> | |
33 | + </target> | |
34 | + | |
35 | + <target name="all" depends="compile-natives,pack-natives"/> | |
36 | +</project> |
@@ -0,0 +1,582 @@ | ||
1 | +/* | |
2 | + * Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved. | |
3 | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 | + * | |
5 | + * This code is free software; you can redistribute it and/or modify it | |
6 | + * under the terms of the GNU General Public License version 2 only, as | |
7 | + * published by the Free Software Foundation. Oracle designates this | |
8 | + * particular file as subject to the "Classpath" exception as provided | |
9 | + * by Oracle in the LICENSE file that accompanied this code. | |
10 | + * | |
11 | + * This code is distributed in the hope that it will be useful, but WITHOUT | |
12 | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | + * version 2 for more details (a copy is included in the LICENSE file that | |
15 | + * accompanied this code). | |
16 | + * | |
17 | + * You should have received a copy of the GNU General Public License version | |
18 | + * 2 along with this work; if not, write to the Free Software Foundation, | |
19 | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | + * | |
21 | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
22 | + * or visit www.oracle.com if you need additional information or have any | |
23 | + * questions. | |
24 | + */ | |
25 | + | |
26 | +#ifndef CLASSFILE_CONSTANTS_H | |
27 | +#define CLASSFILE_CONSTANTS_H | |
28 | + | |
29 | +#ifdef __cplusplus | |
30 | +extern "C" { | |
31 | +#endif | |
32 | + | |
33 | +/* Classfile version number for this information */ | |
34 | +#define JVM_CLASSFILE_MAJOR_VERSION 55 | |
35 | +#define JVM_CLASSFILE_MINOR_VERSION 0 | |
36 | + | |
37 | +/* Flags */ | |
38 | + | |
39 | +enum { | |
40 | + JVM_ACC_PUBLIC = 0x0001, | |
41 | + JVM_ACC_PRIVATE = 0x0002, | |
42 | + JVM_ACC_PROTECTED = 0x0004, | |
43 | + JVM_ACC_STATIC = 0x0008, | |
44 | + JVM_ACC_FINAL = 0x0010, | |
45 | + JVM_ACC_SYNCHRONIZED = 0x0020, | |
46 | + JVM_ACC_SUPER = 0x0020, | |
47 | + JVM_ACC_VOLATILE = 0x0040, | |
48 | + JVM_ACC_BRIDGE = 0x0040, | |
49 | + JVM_ACC_TRANSIENT = 0x0080, | |
50 | + JVM_ACC_VARARGS = 0x0080, | |
51 | + JVM_ACC_NATIVE = 0x0100, | |
52 | + JVM_ACC_INTERFACE = 0x0200, | |
53 | + JVM_ACC_ABSTRACT = 0x0400, | |
54 | + JVM_ACC_STRICT = 0x0800, | |
55 | + JVM_ACC_SYNTHETIC = 0x1000, | |
56 | + JVM_ACC_ANNOTATION = 0x2000, | |
57 | + JVM_ACC_ENUM = 0x4000, | |
58 | + JVM_ACC_MODULE = 0x8000 | |
59 | +}; | |
60 | + | |
61 | +#define JVM_ACC_PUBLIC_BIT 0 | |
62 | +#define JVM_ACC_PRIVATE_BIT 1 | |
63 | +#define JVM_ACC_PROTECTED_BIT 2 | |
64 | +#define JVM_ACC_STATIC_BIT 3 | |
65 | +#define JVM_ACC_FINAL_BIT 4 | |
66 | +#define JVM_ACC_SYNCHRONIZED_BIT 5 | |
67 | +#define JVM_ACC_SUPER_BIT 5 | |
68 | +#define JVM_ACC_VOLATILE_BIT 6 | |
69 | +#define JVM_ACC_BRIDGE_BIT 6 | |
70 | +#define JVM_ACC_TRANSIENT_BIT 7 | |
71 | +#define JVM_ACC_VARARGS_BIT 7 | |
72 | +#define JVM_ACC_NATIVE_BIT 8 | |
73 | +#define JVM_ACC_INTERFACE_BIT 9 | |
74 | +#define JVM_ACC_ABSTRACT_BIT 10 | |
75 | +#define JVM_ACC_STRICT_BIT 11 | |
76 | +#define JVM_ACC_SYNTHETIC_BIT 12 | |
77 | +#define JVM_ACC_ANNOTATION_BIT 13 | |
78 | +#define JVM_ACC_ENUM_BIT 14 | |
79 | + | |
80 | +/* Used in newarray instruction. */ | |
81 | + | |
82 | +enum { | |
83 | + JVM_T_BOOLEAN = 4, | |
84 | + JVM_T_CHAR = 5, | |
85 | + JVM_T_FLOAT = 6, | |
86 | + JVM_T_DOUBLE = 7, | |
87 | + JVM_T_BYTE = 8, | |
88 | + JVM_T_SHORT = 9, | |
89 | + JVM_T_INT = 10, | |
90 | + JVM_T_LONG = 11 | |
91 | +}; | |
92 | + | |
93 | +/* Constant Pool Entries */ | |
94 | + | |
95 | +enum { | |
96 | + JVM_CONSTANT_Utf8 = 1, | |
97 | + JVM_CONSTANT_Unicode = 2, /* unused */ | |
98 | + JVM_CONSTANT_Integer = 3, | |
99 | + JVM_CONSTANT_Float = 4, | |
100 | + JVM_CONSTANT_Long = 5, | |
101 | + JVM_CONSTANT_Double = 6, | |
102 | + JVM_CONSTANT_Class = 7, | |
103 | + JVM_CONSTANT_String = 8, | |
104 | + JVM_CONSTANT_Fieldref = 9, | |
105 | + JVM_CONSTANT_Methodref = 10, | |
106 | + JVM_CONSTANT_InterfaceMethodref = 11, | |
107 | + JVM_CONSTANT_NameAndType = 12, | |
108 | + JVM_CONSTANT_MethodHandle = 15, // JSR 292 | |
109 | + JVM_CONSTANT_MethodType = 16, // JSR 292 | |
110 | + JVM_CONSTANT_Dynamic = 17, | |
111 | + JVM_CONSTANT_InvokeDynamic = 18, | |
112 | + JVM_CONSTANT_ExternalMax = 18 | |
113 | +}; | |
114 | + | |
115 | +/* JVM_CONSTANT_MethodHandle subtypes */ | |
116 | +enum { | |
117 | + JVM_REF_getField = 1, | |
118 | + JVM_REF_getStatic = 2, | |
119 | + JVM_REF_putField = 3, | |
120 | + JVM_REF_putStatic = 4, | |
121 | + JVM_REF_invokeVirtual = 5, | |
122 | + JVM_REF_invokeStatic = 6, | |
123 | + JVM_REF_invokeSpecial = 7, | |
124 | + JVM_REF_newInvokeSpecial = 8, | |
125 | + JVM_REF_invokeInterface = 9 | |
126 | +}; | |
127 | + | |
128 | +/* StackMapTable type item numbers */ | |
129 | + | |
130 | +enum { | |
131 | + JVM_ITEM_Top = 0, | |
132 | + JVM_ITEM_Integer = 1, | |
133 | + JVM_ITEM_Float = 2, | |
134 | + JVM_ITEM_Double = 3, | |
135 | + JVM_ITEM_Long = 4, | |
136 | + JVM_ITEM_Null = 5, | |
137 | + JVM_ITEM_UninitializedThis = 6, | |
138 | + JVM_ITEM_Object = 7, | |
139 | + JVM_ITEM_Uninitialized = 8 | |
140 | +}; | |
141 | + | |
142 | +/* Type signatures */ | |
143 | + | |
144 | +enum { | |
145 | + JVM_SIGNATURE_ARRAY = '[', | |
146 | + JVM_SIGNATURE_BYTE = 'B', | |
147 | + JVM_SIGNATURE_CHAR = 'C', | |
148 | + JVM_SIGNATURE_CLASS = 'L', | |
149 | + JVM_SIGNATURE_ENDCLASS = ';', | |
150 | + JVM_SIGNATURE_ENUM = 'E', | |
151 | + JVM_SIGNATURE_FLOAT = 'F', | |
152 | + JVM_SIGNATURE_DOUBLE = 'D', | |
153 | + JVM_SIGNATURE_FUNC = '(', | |
154 | + JVM_SIGNATURE_ENDFUNC = ')', | |
155 | + JVM_SIGNATURE_INT = 'I', | |
156 | + JVM_SIGNATURE_LONG = 'J', | |
157 | + JVM_SIGNATURE_SHORT = 'S', | |
158 | + JVM_SIGNATURE_VOID = 'V', | |
159 | + JVM_SIGNATURE_BOOLEAN = 'Z' | |
160 | +}; | |
161 | + | |
162 | +/* Opcodes */ | |
163 | + | |
164 | +enum { | |
165 | + JVM_OPC_nop = 0, | |
166 | + JVM_OPC_aconst_null = 1, | |
167 | + JVM_OPC_iconst_m1 = 2, | |
168 | + JVM_OPC_iconst_0 = 3, | |
169 | + JVM_OPC_iconst_1 = 4, | |
170 | + JVM_OPC_iconst_2 = 5, | |
171 | + JVM_OPC_iconst_3 = 6, | |
172 | + JVM_OPC_iconst_4 = 7, | |
173 | + JVM_OPC_iconst_5 = 8, | |
174 | + JVM_OPC_lconst_0 = 9, | |
175 | + JVM_OPC_lconst_1 = 10, | |
176 | + JVM_OPC_fconst_0 = 11, | |
177 | + JVM_OPC_fconst_1 = 12, | |
178 | + JVM_OPC_fconst_2 = 13, | |
179 | + JVM_OPC_dconst_0 = 14, | |
180 | + JVM_OPC_dconst_1 = 15, | |
181 | + JVM_OPC_bipush = 16, | |
182 | + JVM_OPC_sipush = 17, | |
183 | + JVM_OPC_ldc = 18, | |
184 | + JVM_OPC_ldc_w = 19, | |
185 | + JVM_OPC_ldc2_w = 20, | |
186 | + JVM_OPC_iload = 21, | |
187 | + JVM_OPC_lload = 22, | |
188 | + JVM_OPC_fload = 23, | |
189 | + JVM_OPC_dload = 24, | |
190 | + JVM_OPC_aload = 25, | |
191 | + JVM_OPC_iload_0 = 26, | |
192 | + JVM_OPC_iload_1 = 27, | |
193 | + JVM_OPC_iload_2 = 28, | |
194 | + JVM_OPC_iload_3 = 29, | |
195 | + JVM_OPC_lload_0 = 30, | |
196 | + JVM_OPC_lload_1 = 31, | |
197 | + JVM_OPC_lload_2 = 32, | |
198 | + JVM_OPC_lload_3 = 33, | |
199 | + JVM_OPC_fload_0 = 34, | |
200 | + JVM_OPC_fload_1 = 35, | |
201 | + JVM_OPC_fload_2 = 36, | |
202 | + JVM_OPC_fload_3 = 37, | |
203 | + JVM_OPC_dload_0 = 38, | |
204 | + JVM_OPC_dload_1 = 39, | |
205 | + JVM_OPC_dload_2 = 40, | |
206 | + JVM_OPC_dload_3 = 41, | |
207 | + JVM_OPC_aload_0 = 42, | |
208 | + JVM_OPC_aload_1 = 43, | |
209 | + JVM_OPC_aload_2 = 44, | |
210 | + JVM_OPC_aload_3 = 45, | |
211 | + JVM_OPC_iaload = 46, | |
212 | + JVM_OPC_laload = 47, | |
213 | + JVM_OPC_faload = 48, | |
214 | + JVM_OPC_daload = 49, | |
215 | + JVM_OPC_aaload = 50, | |
216 | + JVM_OPC_baload = 51, | |
217 | + JVM_OPC_caload = 52, | |
218 | + JVM_OPC_saload = 53, | |
219 | + JVM_OPC_istore = 54, | |
220 | + JVM_OPC_lstore = 55, | |
221 | + JVM_OPC_fstore = 56, | |
222 | + JVM_OPC_dstore = 57, | |
223 | + JVM_OPC_astore = 58, | |
224 | + JVM_OPC_istore_0 = 59, | |
225 | + JVM_OPC_istore_1 = 60, | |
226 | + JVM_OPC_istore_2 = 61, | |
227 | + JVM_OPC_istore_3 = 62, | |
228 | + JVM_OPC_lstore_0 = 63, | |
229 | + JVM_OPC_lstore_1 = 64, | |
230 | + JVM_OPC_lstore_2 = 65, | |
231 | + JVM_OPC_lstore_3 = 66, | |
232 | + JVM_OPC_fstore_0 = 67, | |
233 | + JVM_OPC_fstore_1 = 68, | |
234 | + JVM_OPC_fstore_2 = 69, | |
235 | + JVM_OPC_fstore_3 = 70, | |
236 | + JVM_OPC_dstore_0 = 71, | |
237 | + JVM_OPC_dstore_1 = 72, | |
238 | + JVM_OPC_dstore_2 = 73, | |
239 | + JVM_OPC_dstore_3 = 74, | |
240 | + JVM_OPC_astore_0 = 75, | |
241 | + JVM_OPC_astore_1 = 76, | |
242 | + JVM_OPC_astore_2 = 77, | |
243 | + JVM_OPC_astore_3 = 78, | |
244 | + JVM_OPC_iastore = 79, | |
245 | + JVM_OPC_lastore = 80, | |
246 | + JVM_OPC_fastore = 81, | |
247 | + JVM_OPC_dastore = 82, | |
248 | + JVM_OPC_aastore = 83, | |
249 | + JVM_OPC_bastore = 84, | |
250 | + JVM_OPC_castore = 85, | |
251 | + JVM_OPC_sastore = 86, | |
252 | + JVM_OPC_pop = 87, | |
253 | + JVM_OPC_pop2 = 88, | |
254 | + JVM_OPC_dup = 89, | |
255 | + JVM_OPC_dup_x1 = 90, | |
256 | + JVM_OPC_dup_x2 = 91, | |
257 | + JVM_OPC_dup2 = 92, | |
258 | + JVM_OPC_dup2_x1 = 93, | |
259 | + JVM_OPC_dup2_x2 = 94, | |
260 | + JVM_OPC_swap = 95, | |
261 | + JVM_OPC_iadd = 96, | |
262 | + JVM_OPC_ladd = 97, | |
263 | + JVM_OPC_fadd = 98, | |
264 | + JVM_OPC_dadd = 99, | |
265 | + JVM_OPC_isub = 100, | |
266 | + JVM_OPC_lsub = 101, | |
267 | + JVM_OPC_fsub = 102, | |
268 | + JVM_OPC_dsub = 103, | |
269 | + JVM_OPC_imul = 104, | |
270 | + JVM_OPC_lmul = 105, | |
271 | + JVM_OPC_fmul = 106, | |
272 | + JVM_OPC_dmul = 107, | |
273 | + JVM_OPC_idiv = 108, | |
274 | + JVM_OPC_ldiv = 109, | |
275 | + JVM_OPC_fdiv = 110, | |
276 | + JVM_OPC_ddiv = 111, | |
277 | + JVM_OPC_irem = 112, | |
278 | + JVM_OPC_lrem = 113, | |
279 | + JVM_OPC_frem = 114, | |
280 | + JVM_OPC_drem = 115, | |
281 | + JVM_OPC_ineg = 116, | |
282 | + JVM_OPC_lneg = 117, | |
283 | + JVM_OPC_fneg = 118, | |
284 | + JVM_OPC_dneg = 119, | |
285 | + JVM_OPC_ishl = 120, | |
286 | + JVM_OPC_lshl = 121, | |
287 | + JVM_OPC_ishr = 122, | |
288 | + JVM_OPC_lshr = 123, | |
289 | + JVM_OPC_iushr = 124, | |
290 | + JVM_OPC_lushr = 125, | |
291 | + JVM_OPC_iand = 126, | |
292 | + JVM_OPC_land = 127, | |
293 | + JVM_OPC_ior = 128, | |
294 | + JVM_OPC_lor = 129, | |
295 | + JVM_OPC_ixor = 130, | |
296 | + JVM_OPC_lxor = 131, | |
297 | + JVM_OPC_iinc = 132, | |
298 | + JVM_OPC_i2l = 133, | |
299 | + JVM_OPC_i2f = 134, | |
300 | + JVM_OPC_i2d = 135, | |
301 | + JVM_OPC_l2i = 136, | |
302 | + JVM_OPC_l2f = 137, | |
303 | + JVM_OPC_l2d = 138, | |
304 | + JVM_OPC_f2i = 139, | |
305 | + JVM_OPC_f2l = 140, | |
306 | + JVM_OPC_f2d = 141, | |
307 | + JVM_OPC_d2i = 142, | |
308 | + JVM_OPC_d2l = 143, | |
309 | + JVM_OPC_d2f = 144, | |
310 | + JVM_OPC_i2b = 145, | |
311 | + JVM_OPC_i2c = 146, | |
312 | + JVM_OPC_i2s = 147, | |
313 | + JVM_OPC_lcmp = 148, | |
314 | + JVM_OPC_fcmpl = 149, | |
315 | + JVM_OPC_fcmpg = 150, | |
316 | + JVM_OPC_dcmpl = 151, | |
317 | + JVM_OPC_dcmpg = 152, | |
318 | + JVM_OPC_ifeq = 153, | |
319 | + JVM_OPC_ifne = 154, | |
320 | + JVM_OPC_iflt = 155, | |
321 | + JVM_OPC_ifge = 156, | |
322 | + JVM_OPC_ifgt = 157, | |
323 | + JVM_OPC_ifle = 158, | |
324 | + JVM_OPC_if_icmpeq = 159, | |
325 | + JVM_OPC_if_icmpne = 160, | |
326 | + JVM_OPC_if_icmplt = 161, | |
327 | + JVM_OPC_if_icmpge = 162, | |
328 | + JVM_OPC_if_icmpgt = 163, | |
329 | + JVM_OPC_if_icmple = 164, | |
330 | + JVM_OPC_if_acmpeq = 165, | |
331 | + JVM_OPC_if_acmpne = 166, | |
332 | + JVM_OPC_goto = 167, | |
333 | + JVM_OPC_jsr = 168, | |
334 | + JVM_OPC_ret = 169, | |
335 | + JVM_OPC_tableswitch = 170, | |
336 | + JVM_OPC_lookupswitch = 171, | |
337 | + JVM_OPC_ireturn = 172, | |
338 | + JVM_OPC_lreturn = 173, | |
339 | + JVM_OPC_freturn = 174, | |
340 | + JVM_OPC_dreturn = 175, | |
341 | + JVM_OPC_areturn = 176, | |
342 | + JVM_OPC_return = 177, | |
343 | + JVM_OPC_getstatic = 178, | |
344 | + JVM_OPC_putstatic = 179, | |
345 | + JVM_OPC_getfield = 180, | |
346 | + JVM_OPC_putfield = 181, | |
347 | + JVM_OPC_invokevirtual = 182, | |
348 | + JVM_OPC_invokespecial = 183, | |
349 | + JVM_OPC_invokestatic = 184, | |
350 | + JVM_OPC_invokeinterface = 185, | |
351 | + JVM_OPC_invokedynamic = 186, | |
352 | + JVM_OPC_new = 187, | |
353 | + JVM_OPC_newarray = 188, | |
354 | + JVM_OPC_anewarray = 189, | |
355 | + JVM_OPC_arraylength = 190, | |
356 | + JVM_OPC_athrow = 191, | |
357 | + JVM_OPC_checkcast = 192, | |
358 | + JVM_OPC_instanceof = 193, | |
359 | + JVM_OPC_monitorenter = 194, | |
360 | + JVM_OPC_monitorexit = 195, | |
361 | + JVM_OPC_wide = 196, | |
362 | + JVM_OPC_multianewarray = 197, | |
363 | + JVM_OPC_ifnull = 198, | |
364 | + JVM_OPC_ifnonnull = 199, | |
365 | + JVM_OPC_goto_w = 200, | |
366 | + JVM_OPC_jsr_w = 201, | |
367 | + JVM_OPC_MAX = 201 | |
368 | +}; | |
369 | + | |
370 | +/* Opcode length initializer, use with something like: | |
371 | + * unsigned char opcode_length[JVM_OPC_MAX+1] = JVM_OPCODE_LENGTH_INITIALIZER; | |
372 | + */ | |
373 | +#define JVM_OPCODE_LENGTH_INITIALIZER { \ | |
374 | + 1, /* nop */ \ | |
375 | + 1, /* aconst_null */ \ | |
376 | + 1, /* iconst_m1 */ \ | |
377 | + 1, /* iconst_0 */ \ | |
378 | + 1, /* iconst_1 */ \ | |
379 | + 1, /* iconst_2 */ \ | |
380 | + 1, /* iconst_3 */ \ | |
381 | + 1, /* iconst_4 */ \ | |
382 | + 1, /* iconst_5 */ \ | |
383 | + 1, /* lconst_0 */ \ | |
384 | + 1, /* lconst_1 */ \ | |
385 | + 1, /* fconst_0 */ \ | |
386 | + 1, /* fconst_1 */ \ | |
387 | + 1, /* fconst_2 */ \ | |
388 | + 1, /* dconst_0 */ \ | |
389 | + 1, /* dconst_1 */ \ | |
390 | + 2, /* bipush */ \ | |
391 | + 3, /* sipush */ \ | |
392 | + 2, /* ldc */ \ | |
393 | + 3, /* ldc_w */ \ | |
394 | + 3, /* ldc2_w */ \ | |
395 | + 2, /* iload */ \ | |
396 | + 2, /* lload */ \ | |
397 | + 2, /* fload */ \ | |
398 | + 2, /* dload */ \ | |
399 | + 2, /* aload */ \ | |
400 | + 1, /* iload_0 */ \ | |
401 | + 1, /* iload_1 */ \ | |
402 | + 1, /* iload_2 */ \ | |
403 | + 1, /* iload_3 */ \ | |
404 | + 1, /* lload_0 */ \ | |
405 | + 1, /* lload_1 */ \ | |
406 | + 1, /* lload_2 */ \ | |
407 | + 1, /* lload_3 */ \ | |
408 | + 1, /* fload_0 */ \ | |
409 | + 1, /* fload_1 */ \ | |
410 | + 1, /* fload_2 */ \ | |
411 | + 1, /* fload_3 */ \ | |
412 | + 1, /* dload_0 */ \ | |
413 | + 1, /* dload_1 */ \ | |
414 | + 1, /* dload_2 */ \ | |
415 | + 1, /* dload_3 */ \ | |
416 | + 1, /* aload_0 */ \ | |
417 | + 1, /* aload_1 */ \ | |
418 | + 1, /* aload_2 */ \ | |
419 | + 1, /* aload_3 */ \ | |
420 | + 1, /* iaload */ \ | |
421 | + 1, /* laload */ \ | |
422 | + 1, /* faload */ \ | |
423 | + 1, /* daload */ \ | |
424 | + 1, /* aaload */ \ | |
425 | + 1, /* baload */ \ | |
426 | + 1, /* caload */ \ | |
427 | + 1, /* saload */ \ | |
428 | + 2, /* istore */ \ | |
429 | + 2, /* lstore */ \ | |
430 | + 2, /* fstore */ \ | |
431 | + 2, /* dstore */ \ | |
432 | + 2, /* astore */ \ | |
433 | + 1, /* istore_0 */ \ | |
434 | + 1, /* istore_1 */ \ | |
435 | + 1, /* istore_2 */ \ | |
436 | + 1, /* istore_3 */ \ | |
437 | + 1, /* lstore_0 */ \ | |
438 | + 1, /* lstore_1 */ \ | |
439 | + 1, /* lstore_2 */ \ | |
440 | + 1, /* lstore_3 */ \ | |
441 | + 1, /* fstore_0 */ \ | |
442 | + 1, /* fstore_1 */ \ | |
443 | + 1, /* fstore_2 */ \ | |
444 | + 1, /* fstore_3 */ \ | |
445 | + 1, /* dstore_0 */ \ | |
446 | + 1, /* dstore_1 */ \ | |
447 | + 1, /* dstore_2 */ \ | |
448 | + 1, /* dstore_3 */ \ | |
449 | + 1, /* astore_0 */ \ | |
450 | + 1, /* astore_1 */ \ | |
451 | + 1, /* astore_2 */ \ | |
452 | + 1, /* astore_3 */ \ | |
453 | + 1, /* iastore */ \ | |
454 | + 1, /* lastore */ \ | |
455 | + 1, /* fastore */ \ | |
456 | + 1, /* dastore */ \ | |
457 | + 1, /* aastore */ \ | |
458 | + 1, /* bastore */ \ | |
459 | + 1, /* castore */ \ | |
460 | + 1, /* sastore */ \ | |
461 | + 1, /* pop */ \ | |
462 | + 1, /* pop2 */ \ | |
463 | + 1, /* dup */ \ | |
464 | + 1, /* dup_x1 */ \ | |
465 | + 1, /* dup_x2 */ \ | |
466 | + 1, /* dup2 */ \ | |
467 | + 1, /* dup2_x1 */ \ | |
468 | + 1, /* dup2_x2 */ \ | |
469 | + 1, /* swap */ \ | |
470 | + 1, /* iadd */ \ | |
471 | + 1, /* ladd */ \ | |
472 | + 1, /* fadd */ \ | |
473 | + 1, /* dadd */ \ | |
474 | + 1, /* isub */ \ | |
475 | + 1, /* lsub */ \ | |
476 | + 1, /* fsub */ \ | |
477 | + 1, /* dsub */ \ | |
478 | + 1, /* imul */ \ | |
479 | + 1, /* lmul */ \ | |
480 | + 1, /* fmul */ \ | |
481 | + 1, /* dmul */ \ | |
482 | + 1, /* idiv */ \ | |
483 | + 1, /* ldiv */ \ | |
484 | + 1, /* fdiv */ \ | |
485 | + 1, /* ddiv */ \ | |
486 | + 1, /* irem */ \ | |
487 | + 1, /* lrem */ \ | |
488 | + 1, /* frem */ \ | |
489 | + 1, /* drem */ \ | |
490 | + 1, /* ineg */ \ | |
491 | + 1, /* lneg */ \ | |
492 | + 1, /* fneg */ \ | |
493 | + 1, /* dneg */ \ | |
494 | + 1, /* ishl */ \ | |
495 | + 1, /* lshl */ \ | |
496 | + 1, /* ishr */ \ | |
497 | + 1, /* lshr */ \ | |
498 | + 1, /* iushr */ \ | |
499 | + 1, /* lushr */ \ | |
500 | + 1, /* iand */ \ | |
501 | + 1, /* land */ \ | |
502 | + 1, /* ior */ \ | |
503 | + 1, /* lor */ \ | |
504 | + 1, /* ixor */ \ | |
505 | + 1, /* lxor */ \ | |
506 | + 3, /* iinc */ \ | |
507 | + 1, /* i2l */ \ | |
508 | + 1, /* i2f */ \ | |
509 | + 1, /* i2d */ \ | |
510 | + 1, /* l2i */ \ | |
511 | + 1, /* l2f */ \ | |
512 | + 1, /* l2d */ \ | |
513 | + 1, /* f2i */ \ | |
514 | + 1, /* f2l */ \ | |
515 | + 1, /* f2d */ \ | |
516 | + 1, /* d2i */ \ | |
517 | + 1, /* d2l */ \ | |
518 | + 1, /* d2f */ \ | |
519 | + 1, /* i2b */ \ | |
520 | + 1, /* i2c */ \ | |
521 | + 1, /* i2s */ \ | |
522 | + 1, /* lcmp */ \ | |
523 | + 1, /* fcmpl */ \ | |
524 | + 1, /* fcmpg */ \ | |
525 | + 1, /* dcmpl */ \ | |
526 | + 1, /* dcmpg */ \ | |
527 | + 3, /* ifeq */ \ | |
528 | + 3, /* ifne */ \ | |
529 | + 3, /* iflt */ \ | |
530 | + 3, /* ifge */ \ | |
531 | + 3, /* ifgt */ \ | |
532 | + 3, /* ifle */ \ | |
533 | + 3, /* if_icmpeq */ \ | |
534 | + 3, /* if_icmpne */ \ | |
535 | + 3, /* if_icmplt */ \ | |
536 | + 3, /* if_icmpge */ \ | |
537 | + 3, /* if_icmpgt */ \ | |
538 | + 3, /* if_icmple */ \ | |
539 | + 3, /* if_acmpeq */ \ | |
540 | + 3, /* if_acmpne */ \ | |
541 | + 3, /* goto */ \ | |
542 | + 3, /* jsr */ \ | |
543 | + 2, /* ret */ \ | |
544 | + 99, /* tableswitch */ \ | |
545 | + 99, /* lookupswitch */ \ | |
546 | + 1, /* ireturn */ \ | |
547 | + 1, /* lreturn */ \ | |
548 | + 1, /* freturn */ \ | |
549 | + 1, /* dreturn */ \ | |
550 | + 1, /* areturn */ \ | |
551 | + 1, /* return */ \ | |
552 | + 3, /* getstatic */ \ | |
553 | + 3, /* putstatic */ \ | |
554 | + 3, /* getfield */ \ | |
555 | + 3, /* putfield */ \ | |
556 | + 3, /* invokevirtual */ \ | |
557 | + 3, /* invokespecial */ \ | |
558 | + 3, /* invokestatic */ \ | |
559 | + 5, /* invokeinterface */ \ | |
560 | + 5, /* invokedynamic */ \ | |
561 | + 3, /* new */ \ | |
562 | + 2, /* newarray */ \ | |
563 | + 3, /* anewarray */ \ | |
564 | + 1, /* arraylength */ \ | |
565 | + 1, /* athrow */ \ | |
566 | + 3, /* checkcast */ \ | |
567 | + 3, /* instanceof */ \ | |
568 | + 1, /* monitorenter */ \ | |
569 | + 1, /* monitorexit */ \ | |
570 | + 0, /* wide */ \ | |
571 | + 4, /* multianewarray */ \ | |
572 | + 3, /* ifnull */ \ | |
573 | + 3, /* ifnonnull */ \ | |
574 | + 5, /* goto_w */ \ | |
575 | + 5 /* jsr_w */ \ | |
576 | +} | |
577 | + | |
578 | +#ifdef __cplusplus | |
579 | +} /* extern "C" */ | |
580 | +#endif /* __cplusplus */ | |
581 | + | |
582 | +#endif /* CLASSFILE_CONSTANTS */ |
@@ -0,0 +1,356 @@ | ||
1 | +/* | |
2 | + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. | |
3 | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 | + * | |
5 | + * This code is free software; you can redistribute it and/or modify it | |
6 | + * under the terms of the GNU General Public License version 2 only, as | |
7 | + * published by the Free Software Foundation. Oracle designates this | |
8 | + * particular file as subject to the "Classpath" exception as provided | |
9 | + * by Oracle in the LICENSE file that accompanied this code. | |
10 | + * | |
11 | + * This code is distributed in the hope that it will be useful, but WITHOUT | |
12 | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | + * version 2 for more details (a copy is included in the LICENSE file that | |
15 | + * accompanied this code). | |
16 | + * | |
17 | + * You should have received a copy of the GNU General Public License version | |
18 | + * 2 along with this work; if not, write to the Free Software Foundation, | |
19 | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | + * | |
21 | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
22 | + * or visit www.oracle.com if you need additional information or have any | |
23 | + * questions. | |
24 | + */ | |
25 | + | |
26 | +#ifndef _JAVASOFT_JAWT_H_ | |
27 | +#define _JAVASOFT_JAWT_H_ | |
28 | + | |
29 | +#include "jni.h" | |
30 | + | |
31 | +#ifdef __cplusplus | |
32 | +extern "C" { | |
33 | +#endif | |
34 | + | |
35 | +/* | |
36 | + * AWT native interface. | |
37 | + * | |
38 | + * The AWT native interface allows a native C or C++ application a means | |
39 | + * by which to access native structures in AWT. This is to facilitate moving | |
40 | + * legacy C and C++ applications to Java and to target the needs of the | |
41 | + * developers who need to do their own native rendering to canvases | |
42 | + * for performance or other reasons. | |
43 | + * | |
44 | + * Conversely it also provides mechanisms for an application which already | |
45 | + * has a native window to provide that to AWT for AWT rendering. | |
46 | + * | |
47 | + * Since every platform may be different in its native data structures | |
48 | + * and APIs for windowing systems the application must necessarily | |
49 | + * provided per-platform source and compile and deliver per-platform | |
50 | + * native code to use this API. | |
51 | + * | |
52 | + * These interfaces are not part of the Java SE specification and | |
53 | + * a VM is not required to implement this API. However it is strongly | |
54 | + * recommended that all implementations which support headful AWT | |
55 | + * also support these interfaces. | |
56 | + * | |
57 | + */ | |
58 | + | |
59 | +/* | |
60 | + * AWT Native Drawing Surface (JAWT_DrawingSurface). | |
61 | + * | |
62 | + * For each platform, there is a native drawing surface structure. This | |
63 | + * platform-specific structure can be found in jawt_md.h. It is recommended | |
64 | + * that additional platforms follow the same model. It is also recommended | |
65 | + * that VMs on all platforms support the existing structures in jawt_md.h. | |
66 | + * | |
67 | + ******************* | |
68 | + * EXAMPLE OF USAGE: | |
69 | + ******************* | |
70 | + * | |
71 | + * In Win32, a programmer wishes to access the HWND of a canvas to perform | |
72 | + * native rendering into it. The programmer has declared the paint() method | |
73 | + * for their canvas subclass to be native: | |
74 | + * | |
75 | + * | |
76 | + * MyCanvas.java: | |
77 | + * | |
78 | + * import java.awt.*; | |
79 | + * | |
80 | + * public class MyCanvas extends Canvas { | |
81 | + * | |
82 | + * static { | |
83 | + * System.loadLibrary("mylib"); | |
84 | + * } | |
85 | + * | |
86 | + * public native void paint(Graphics g); | |
87 | + * } | |
88 | + * | |
89 | + * | |
90 | + * myfile.c: | |
91 | + * | |
92 | + * #include "jawt_md.h" | |
93 | + * #include <assert.h> | |
94 | + * | |
95 | + * JNIEXPORT void JNICALL | |
96 | + * Java_MyCanvas_paint(JNIEnv* env, jobject canvas, jobject graphics) | |
97 | + * { | |
98 | + * JAWT awt; | |
99 | + * JAWT_DrawingSurface* ds; | |
100 | + * JAWT_DrawingSurfaceInfo* dsi; | |
101 | + * JAWT_Win32DrawingSurfaceInfo* dsi_win; | |
102 | + * jboolean result; | |
103 | + * jint lock; | |
104 | + * | |
105 | + * // Get the AWT. Request version 9 to access features in that release. | |
106 | + * awt.version = JAWT_VERSION_9; | |
107 | + * result = JAWT_GetAWT(env, &awt); | |
108 | + * assert(result != JNI_FALSE); | |
109 | + * | |
110 | + * // Get the drawing surface | |
111 | + * ds = awt.GetDrawingSurface(env, canvas); | |
112 | + * assert(ds != NULL); | |
113 | + * | |
114 | + * // Lock the drawing surface | |
115 | + * lock = ds->Lock(ds); | |
116 | + * assert((lock & JAWT_LOCK_ERROR) == 0); | |
117 | + * | |
118 | + * // Get the drawing surface info | |
119 | + * dsi = ds->GetDrawingSurfaceInfo(ds); | |
120 | + * | |
121 | + * // Get the platform-specific drawing info | |
122 | + * dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo; | |
123 | + * | |
124 | + * ////////////////////////////// | |
125 | + * // !!! DO PAINTING HERE !!! // | |
126 | + * ////////////////////////////// | |
127 | + * | |
128 | + * // Free the drawing surface info | |
129 | + * ds->FreeDrawingSurfaceInfo(dsi); | |
130 | + * | |
131 | + * // Unlock the drawing surface | |
132 | + * ds->Unlock(ds); | |
133 | + * | |
134 | + * // Free the drawing surface | |
135 | + * awt.FreeDrawingSurface(ds); | |
136 | + * } | |
137 | + * | |
138 | + */ | |
139 | + | |
140 | +/* | |
141 | + * JAWT_Rectangle | |
142 | + * Structure for a native rectangle. | |
143 | + */ | |
144 | +typedef struct jawt_Rectangle { | |
145 | + jint x; | |
146 | + jint y; | |
147 | + jint width; | |
148 | + jint height; | |
149 | +} JAWT_Rectangle; | |
150 | + | |
151 | +struct jawt_DrawingSurface; | |
152 | + | |
153 | +/* | |
154 | + * JAWT_DrawingSurfaceInfo | |
155 | + * Structure for containing the underlying drawing information of a component. | |
156 | + */ | |
157 | +typedef struct jawt_DrawingSurfaceInfo { | |
158 | + /* | |
159 | + * Pointer to the platform-specific information. This can be safely | |
160 | + * cast to a JAWT_Win32DrawingSurfaceInfo on Windows or a | |
161 | + * JAWT_X11DrawingSurfaceInfo on Linux and Solaris. On Mac OS X this is a | |
162 | + * pointer to a NSObject that conforms to the JAWT_SurfaceLayers | |
163 | + * protocol. See jawt_md.h for details. | |
164 | + */ | |
165 | + void* platformInfo; | |
166 | + /* Cached pointer to the underlying drawing surface */ | |
167 | + struct jawt_DrawingSurface* ds; | |
168 | + /* Bounding rectangle of the drawing surface */ | |
169 | + JAWT_Rectangle bounds; | |
170 | + /* Number of rectangles in the clip */ | |
171 | + jint clipSize; | |
172 | + /* Clip rectangle array */ | |
173 | + JAWT_Rectangle* clip; | |
174 | +} JAWT_DrawingSurfaceInfo; | |
175 | + | |
176 | +#define JAWT_LOCK_ERROR 0x00000001 | |
177 | +#define JAWT_LOCK_CLIP_CHANGED 0x00000002 | |
178 | +#define JAWT_LOCK_BOUNDS_CHANGED 0x00000004 | |
179 | +#define JAWT_LOCK_SURFACE_CHANGED 0x00000008 | |
180 | + | |
181 | +/* | |
182 | + * JAWT_DrawingSurface | |
183 | + * Structure for containing the underlying drawing information of a component. | |
184 | + * All operations on a JAWT_DrawingSurface MUST be performed from the same | |
185 | + * thread as the call to GetDrawingSurface. | |
186 | + */ | |
187 | +typedef struct jawt_DrawingSurface { | |
188 | + /* | |
189 | + * Cached reference to the Java environment of the calling thread. | |
190 | + * If Lock(), Unlock(), GetDrawingSurfaceInfo() or | |
191 | + * FreeDrawingSurfaceInfo() are called from a different thread, | |
192 | + * this data member should be set before calling those functions. | |
193 | + */ | |
194 | + JNIEnv* env; | |
195 | + /* Cached reference to the target object */ | |
196 | + jobject target; | |
197 | + /* | |
198 | + * Lock the surface of the target component for native rendering. | |
199 | + * When finished drawing, the surface must be unlocked with | |
200 | + * Unlock(). This function returns a bitmask with one or more of the | |
201 | + * following values: | |
202 | + * | |
203 | + * JAWT_LOCK_ERROR - When an error has occurred and the surface could not | |
204 | + * be locked. | |
205 | + * | |
206 | + * JAWT_LOCK_CLIP_CHANGED - When the clip region has changed. | |
207 | + * | |
208 | + * JAWT_LOCK_BOUNDS_CHANGED - When the bounds of the surface have changed. | |
209 | + * | |
210 | + * JAWT_LOCK_SURFACE_CHANGED - When the surface itself has changed | |
211 | + */ | |
212 | + jint (JNICALL *Lock) | |
213 | + (struct jawt_DrawingSurface* ds); | |
214 | + /* | |
215 | + * Get the drawing surface info. | |
216 | + * The value returned may be cached, but the values may change if | |
217 | + * additional calls to Lock() or Unlock() are made. | |
218 | + * Lock() must be called before this can return a valid value. | |
219 | + * Returns NULL if an error has occurred. | |
220 | + * When finished with the returned value, FreeDrawingSurfaceInfo must be | |
221 | + * called. | |
222 | + */ | |
223 | + JAWT_DrawingSurfaceInfo* (JNICALL *GetDrawingSurfaceInfo) | |
224 | + (struct jawt_DrawingSurface* ds); | |
225 | + /* | |
226 | + * Free the drawing surface info. | |
227 | + */ | |
228 | + void (JNICALL *FreeDrawingSurfaceInfo) | |
229 | + (JAWT_DrawingSurfaceInfo* dsi); | |
230 | + /* | |
231 | + * Unlock the drawing surface of the target component for native rendering. | |
232 | + */ | |
233 | + void (JNICALL *Unlock) | |
234 | + (struct jawt_DrawingSurface* ds); | |
235 | +} JAWT_DrawingSurface; | |
236 | + | |
237 | +/* | |
238 | + * JAWT | |
239 | + * Structure for containing native AWT functions. | |
240 | + */ | |
241 | +typedef struct jawt { | |
242 | + /* | |
243 | + * Version of this structure. This must always be set before | |
244 | + * calling JAWT_GetAWT(). It affects the functions returned. | |
245 | + * Must be one of the known pre-defined versions. | |
246 | + */ | |
247 | + jint version; | |
248 | + /* | |
249 | + * Return a drawing surface from a target jobject. This value | |
250 | + * may be cached. | |
251 | + * Returns NULL if an error has occurred. | |
252 | + * Target must be a java.awt.Component (should be a Canvas | |
253 | + * or Window for native rendering). | |
254 | + * FreeDrawingSurface() must be called when finished with the | |
255 | + * returned JAWT_DrawingSurface. | |
256 | + */ | |
257 | + JAWT_DrawingSurface* (JNICALL *GetDrawingSurface) | |
258 | + (JNIEnv* env, jobject target); | |
259 | + /* | |
260 | + * Free the drawing surface allocated in GetDrawingSurface. | |
261 | + */ | |
262 | + void (JNICALL *FreeDrawingSurface) | |
263 | + (JAWT_DrawingSurface* ds); | |
264 | + /* | |
265 | + * Since 1.4 | |
266 | + * Locks the entire AWT for synchronization purposes | |
267 | + */ | |
268 | + void (JNICALL *Lock)(JNIEnv* env); | |
269 | + /* | |
270 | + * Since 1.4 | |
271 | + * Unlocks the entire AWT for synchronization purposes | |
272 | + */ | |
273 | + void (JNICALL *Unlock)(JNIEnv* env); | |
274 | + /* | |
275 | + * Since 1.4 | |
276 | + * Returns a reference to a java.awt.Component from a native | |
277 | + * platform handle. On Windows, this corresponds to an HWND; | |
278 | + * on Solaris and Linux, this is a Drawable. For other platforms, | |
279 | + * see the appropriate machine-dependent header file for a description. | |
280 | + * The reference returned by this function is a local | |
281 | + * reference that is only valid in this environment. | |
282 | + * This function returns a NULL reference if no component could be | |
283 | + * found with matching platform information. | |
284 | + */ | |
285 | + jobject (JNICALL *GetComponent)(JNIEnv* env, void* platformInfo); | |
286 | + | |
287 | + /** | |
288 | + * Since 9 | |
289 | + * Creates a java.awt.Frame placed in a native container. Container is | |
290 | + * referenced by the native platform handle. For example on Windows this | |
291 | + * corresponds to an HWND. For other platforms, see the appropriate | |
292 | + * machine-dependent header file for a description. The reference returned | |
293 | + * by this function is a local reference that is only valid in this | |
294 | + * environment. This function returns a NULL reference if no frame could be | |
295 | + * created with matching platform information. | |
296 | + */ | |
297 | + jobject (JNICALL *CreateEmbeddedFrame) (JNIEnv *env, void* platformInfo); | |
298 | + | |
299 | + /** | |
300 | + * Since 9 | |
301 | + * Moves and resizes the embedded frame. The new location of the top-left | |
302 | + * corner is specified by x and y parameters relative to the native parent | |
303 | + * component. The new size is specified by width and height. | |
304 | + * | |
305 | + * The embedded frame should be created by CreateEmbeddedFrame() method, or | |
306 | + * this function will not have any effect. | |
307 | + * | |
308 | + * java.awt.Component.setLocation() and java.awt.Component.setBounds() for | |
309 | + * EmbeddedFrame really don't move it within the native parent. These | |
310 | + * methods always locate the embedded frame at (0, 0) for backward | |
311 | + * compatibility. To allow moving embedded frames this method was | |
312 | + * introduced, and it works just the same way as setLocation() and | |
313 | + * setBounds() for usual, non-embedded components. | |
314 | + * | |
315 | + * Using usual get/setLocation() and get/setBounds() together with this new | |
316 | + * method is not recommended. | |
317 | + */ | |
318 | + void (JNICALL *SetBounds) (JNIEnv *env, jobject embeddedFrame, | |
319 | + jint x, jint y, jint w, jint h); | |
320 | + /** | |
321 | + * Since 9 | |
322 | + * Synthesize a native message to activate or deactivate an EmbeddedFrame | |
323 | + * window depending on the value of parameter doActivate, if "true" | |
324 | + * activates the window; otherwise, deactivates the window. | |
325 | + * | |
326 | + * The embedded frame should be created by CreateEmbeddedFrame() method, or | |
327 | + * this function will not have any effect. | |
328 | + */ | |
329 | + void (JNICALL *SynthesizeWindowActivation) (JNIEnv *env, | |
330 | + jobject embeddedFrame, jboolean doActivate); | |
331 | +} JAWT; | |
332 | + | |
333 | +/* | |
334 | + * Get the AWT native structure. This function returns JNI_FALSE if | |
335 | + * an error occurs. | |
336 | + */ | |
337 | +_JNI_IMPORT_OR_EXPORT_ | |
338 | +jboolean JNICALL JAWT_GetAWT(JNIEnv* env, JAWT* awt); | |
339 | + | |
340 | +/* | |
341 | + * Specify one of these constants as the JAWT.version | |
342 | + * Specifying an earlier version will limit the available functions to | |
343 | + * those provided in that earlier version of JAWT. | |
344 | + * See the "Since" note on each API. Methods with no "Since" | |
345 | + * may be presumed to be present in JAWT_VERSION_1_3. | |
346 | + */ | |
347 | +#define JAWT_VERSION_1_3 0x00010003 | |
348 | +#define JAWT_VERSION_1_4 0x00010004 | |
349 | +#define JAWT_VERSION_1_7 0x00010007 | |
350 | +#define JAWT_VERSION_9 0x00090000 | |
351 | + | |
352 | +#ifdef __cplusplus | |
353 | +} /* extern "C" */ | |
354 | +#endif | |
355 | + | |
356 | +#endif /* !_JAVASOFT_JAWT_H_ */ |
@@ -0,0 +1,276 @@ | ||
1 | +/* | |
2 | + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. | |
3 | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 | + * | |
5 | + * This code is free software; you can redistribute it and/or modify it | |
6 | + * under the terms of the GNU General Public License version 2 only, as | |
7 | + * published by the Free Software Foundation. Oracle designates this | |
8 | + * particular file as subject to the "Classpath" exception as provided | |
9 | + * by Oracle in the LICENSE file that accompanied this code. | |
10 | + * | |
11 | + * This code is distributed in the hope that it will be useful, but WITHOUT | |
12 | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | + * version 2 for more details (a copy is included in the LICENSE file that | |
15 | + * accompanied this code). | |
16 | + * | |
17 | + * You should have received a copy of the GNU General Public License version | |
18 | + * 2 along with this work; if not, write to the Free Software Foundation, | |
19 | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | + * | |
21 | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
22 | + * or visit www.oracle.com if you need additional information or have any | |
23 | + * questions. | |
24 | + */ | |
25 | + | |
26 | +/* | |
27 | + * Java Debug Wire Protocol Transport Service Provider Interface. | |
28 | + */ | |
29 | + | |
30 | +#ifndef JDWPTRANSPORT_H | |
31 | +#define JDWPTRANSPORT_H | |
32 | + | |
33 | +#include "jni.h" | |
34 | + | |
35 | +enum { | |
36 | + JDWPTRANSPORT_VERSION_1_0 = 0x00010000, | |
37 | + JDWPTRANSPORT_VERSION_1_1 = 0x00010001 | |
38 | +}; | |
39 | + | |
40 | +#ifdef __cplusplus | |
41 | +extern "C" { | |
42 | +#endif | |
43 | + | |
44 | +struct jdwpTransportNativeInterface_; | |
45 | + | |
46 | +struct _jdwpTransportEnv; | |
47 | + | |
48 | +#ifdef __cplusplus | |
49 | +typedef _jdwpTransportEnv jdwpTransportEnv; | |
50 | +#else | |
51 | +typedef const struct jdwpTransportNativeInterface_ *jdwpTransportEnv; | |
52 | +#endif /* __cplusplus */ | |
53 | + | |
54 | +/* | |
55 | + * Errors. Universal errors with JVMTI/JVMDI equivalents keep the | |
56 | + * values the same. | |
57 | + */ | |
58 | +typedef enum { | |
59 | + JDWPTRANSPORT_ERROR_NONE = 0, | |
60 | + JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT = 103, | |
61 | + JDWPTRANSPORT_ERROR_OUT_OF_MEMORY = 110, | |
62 | + JDWPTRANSPORT_ERROR_INTERNAL = 113, | |
63 | + JDWPTRANSPORT_ERROR_ILLEGAL_STATE = 201, | |
64 | + JDWPTRANSPORT_ERROR_IO_ERROR = 202, | |
65 | + JDWPTRANSPORT_ERROR_TIMEOUT = 203, | |
66 | + JDWPTRANSPORT_ERROR_MSG_NOT_AVAILABLE = 204 | |
67 | +} jdwpTransportError; | |
68 | + | |
69 | + | |
70 | +/* | |
71 | + * Structure to define capabilities | |
72 | + */ | |
73 | +typedef struct { | |
74 | + unsigned int can_timeout_attach :1; | |
75 | + unsigned int can_timeout_accept :1; | |
76 | + unsigned int can_timeout_handshake :1; | |
77 | + unsigned int reserved3 :1; | |
78 | + unsigned int reserved4 :1; | |
79 | + unsigned int reserved5 :1; | |
80 | + unsigned int reserved6 :1; | |
81 | + unsigned int reserved7 :1; | |
82 | + unsigned int reserved8 :1; | |
83 | + unsigned int reserved9 :1; | |
84 | + unsigned int reserved10 :1; | |
85 | + unsigned int reserved11 :1; | |
86 | + unsigned int reserved12 :1; | |
87 | + unsigned int reserved13 :1; | |
88 | + unsigned int reserved14 :1; | |
89 | + unsigned int reserved15 :1; | |
90 | +} JDWPTransportCapabilities; | |
91 | + | |
92 | + | |
93 | +/* | |
94 | + * Structures to define packet layout. | |
95 | + * | |
96 | + * See: http://java.sun.com/j2se/1.5/docs/guide/jpda/jdwp-spec.html | |
97 | + */ | |
98 | + | |
99 | +#define JDWP_HEADER_SIZE 11 | |
100 | + | |
101 | +enum { | |
102 | + /* | |
103 | + * If additional flags are added that apply to jdwpCmdPacket, | |
104 | + * then debugLoop.c: reader() will need to be updated to | |
105 | + * accept more than JDWPTRANSPORT_FLAGS_NONE. | |
106 | + */ | |
107 | + JDWPTRANSPORT_FLAGS_NONE = 0x0, | |
108 | + JDWPTRANSPORT_FLAGS_REPLY = 0x80 | |
109 | +}; | |
110 | + | |
111 | +typedef struct { | |
112 | + jint len; | |
113 | + jint id; | |
114 | + jbyte flags; | |
115 | + jbyte cmdSet; | |
116 | + jbyte cmd; | |
117 | + jbyte *data; | |
118 | +} jdwpCmdPacket; | |
119 | + | |
120 | +typedef struct { | |
121 | + jint len; | |
122 | + jint id; | |
123 | + jbyte flags; | |
124 | + jshort errorCode; | |
125 | + jbyte *data; | |
126 | +} jdwpReplyPacket; | |
127 | + | |
128 | +typedef struct { | |
129 | + union { | |
130 | + jdwpCmdPacket cmd; | |
131 | + jdwpReplyPacket reply; | |
132 | + } type; | |
133 | +} jdwpPacket; | |
134 | + | |
135 | +/* | |
136 | + * JDWP functions called by the transport. | |
137 | + */ | |
138 | +typedef struct jdwpTransportCallback { | |
139 | + void *(*alloc)(jint numBytes); /* Call this for all allocations */ | |
140 | + void (*free)(void *buffer); /* Call this for all deallocations */ | |
141 | +} jdwpTransportCallback; | |
142 | + | |
143 | +typedef jint (*jdwpTransport_OnLoad_t)(JavaVM *jvm, | |
144 | + jdwpTransportCallback *callback, | |
145 | + jint version, | |
146 | + jdwpTransportEnv** env); | |
147 | + | |
148 | +/* | |
149 | + * JDWP transport configuration from the agent. | |
150 | + */ | |
151 | +typedef struct jdwpTransportConfiguration { | |
152 | + /* Field added in JDWPTRANSPORT_VERSION_1_1: */ | |
153 | + const char* allowed_peers; /* Peers allowed for connection */ | |
154 | +} jdwpTransportConfiguration; | |
155 | + | |
156 | + | |
157 | +/* Function Interface */ | |
158 | + | |
159 | +struct jdwpTransportNativeInterface_ { | |
160 | + /* 1 : RESERVED */ | |
161 | + void *reserved1; | |
162 | + | |
163 | + /* 2 : Get Capabilities */ | |
164 | + jdwpTransportError (JNICALL *GetCapabilities)(jdwpTransportEnv* env, | |
165 | + JDWPTransportCapabilities *capabilities_ptr); | |
166 | + | |
167 | + /* 3 : Attach */ | |
168 | + jdwpTransportError (JNICALL *Attach)(jdwpTransportEnv* env, | |
169 | + const char* address, | |
170 | + jlong attach_timeout, | |
171 | + jlong handshake_timeout); | |
172 | + | |
173 | + /* 4: StartListening */ | |
174 | + jdwpTransportError (JNICALL *StartListening)(jdwpTransportEnv* env, | |
175 | + const char* address, | |
176 | + char** actual_address); | |
177 | + | |
178 | + /* 5: StopListening */ | |
179 | + jdwpTransportError (JNICALL *StopListening)(jdwpTransportEnv* env); | |
180 | + | |
181 | + /* 6: Accept */ | |
182 | + jdwpTransportError (JNICALL *Accept)(jdwpTransportEnv* env, | |
183 | + jlong accept_timeout, | |
184 | + jlong handshake_timeout); | |
185 | + | |
186 | + /* 7: IsOpen */ | |
187 | + jboolean (JNICALL *IsOpen)(jdwpTransportEnv* env); | |
188 | + | |
189 | + /* 8: Close */ | |
190 | + jdwpTransportError (JNICALL *Close)(jdwpTransportEnv* env); | |
191 | + | |
192 | + /* 9: ReadPacket */ | |
193 | + jdwpTransportError (JNICALL *ReadPacket)(jdwpTransportEnv* env, | |
194 | + jdwpPacket *pkt); | |
195 | + | |
196 | + /* 10: Write Packet */ | |
197 | + jdwpTransportError (JNICALL *WritePacket)(jdwpTransportEnv* env, | |
198 | + const jdwpPacket* pkt); | |
199 | + | |
200 | + /* 11: GetLastError */ | |
201 | + jdwpTransportError (JNICALL *GetLastError)(jdwpTransportEnv* env, | |
202 | + char** error); | |
203 | + | |
204 | + /* 12: SetTransportConfiguration added in JDWPTRANSPORT_VERSION_1_1 */ | |
205 | + jdwpTransportError (JNICALL *SetTransportConfiguration)(jdwpTransportEnv* env, | |
206 | + jdwpTransportConfiguration *config); | |
207 | +}; | |
208 | + | |
209 | + | |
210 | +/* | |
211 | + * Use inlined functions so that C++ code can use syntax such as | |
212 | + * env->Attach("mymachine:5000", 10*1000, 0); | |
213 | + * | |
214 | + * rather than using C's :- | |
215 | + * | |
216 | + * (*env)->Attach(env, "mymachine:5000", 10*1000, 0); | |
217 | + */ | |
218 | +struct _jdwpTransportEnv { | |
219 | + const struct jdwpTransportNativeInterface_ *functions; | |
220 | +#ifdef __cplusplus | |
221 | + | |
222 | + jdwpTransportError GetCapabilities(JDWPTransportCapabilities *capabilities_ptr) { | |
223 | + return functions->GetCapabilities(this, capabilities_ptr); | |
224 | + } | |
225 | + | |
226 | + jdwpTransportError Attach(const char* address, jlong attach_timeout, | |
227 | + jlong handshake_timeout) { | |
228 | + return functions->Attach(this, address, attach_timeout, handshake_timeout); | |
229 | + } | |
230 | + | |
231 | + jdwpTransportError StartListening(const char* address, | |
232 | + char** actual_address) { | |
233 | + return functions->StartListening(this, address, actual_address); | |
234 | + } | |
235 | + | |
236 | + jdwpTransportError StopListening(void) { | |
237 | + return functions->StopListening(this); | |
238 | + } | |
239 | + | |
240 | + jdwpTransportError Accept(jlong accept_timeout, jlong handshake_timeout) { | |
241 | + return functions->Accept(this, accept_timeout, handshake_timeout); | |
242 | + } | |
243 | + | |
244 | + jboolean IsOpen(void) { | |
245 | + return functions->IsOpen(this); | |
246 | + } | |
247 | + | |
248 | + jdwpTransportError Close(void) { | |
249 | + return functions->Close(this); | |
250 | + } | |
251 | + | |
252 | + jdwpTransportError ReadPacket(jdwpPacket *pkt) { | |
253 | + return functions->ReadPacket(this, pkt); | |
254 | + } | |
255 | + | |
256 | + jdwpTransportError WritePacket(const jdwpPacket* pkt) { | |
257 | + return functions->WritePacket(this, pkt); | |
258 | + } | |
259 | + | |
260 | + jdwpTransportError GetLastError(char** error) { | |
261 | + return functions->GetLastError(this, error); | |
262 | + } | |
263 | + | |
264 | + /* SetTransportConfiguration added in JDWPTRANSPORT_VERSION_1_1 */ | |
265 | + jdwpTransportError SetTransportConfiguration(jdwpTransportEnv* env, | |
266 | + return functions->SetTransportConfiguration(this, config); | |
267 | + } | |
268 | + | |
269 | +#endif /* __cplusplus */ | |
270 | +}; | |
271 | + | |
272 | +#ifdef __cplusplus | |
273 | +} /* extern "C" */ | |
274 | +#endif /* __cplusplus */ | |
275 | + | |
276 | +#endif /* JDWPTRANSPORT_H */ |
@@ -0,0 +1,1973 @@ | ||
1 | +/* | |
2 | + * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. | |
3 | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 | + * | |
5 | + * This code is free software; you can redistribute it and/or modify it | |
6 | + * under the terms of the GNU General Public License version 2 only, as | |
7 | + * published by the Free Software Foundation. Oracle designates this | |
8 | + * particular file as subject to the "Classpath" exception as provided | |
9 | + * by Oracle in the LICENSE file that accompanied this code. | |
10 | + * | |
11 | + * This code is distributed in the hope that it will be useful, but WITHOUT | |
12 | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | + * version 2 for more details (a copy is included in the LICENSE file that | |
15 | + * accompanied this code). | |
16 | + * | |
17 | + * You should have received a copy of the GNU General Public License version | |
18 | + * 2 along with this work; if not, write to the Free Software Foundation, | |
19 | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | + * | |
21 | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
22 | + * or visit www.oracle.com if you need additional information or have any | |
23 | + * questions. | |
24 | + */ | |
25 | + | |
26 | +/* | |
27 | + * We used part of Netscape's Java Runtime Interface (JRI) as the starting | |
28 | + * point of our design and implementation. | |
29 | + */ | |
30 | + | |
31 | +/****************************************************************************** | |
32 | + * Java Runtime Interface | |
33 | + * Copyright (c) 1996 Netscape Communications Corporation. All rights reserved. | |
34 | + *****************************************************************************/ | |
35 | + | |
36 | +#ifndef _JAVASOFT_JNI_H_ | |
37 | +#define _JAVASOFT_JNI_H_ | |
38 | + | |
39 | +#include <stdio.h> | |
40 | +#include <stdarg.h> | |
41 | + | |
42 | +/* jni_md.h contains the machine-dependent typedefs for jbyte, jint | |
43 | + and jlong */ | |
44 | + | |
45 | +#include "jni_md.h" | |
46 | + | |
47 | +#ifdef __cplusplus | |
48 | +extern "C" { | |
49 | +#endif | |
50 | + | |
51 | +/* | |
52 | + * JNI Types | |
53 | + */ | |
54 | + | |
55 | +#ifndef JNI_TYPES_ALREADY_DEFINED_IN_JNI_MD_H | |
56 | + | |
57 | +typedef unsigned char jboolean; | |
58 | +typedef unsigned short jchar; | |
59 | +typedef short jshort; | |
60 | +typedef float jfloat; | |
61 | +typedef double jdouble; | |
62 | + | |
63 | +typedef jint jsize; | |
64 | + | |
65 | +#ifdef __cplusplus | |
66 | + | |
67 | +class _jobject {}; | |
68 | +class _jclass : public _jobject {}; | |
69 | +class _jthrowable : public _jobject {}; | |
70 | +class _jstring : public _jobject {}; | |
71 | +class _jarray : public _jobject {}; | |
72 | +class _jbooleanArray : public _jarray {}; | |
73 | +class _jbyteArray : public _jarray {}; | |
74 | +class _jcharArray : public _jarray {}; | |
75 | +class _jshortArray : public _jarray {}; | |
76 | +class _jintArray : public _jarray {}; | |
77 | +class _jlongArray : public _jarray {}; | |
78 | +class _jfloatArray : public _jarray {}; | |
79 | +class _jdoubleArray : public _jarray {}; | |
80 | +class _jobjectArray : public _jarray {}; | |
81 | + | |
82 | +typedef _jobject *jobject; | |
83 | +typedef _jclass *jclass; | |
84 | +typedef _jthrowable *jthrowable; | |
85 | +typedef _jstring *jstring; | |
86 | +typedef _jarray *jarray; | |
87 | +typedef _jbooleanArray *jbooleanArray; | |
88 | +typedef _jbyteArray *jbyteArray; | |
89 | +typedef _jcharArray *jcharArray; | |
90 | +typedef _jshortArray *jshortArray; | |
91 | +typedef _jintArray *jintArray; | |
92 | +typedef _jlongArray *jlongArray; | |
93 | +typedef _jfloatArray *jfloatArray; | |
94 | +typedef _jdoubleArray *jdoubleArray; | |
95 | +typedef _jobjectArray *jobjectArray; | |
96 | + | |
97 | +#else | |
98 | + | |
99 | +struct _jobject; | |
100 | + | |
101 | +typedef struct _jobject *jobject; | |
102 | +typedef jobject jclass; | |
103 | +typedef jobject jthrowable; | |
104 | +typedef jobject jstring; | |
105 | +typedef jobject jarray; | |
106 | +typedef jarray jbooleanArray; | |
107 | +typedef jarray jbyteArray; | |
108 | +typedef jarray jcharArray; | |
109 | +typedef jarray jshortArray; | |
110 | +typedef jarray jintArray; | |
111 | +typedef jarray jlongArray; | |
112 | +typedef jarray jfloatArray; | |
113 | +typedef jarray jdoubleArray; | |
114 | +typedef jarray jobjectArray; | |
115 | + | |
116 | +#endif | |
117 | + | |
118 | +typedef jobject jweak; | |
119 | + | |
120 | +typedef union jvalue { | |
121 | + jboolean z; | |
122 | + jbyte b; | |
123 | + jchar c; | |
124 | + jshort s; | |
125 | + jint i; | |
126 | + jlong j; | |
127 | + jfloat f; | |
128 | + jdouble d; | |
129 | + jobject l; | |
130 | +} jvalue; | |
131 | + | |
132 | +struct _jfieldID; | |
133 | +typedef struct _jfieldID *jfieldID; | |
134 | + | |
135 | +struct _jmethodID; | |
136 | +typedef struct _jmethodID *jmethodID; | |
137 | + | |
138 | +/* Return values from jobjectRefType */ | |
139 | +typedef enum _jobjectType { | |
140 | + JNIInvalidRefType = 0, | |
141 | + JNILocalRefType = 1, | |
142 | + JNIGlobalRefType = 2, | |
143 | + JNIWeakGlobalRefType = 3 | |
144 | +} jobjectRefType; | |
145 | + | |
146 | + | |
147 | +#endif /* JNI_TYPES_ALREADY_DEFINED_IN_JNI_MD_H */ | |
148 | + | |
149 | +/* | |
150 | + * jboolean constants | |
151 | + */ | |
152 | + | |
153 | +#define JNI_FALSE 0 | |
154 | +#define JNI_TRUE 1 | |
155 | + | |
156 | +/* | |
157 | + * possible return values for JNI functions. | |
158 | + */ | |
159 | + | |
160 | +#define JNI_OK 0 /* success */ | |
161 | +#define JNI_ERR (-1) /* unknown error */ | |
162 | +#define JNI_EDETACHED (-2) /* thread detached from the VM */ | |
163 | +#define JNI_EVERSION (-3) /* JNI version error */ | |
164 | +#define JNI_ENOMEM (-4) /* not enough memory */ | |
165 | +#define JNI_EEXIST (-5) /* VM already created */ | |
166 | +#define JNI_EINVAL (-6) /* invalid arguments */ | |
167 | + | |
168 | +/* | |
169 | + * used in ReleaseScalarArrayElements | |
170 | + */ | |
171 | + | |
172 | +#define JNI_COMMIT 1 | |
173 | +#define JNI_ABORT 2 | |
174 | + | |
175 | +/* | |
176 | + * used in RegisterNatives to describe native method name, signature, | |
177 | + * and function pointer. | |
178 | + */ | |
179 | + | |
180 | +typedef struct { | |
181 | + char *name; | |
182 | + char *signature; | |
183 | + void *fnPtr; | |
184 | +} JNINativeMethod; | |
185 | + | |
186 | +/* | |
187 | + * JNI Native Method Interface. | |
188 | + */ | |
189 | + | |
190 | +struct JNINativeInterface_; | |
191 | + | |
192 | +struct JNIEnv_; | |
193 | + | |
194 | +#ifdef __cplusplus | |
195 | +typedef JNIEnv_ JNIEnv; | |
196 | +#else | |
197 | +typedef const struct JNINativeInterface_ *JNIEnv; | |
198 | +#endif | |
199 | + | |
200 | +/* | |
201 | + * JNI Invocation Interface. | |
202 | + */ | |
203 | + | |
204 | +struct JNIInvokeInterface_; | |
205 | + | |
206 | +struct JavaVM_; | |
207 | + | |
208 | +#ifdef __cplusplus | |
209 | +typedef JavaVM_ JavaVM; | |
210 | +#else | |
211 | +typedef const struct JNIInvokeInterface_ *JavaVM; | |
212 | +#endif | |
213 | + | |
214 | +struct JNINativeInterface_ { | |
215 | + void *reserved0; | |
216 | + void *reserved1; | |
217 | + void *reserved2; | |
218 | + | |
219 | + void *reserved3; | |
220 | + jint (JNICALL *GetVersion)(JNIEnv *env); | |
221 | + | |
222 | + jclass (JNICALL *DefineClass) | |
223 | + (JNIEnv *env, const char *name, jobject loader, const jbyte *buf, | |
224 | + jsize len); | |
225 | + jclass (JNICALL *FindClass) | |
226 | + (JNIEnv *env, const char *name); | |
227 | + | |
228 | + jmethodID (JNICALL *FromReflectedMethod) | |
229 | + (JNIEnv *env, jobject method); | |
230 | + jfieldID (JNICALL *FromReflectedField) | |
231 | + (JNIEnv *env, jobject field); | |
232 | + | |
233 | + jobject (JNICALL *ToReflectedMethod) | |
234 | + (JNIEnv *env, jclass cls, jmethodID methodID, jboolean isStatic); | |
235 | + | |
236 | + jclass (JNICALL *GetSuperclass) | |
237 | + (JNIEnv *env, jclass sub); | |
238 | + jboolean (JNICALL *IsAssignableFrom) | |
239 | + (JNIEnv *env, jclass sub, jclass sup); | |
240 | + | |
241 | + jobject (JNICALL *ToReflectedField) | |
242 | + (JNIEnv *env, jclass cls, jfieldID fieldID, jboolean isStatic); | |
243 | + | |
244 | + jint (JNICALL *Throw) | |
245 | + (JNIEnv *env, jthrowable obj); | |
246 | + jint (JNICALL *ThrowNew) | |
247 | + (JNIEnv *env, jclass clazz, const char *msg); | |
248 | + jthrowable (JNICALL *ExceptionOccurred) | |
249 | + (JNIEnv *env); | |
250 | + void (JNICALL *ExceptionDescribe) | |
251 | + (JNIEnv *env); | |
252 | + void (JNICALL *ExceptionClear) | |
253 | + (JNIEnv *env); | |
254 | + void (JNICALL *FatalError) | |
255 | + (JNIEnv *env, const char *msg); | |
256 | + | |
257 | + jint (JNICALL *PushLocalFrame) | |
258 | + (JNIEnv *env, jint capacity); | |
259 | + jobject (JNICALL *PopLocalFrame) | |
260 | + (JNIEnv *env, jobject result); | |
261 | + | |
262 | + jobject (JNICALL *NewGlobalRef) | |
263 | + (JNIEnv *env, jobject lobj); | |
264 | + void (JNICALL *DeleteGlobalRef) | |
265 | + (JNIEnv *env, jobject gref); | |
266 | + void (JNICALL *DeleteLocalRef) | |
267 | + (JNIEnv *env, jobject obj); | |
268 | + jboolean (JNICALL *IsSameObject) | |
269 | + (JNIEnv *env, jobject obj1, jobject obj2); | |
270 | + jobject (JNICALL *NewLocalRef) | |
271 | + (JNIEnv *env, jobject ref); | |
272 | + jint (JNICALL *EnsureLocalCapacity) | |
273 | + (JNIEnv *env, jint capacity); | |
274 | + | |
275 | + jobject (JNICALL *AllocObject) | |
276 | + (JNIEnv *env, jclass clazz); | |
277 | + jobject (JNICALL *NewObject) | |
278 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
279 | + jobject (JNICALL *NewObjectV) | |
280 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
281 | + jobject (JNICALL *NewObjectA) | |
282 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
283 | + | |
284 | + jclass (JNICALL *GetObjectClass) | |
285 | + (JNIEnv *env, jobject obj); | |
286 | + jboolean (JNICALL *IsInstanceOf) | |
287 | + (JNIEnv *env, jobject obj, jclass clazz); | |
288 | + | |
289 | + jmethodID (JNICALL *GetMethodID) | |
290 | + (JNIEnv *env, jclass clazz, const char *name, const char *sig); | |
291 | + | |
292 | + jobject (JNICALL *CallObjectMethod) | |
293 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
294 | + jobject (JNICALL *CallObjectMethodV) | |
295 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
296 | + jobject (JNICALL *CallObjectMethodA) | |
297 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args); | |
298 | + | |
299 | + jboolean (JNICALL *CallBooleanMethod) | |
300 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
301 | + jboolean (JNICALL *CallBooleanMethodV) | |
302 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
303 | + jboolean (JNICALL *CallBooleanMethodA) | |
304 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args); | |
305 | + | |
306 | + jbyte (JNICALL *CallByteMethod) | |
307 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
308 | + jbyte (JNICALL *CallByteMethodV) | |
309 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
310 | + jbyte (JNICALL *CallByteMethodA) | |
311 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); | |
312 | + | |
313 | + jchar (JNICALL *CallCharMethod) | |
314 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
315 | + jchar (JNICALL *CallCharMethodV) | |
316 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
317 | + jchar (JNICALL *CallCharMethodA) | |
318 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); | |
319 | + | |
320 | + jshort (JNICALL *CallShortMethod) | |
321 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
322 | + jshort (JNICALL *CallShortMethodV) | |
323 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
324 | + jshort (JNICALL *CallShortMethodA) | |
325 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); | |
326 | + | |
327 | + jint (JNICALL *CallIntMethod) | |
328 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
329 | + jint (JNICALL *CallIntMethodV) | |
330 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
331 | + jint (JNICALL *CallIntMethodA) | |
332 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); | |
333 | + | |
334 | + jlong (JNICALL *CallLongMethod) | |
335 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
336 | + jlong (JNICALL *CallLongMethodV) | |
337 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
338 | + jlong (JNICALL *CallLongMethodA) | |
339 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); | |
340 | + | |
341 | + jfloat (JNICALL *CallFloatMethod) | |
342 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
343 | + jfloat (JNICALL *CallFloatMethodV) | |
344 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
345 | + jfloat (JNICALL *CallFloatMethodA) | |
346 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); | |
347 | + | |
348 | + jdouble (JNICALL *CallDoubleMethod) | |
349 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
350 | + jdouble (JNICALL *CallDoubleMethodV) | |
351 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
352 | + jdouble (JNICALL *CallDoubleMethodA) | |
353 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); | |
354 | + | |
355 | + void (JNICALL *CallVoidMethod) | |
356 | + (JNIEnv *env, jobject obj, jmethodID methodID, ...); | |
357 | + void (JNICALL *CallVoidMethodV) | |
358 | + (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); | |
359 | + void (JNICALL *CallVoidMethodA) | |
360 | + (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args); | |
361 | + | |
362 | + jobject (JNICALL *CallNonvirtualObjectMethod) | |
363 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
364 | + jobject (JNICALL *CallNonvirtualObjectMethodV) | |
365 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
366 | + va_list args); | |
367 | + jobject (JNICALL *CallNonvirtualObjectMethodA) | |
368 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
369 | + const jvalue * args); | |
370 | + | |
371 | + jboolean (JNICALL *CallNonvirtualBooleanMethod) | |
372 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
373 | + jboolean (JNICALL *CallNonvirtualBooleanMethodV) | |
374 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
375 | + va_list args); | |
376 | + jboolean (JNICALL *CallNonvirtualBooleanMethodA) | |
377 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
378 | + const jvalue * args); | |
379 | + | |
380 | + jbyte (JNICALL *CallNonvirtualByteMethod) | |
381 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
382 | + jbyte (JNICALL *CallNonvirtualByteMethodV) | |
383 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
384 | + va_list args); | |
385 | + jbyte (JNICALL *CallNonvirtualByteMethodA) | |
386 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
387 | + const jvalue *args); | |
388 | + | |
389 | + jchar (JNICALL *CallNonvirtualCharMethod) | |
390 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
391 | + jchar (JNICALL *CallNonvirtualCharMethodV) | |
392 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
393 | + va_list args); | |
394 | + jchar (JNICALL *CallNonvirtualCharMethodA) | |
395 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
396 | + const jvalue *args); | |
397 | + | |
398 | + jshort (JNICALL *CallNonvirtualShortMethod) | |
399 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
400 | + jshort (JNICALL *CallNonvirtualShortMethodV) | |
401 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
402 | + va_list args); | |
403 | + jshort (JNICALL *CallNonvirtualShortMethodA) | |
404 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
405 | + const jvalue *args); | |
406 | + | |
407 | + jint (JNICALL *CallNonvirtualIntMethod) | |
408 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
409 | + jint (JNICALL *CallNonvirtualIntMethodV) | |
410 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
411 | + va_list args); | |
412 | + jint (JNICALL *CallNonvirtualIntMethodA) | |
413 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
414 | + const jvalue *args); | |
415 | + | |
416 | + jlong (JNICALL *CallNonvirtualLongMethod) | |
417 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
418 | + jlong (JNICALL *CallNonvirtualLongMethodV) | |
419 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
420 | + va_list args); | |
421 | + jlong (JNICALL *CallNonvirtualLongMethodA) | |
422 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
423 | + const jvalue *args); | |
424 | + | |
425 | + jfloat (JNICALL *CallNonvirtualFloatMethod) | |
426 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
427 | + jfloat (JNICALL *CallNonvirtualFloatMethodV) | |
428 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
429 | + va_list args); | |
430 | + jfloat (JNICALL *CallNonvirtualFloatMethodA) | |
431 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
432 | + const jvalue *args); | |
433 | + | |
434 | + jdouble (JNICALL *CallNonvirtualDoubleMethod) | |
435 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
436 | + jdouble (JNICALL *CallNonvirtualDoubleMethodV) | |
437 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
438 | + va_list args); | |
439 | + jdouble (JNICALL *CallNonvirtualDoubleMethodA) | |
440 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
441 | + const jvalue *args); | |
442 | + | |
443 | + void (JNICALL *CallNonvirtualVoidMethod) | |
444 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); | |
445 | + void (JNICALL *CallNonvirtualVoidMethodV) | |
446 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
447 | + va_list args); | |
448 | + void (JNICALL *CallNonvirtualVoidMethodA) | |
449 | + (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, | |
450 | + const jvalue * args); | |
451 | + | |
452 | + jfieldID (JNICALL *GetFieldID) | |
453 | + (JNIEnv *env, jclass clazz, const char *name, const char *sig); | |
454 | + | |
455 | + jobject (JNICALL *GetObjectField) | |
456 | + (JNIEnv *env, jobject obj, jfieldID fieldID); | |
457 | + jboolean (JNICALL *GetBooleanField) | |
458 | + (JNIEnv *env, jobject obj, jfieldID fieldID); | |
459 | + jbyte (JNICALL *GetByteField) | |
460 | + (JNIEnv *env, jobject obj, jfieldID fieldID); | |
461 | + jchar (JNICALL *GetCharField) | |
462 | + (JNIEnv *env, jobject obj, jfieldID fieldID); | |
463 | + jshort (JNICALL *GetShortField) | |
464 | + (JNIEnv *env, jobject obj, jfieldID fieldID); | |
465 | + jint (JNICALL *GetIntField) | |
466 | + (JNIEnv *env, jobject obj, jfieldID fieldID); | |
467 | + jlong (JNICALL *GetLongField) | |
468 | + (JNIEnv *env, jobject obj, jfieldID fieldID); | |
469 | + jfloat (JNICALL *GetFloatField) | |
470 | + (JNIEnv *env, jobject obj, jfieldID fieldID); | |
471 | + jdouble (JNICALL *GetDoubleField) | |
472 | + (JNIEnv *env, jobject obj, jfieldID fieldID); | |
473 | + | |
474 | + void (JNICALL *SetObjectField) | |
475 | + (JNIEnv *env, jobject obj, jfieldID fieldID, jobject val); | |
476 | + void (JNICALL *SetBooleanField) | |
477 | + (JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val); | |
478 | + void (JNICALL *SetByteField) | |
479 | + (JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val); | |
480 | + void (JNICALL *SetCharField) | |
481 | + (JNIEnv *env, jobject obj, jfieldID fieldID, jchar val); | |
482 | + void (JNICALL *SetShortField) | |
483 | + (JNIEnv *env, jobject obj, jfieldID fieldID, jshort val); | |
484 | + void (JNICALL *SetIntField) | |
485 | + (JNIEnv *env, jobject obj, jfieldID fieldID, jint val); | |
486 | + void (JNICALL *SetLongField) | |
487 | + (JNIEnv *env, jobject obj, jfieldID fieldID, jlong val); | |
488 | + void (JNICALL *SetFloatField) | |
489 | + (JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val); | |
490 | + void (JNICALL *SetDoubleField) | |
491 | + (JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val); | |
492 | + | |
493 | + jmethodID (JNICALL *GetStaticMethodID) | |
494 | + (JNIEnv *env, jclass clazz, const char *name, const char *sig); | |
495 | + | |
496 | + jobject (JNICALL *CallStaticObjectMethod) | |
497 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
498 | + jobject (JNICALL *CallStaticObjectMethodV) | |
499 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
500 | + jobject (JNICALL *CallStaticObjectMethodA) | |
501 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
502 | + | |
503 | + jboolean (JNICALL *CallStaticBooleanMethod) | |
504 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
505 | + jboolean (JNICALL *CallStaticBooleanMethodV) | |
506 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
507 | + jboolean (JNICALL *CallStaticBooleanMethodA) | |
508 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
509 | + | |
510 | + jbyte (JNICALL *CallStaticByteMethod) | |
511 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
512 | + jbyte (JNICALL *CallStaticByteMethodV) | |
513 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
514 | + jbyte (JNICALL *CallStaticByteMethodA) | |
515 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
516 | + | |
517 | + jchar (JNICALL *CallStaticCharMethod) | |
518 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
519 | + jchar (JNICALL *CallStaticCharMethodV) | |
520 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
521 | + jchar (JNICALL *CallStaticCharMethodA) | |
522 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
523 | + | |
524 | + jshort (JNICALL *CallStaticShortMethod) | |
525 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
526 | + jshort (JNICALL *CallStaticShortMethodV) | |
527 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
528 | + jshort (JNICALL *CallStaticShortMethodA) | |
529 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
530 | + | |
531 | + jint (JNICALL *CallStaticIntMethod) | |
532 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
533 | + jint (JNICALL *CallStaticIntMethodV) | |
534 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
535 | + jint (JNICALL *CallStaticIntMethodA) | |
536 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
537 | + | |
538 | + jlong (JNICALL *CallStaticLongMethod) | |
539 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
540 | + jlong (JNICALL *CallStaticLongMethodV) | |
541 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
542 | + jlong (JNICALL *CallStaticLongMethodA) | |
543 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
544 | + | |
545 | + jfloat (JNICALL *CallStaticFloatMethod) | |
546 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
547 | + jfloat (JNICALL *CallStaticFloatMethodV) | |
548 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
549 | + jfloat (JNICALL *CallStaticFloatMethodA) | |
550 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
551 | + | |
552 | + jdouble (JNICALL *CallStaticDoubleMethod) | |
553 | + (JNIEnv *env, jclass clazz, jmethodID methodID, ...); | |
554 | + jdouble (JNICALL *CallStaticDoubleMethodV) | |
555 | + (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); | |
556 | + jdouble (JNICALL *CallStaticDoubleMethodA) | |
557 | + (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); | |
558 | + | |
559 | + void (JNICALL *CallStaticVoidMethod) | |
560 | + (JNIEnv *env, jclass cls, jmethodID methodID, ...); | |
561 | + void (JNICALL *CallStaticVoidMethodV) | |
562 | + (JNIEnv *env, jclass cls, jmethodID methodID, va_list args); | |
563 | + void (JNICALL *CallStaticVoidMethodA) | |
564 | + (JNIEnv *env, jclass cls, jmethodID methodID, const jvalue * args); | |
565 | + | |
566 | + jfieldID (JNICALL *GetStaticFieldID) | |
567 | + (JNIEnv *env, jclass clazz, const char *name, const char *sig); | |
568 | + jobject (JNICALL *GetStaticObjectField) | |
569 | + (JNIEnv *env, jclass clazz, jfieldID fieldID); | |
570 | + jboolean (JNICALL *GetStaticBooleanField) | |
571 | + (JNIEnv *env, jclass clazz, jfieldID fieldID); | |
572 | + jbyte (JNICALL *GetStaticByteField) | |
573 | + (JNIEnv *env, jclass clazz, jfieldID fieldID); | |
574 | + jchar (JNICALL *GetStaticCharField) | |
575 | + (JNIEnv *env, jclass clazz, jfieldID fieldID); | |
576 | + jshort (JNICALL *GetStaticShortField) | |
577 | + (JNIEnv *env, jclass clazz, jfieldID fieldID); | |
578 | + jint (JNICALL *GetStaticIntField) | |
579 | + (JNIEnv *env, jclass clazz, jfieldID fieldID); | |
580 | + jlong (JNICALL *GetStaticLongField) | |
581 | + (JNIEnv *env, jclass clazz, jfieldID fieldID); | |
582 | + jfloat (JNICALL *GetStaticFloatField) | |
583 | + (JNIEnv *env, jclass clazz, jfieldID fieldID); | |
584 | + jdouble (JNICALL *GetStaticDoubleField) | |
585 | + (JNIEnv *env, jclass clazz, jfieldID fieldID); | |
586 | + | |
587 | + void (JNICALL *SetStaticObjectField) | |
588 | + (JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value); | |
589 | + void (JNICALL *SetStaticBooleanField) | |
590 | + (JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value); | |
591 | + void (JNICALL *SetStaticByteField) | |
592 | + (JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value); | |
593 | + void (JNICALL *SetStaticCharField) | |
594 | + (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value); | |
595 | + void (JNICALL *SetStaticShortField) | |
596 | + (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value); | |
597 | + void (JNICALL *SetStaticIntField) | |
598 | + (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value); | |
599 | + void (JNICALL *SetStaticLongField) | |
600 | + (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value); | |
601 | + void (JNICALL *SetStaticFloatField) | |
602 | + (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value); | |
603 | + void (JNICALL *SetStaticDoubleField) | |
604 | + (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value); | |
605 | + | |
606 | + jstring (JNICALL *NewString) | |
607 | + (JNIEnv *env, const jchar *unicode, jsize len); | |
608 | + jsize (JNICALL *GetStringLength) | |
609 | + (JNIEnv *env, jstring str); | |
610 | + const jchar *(JNICALL *GetStringChars) | |
611 | + (JNIEnv *env, jstring str, jboolean *isCopy); | |
612 | + void (JNICALL *ReleaseStringChars) | |
613 | + (JNIEnv *env, jstring str, const jchar *chars); | |
614 | + | |
615 | + jstring (JNICALL *NewStringUTF) | |
616 | + (JNIEnv *env, const char *utf); | |
617 | + jsize (JNICALL *GetStringUTFLength) | |
618 | + (JNIEnv *env, jstring str); | |
619 | + const char* (JNICALL *GetStringUTFChars) | |
620 | + (JNIEnv *env, jstring str, jboolean *isCopy); | |
621 | + void (JNICALL *ReleaseStringUTFChars) | |
622 | + (JNIEnv *env, jstring str, const char* chars); | |
623 | + | |
624 | + | |
625 | + jsize (JNICALL *GetArrayLength) | |
626 | + (JNIEnv *env, jarray array); | |
627 | + | |
628 | + jobjectArray (JNICALL *NewObjectArray) | |
629 | + (JNIEnv *env, jsize len, jclass clazz, jobject init); | |
630 | + jobject (JNICALL *GetObjectArrayElement) | |
631 | + (JNIEnv *env, jobjectArray array, jsize index); | |
632 | + void (JNICALL *SetObjectArrayElement) | |
633 | + (JNIEnv *env, jobjectArray array, jsize index, jobject val); | |
634 | + | |
635 | + jbooleanArray (JNICALL *NewBooleanArray) | |
636 | + (JNIEnv *env, jsize len); | |
637 | + jbyteArray (JNICALL *NewByteArray) | |
638 | + (JNIEnv *env, jsize len); | |
639 | + jcharArray (JNICALL *NewCharArray) | |
640 | + (JNIEnv *env, jsize len); | |
641 | + jshortArray (JNICALL *NewShortArray) | |
642 | + (JNIEnv *env, jsize len); | |
643 | + jintArray (JNICALL *NewIntArray) | |
644 | + (JNIEnv *env, jsize len); | |
645 | + jlongArray (JNICALL *NewLongArray) | |
646 | + (JNIEnv *env, jsize len); | |
647 | + jfloatArray (JNICALL *NewFloatArray) | |
648 | + (JNIEnv *env, jsize len); | |
649 | + jdoubleArray (JNICALL *NewDoubleArray) | |
650 | + (JNIEnv *env, jsize len); | |
651 | + | |
652 | + jboolean * (JNICALL *GetBooleanArrayElements) | |
653 | + (JNIEnv *env, jbooleanArray array, jboolean *isCopy); | |
654 | + jbyte * (JNICALL *GetByteArrayElements) | |
655 | + (JNIEnv *env, jbyteArray array, jboolean *isCopy); | |
656 | + jchar * (JNICALL *GetCharArrayElements) | |
657 | + (JNIEnv *env, jcharArray array, jboolean *isCopy); | |
658 | + jshort * (JNICALL *GetShortArrayElements) | |
659 | + (JNIEnv *env, jshortArray array, jboolean *isCopy); | |
660 | + jint * (JNICALL *GetIntArrayElements) | |
661 | + (JNIEnv *env, jintArray array, jboolean *isCopy); | |
662 | + jlong * (JNICALL *GetLongArrayElements) | |
663 | + (JNIEnv *env, jlongArray array, jboolean *isCopy); | |
664 | + jfloat * (JNICALL *GetFloatArrayElements) | |
665 | + (JNIEnv *env, jfloatArray array, jboolean *isCopy); | |
666 | + jdouble * (JNICALL *GetDoubleArrayElements) | |
667 | + (JNIEnv *env, jdoubleArray array, jboolean *isCopy); | |
668 | + | |
669 | + void (JNICALL *ReleaseBooleanArrayElements) | |
670 | + (JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode); | |
671 | + void (JNICALL *ReleaseByteArrayElements) | |
672 | + (JNIEnv *env, jbyteArray array, jbyte *elems, jint mode); | |
673 | + void (JNICALL *ReleaseCharArrayElements) | |
674 | + (JNIEnv *env, jcharArray array, jchar *elems, jint mode); | |
675 | + void (JNICALL *ReleaseShortArrayElements) | |
676 | + (JNIEnv *env, jshortArray array, jshort *elems, jint mode); | |
677 | + void (JNICALL *ReleaseIntArrayElements) | |
678 | + (JNIEnv *env, jintArray array, jint *elems, jint mode); | |
679 | + void (JNICALL *ReleaseLongArrayElements) | |
680 | + (JNIEnv *env, jlongArray array, jlong *elems, jint mode); | |
681 | + void (JNICALL *ReleaseFloatArrayElements) | |
682 | + (JNIEnv *env, jfloatArray array, jfloat *elems, jint mode); | |
683 | + void (JNICALL *ReleaseDoubleArrayElements) | |
684 | + (JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode); | |
685 | + | |
686 | + void (JNICALL *GetBooleanArrayRegion) | |
687 | + (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); | |
688 | + void (JNICALL *GetByteArrayRegion) | |
689 | + (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); | |
690 | + void (JNICALL *GetCharArrayRegion) | |
691 | + (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); | |
692 | + void (JNICALL *GetShortArrayRegion) | |
693 | + (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); | |
694 | + void (JNICALL *GetIntArrayRegion) | |
695 | + (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); | |
696 | + void (JNICALL *GetLongArrayRegion) | |
697 | + (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); | |
698 | + void (JNICALL *GetFloatArrayRegion) | |
699 | + (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); | |
700 | + void (JNICALL *GetDoubleArrayRegion) | |
701 | + (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); | |
702 | + | |
703 | + void (JNICALL *SetBooleanArrayRegion) | |
704 | + (JNIEnv *env, jbooleanArray array, jsize start, jsize l, const jboolean *buf); | |
705 | + void (JNICALL *SetByteArrayRegion) | |
706 | + (JNIEnv *env, jbyteArray array, jsize start, jsize len, const jbyte *buf); | |
707 | + void (JNICALL *SetCharArrayRegion) | |
708 | + (JNIEnv *env, jcharArray array, jsize start, jsize len, const jchar *buf); | |
709 | + void (JNICALL *SetShortArrayRegion) | |
710 | + (JNIEnv *env, jshortArray array, jsize start, jsize len, const jshort *buf); | |
711 | + void (JNICALL *SetIntArrayRegion) | |
712 | + (JNIEnv *env, jintArray array, jsize start, jsize len, const jint *buf); | |
713 | + void (JNICALL *SetLongArrayRegion) | |
714 | + (JNIEnv *env, jlongArray array, jsize start, jsize len, const jlong *buf); | |
715 | + void (JNICALL *SetFloatArrayRegion) | |
716 | + (JNIEnv *env, jfloatArray array, jsize start, jsize len, const jfloat *buf); | |
717 | + void (JNICALL *SetDoubleArrayRegion) | |
718 | + (JNIEnv *env, jdoubleArray array, jsize start, jsize len, const jdouble *buf); | |
719 | + | |
720 | + jint (JNICALL *RegisterNatives) | |
721 | + (JNIEnv *env, jclass clazz, const JNINativeMethod *methods, | |
722 | + jint nMethods); | |
723 | + jint (JNICALL *UnregisterNatives) | |
724 | + (JNIEnv *env, jclass clazz); | |
725 | + | |
726 | + jint (JNICALL *MonitorEnter) | |
727 | + (JNIEnv *env, jobject obj); | |
728 | + jint (JNICALL *MonitorExit) | |
729 | + (JNIEnv *env, jobject obj); | |
730 | + | |
731 | + jint (JNICALL *GetJavaVM) | |
732 | + (JNIEnv *env, JavaVM **vm); | |
733 | + | |
734 | + void (JNICALL *GetStringRegion) | |
735 | + (JNIEnv *env, jstring str, jsize start, jsize len, jchar *buf); | |
736 | + void (JNICALL *GetStringUTFRegion) | |
737 | + (JNIEnv *env, jstring str, jsize start, jsize len, char *buf); | |
738 | + | |
739 | + void * (JNICALL *GetPrimitiveArrayCritical) | |
740 | + (JNIEnv *env, jarray array, jboolean *isCopy); | |
741 | + void (JNICALL *ReleasePrimitiveArrayCritical) | |
742 | + (JNIEnv *env, jarray array, void *carray, jint mode); | |
743 | + | |
744 | + const jchar * (JNICALL *GetStringCritical) | |
745 | + (JNIEnv *env, jstring string, jboolean *isCopy); | |
746 | + void (JNICALL *ReleaseStringCritical) | |
747 | + (JNIEnv *env, jstring string, const jchar *cstring); | |
748 | + | |
749 | + jweak (JNICALL *NewWeakGlobalRef) | |
750 | + (JNIEnv *env, jobject obj); | |
751 | + void (JNICALL *DeleteWeakGlobalRef) | |
752 | + (JNIEnv *env, jweak ref); | |
753 | + | |
754 | + jboolean (JNICALL *ExceptionCheck) | |
755 | + (JNIEnv *env); | |
756 | + | |
757 | + jobject (JNICALL *NewDirectByteBuffer) | |
758 | + (JNIEnv* env, void* address, jlong capacity); | |
759 | + void* (JNICALL *GetDirectBufferAddress) | |
760 | + (JNIEnv* env, jobject buf); | |
761 | + jlong (JNICALL *GetDirectBufferCapacity) | |
762 | + (JNIEnv* env, jobject buf); | |
763 | + | |
764 | + /* New JNI 1.6 Features */ | |
765 | + | |
766 | + jobjectRefType (JNICALL *GetObjectRefType) | |
767 | + (JNIEnv* env, jobject obj); | |
768 | + | |
769 | + /* Module Features */ | |
770 | + | |
771 | + jobject (JNICALL *GetModule) | |
772 | + (JNIEnv* env, jclass clazz); | |
773 | +}; | |
774 | + | |
775 | +/* | |
776 | + * We use inlined functions for C++ so that programmers can write: | |
777 | + * | |
778 | + * env->FindClass("java/lang/String") | |
779 | + * | |
780 | + * in C++ rather than: | |
781 | + * | |
782 | + * (*env)->FindClass(env, "java/lang/String") | |
783 | + * | |
784 | + * in C. | |
785 | + */ | |
786 | + | |
787 | +struct JNIEnv_ { | |
788 | + const struct JNINativeInterface_ *functions; | |
789 | +#ifdef __cplusplus | |
790 | + | |
791 | + jint GetVersion() { | |
792 | + return functions->GetVersion(this); | |
793 | + } | |
794 | + jclass DefineClass(const char *name, jobject loader, const jbyte *buf, | |
795 | + jsize len) { | |
796 | + return functions->DefineClass(this, name, loader, buf, len); | |
797 | + } | |
798 | + jclass FindClass(const char *name) { | |
799 | + return functions->FindClass(this, name); | |
800 | + } | |
801 | + jmethodID FromReflectedMethod(jobject method) { | |
802 | + return functions->FromReflectedMethod(this,method); | |
803 | + } | |
804 | + jfieldID FromReflectedField(jobject field) { | |
805 | + return functions->FromReflectedField(this,field); | |
806 | + } | |
807 | + | |
808 | + jobject ToReflectedMethod(jclass cls, jmethodID methodID, jboolean isStatic) { | |
809 | + return functions->ToReflectedMethod(this, cls, methodID, isStatic); | |
810 | + } | |
811 | + | |
812 | + jclass GetSuperclass(jclass sub) { | |
813 | + return functions->GetSuperclass(this, sub); | |
814 | + } | |
815 | + jboolean IsAssignableFrom(jclass sub, jclass sup) { | |
816 | + return functions->IsAssignableFrom(this, sub, sup); | |
817 | + } | |
818 | + | |
819 | + jobject ToReflectedField(jclass cls, jfieldID fieldID, jboolean isStatic) { | |
820 | + return functions->ToReflectedField(this,cls,fieldID,isStatic); | |
821 | + } | |
822 | + | |
823 | + jint Throw(jthrowable obj) { | |
824 | + return functions->Throw(this, obj); | |
825 | + } | |
826 | + jint ThrowNew(jclass clazz, const char *msg) { | |
827 | + return functions->ThrowNew(this, clazz, msg); | |
828 | + } | |
829 | + jthrowable ExceptionOccurred() { | |
830 | + return functions->ExceptionOccurred(this); | |
831 | + } | |
832 | + void ExceptionDescribe() { | |
833 | + functions->ExceptionDescribe(this); | |
834 | + } | |
835 | + void ExceptionClear() { | |
836 | + functions->ExceptionClear(this); | |
837 | + } | |
838 | + void FatalError(const char *msg) { | |
839 | + functions->FatalError(this, msg); | |
840 | + } | |
841 | + | |
842 | + jint PushLocalFrame(jint capacity) { | |
843 | + return functions->PushLocalFrame(this,capacity); | |
844 | + } | |
845 | + jobject PopLocalFrame(jobject result) { | |
846 | + return functions->PopLocalFrame(this,result); | |
847 | + } | |
848 | + | |
849 | + jobject NewGlobalRef(jobject lobj) { | |
850 | + return functions->NewGlobalRef(this,lobj); | |
851 | + } | |
852 | + void DeleteGlobalRef(jobject gref) { | |
853 | + functions->DeleteGlobalRef(this,gref); | |
854 | + } | |
855 | + void DeleteLocalRef(jobject obj) { | |
856 | + functions->DeleteLocalRef(this, obj); | |
857 | + } | |
858 | + | |
859 | + jboolean IsSameObject(jobject obj1, jobject obj2) { | |
860 | + return functions->IsSameObject(this,obj1,obj2); | |
861 | + } | |
862 | + | |
863 | + jobject NewLocalRef(jobject ref) { | |
864 | + return functions->NewLocalRef(this,ref); | |
865 | + } | |
866 | + jint EnsureLocalCapacity(jint capacity) { | |
867 | + return functions->EnsureLocalCapacity(this,capacity); | |
868 | + } | |
869 | + | |
870 | + jobject AllocObject(jclass clazz) { | |
871 | + return functions->AllocObject(this,clazz); | |
872 | + } | |
873 | + jobject NewObject(jclass clazz, jmethodID methodID, ...) { | |
874 | + va_list args; | |
875 | + jobject result; | |
876 | + va_start(args, methodID); | |
877 | + result = functions->NewObjectV(this,clazz,methodID,args); | |
878 | + va_end(args); | |
879 | + return result; | |
880 | + } | |
881 | + jobject NewObjectV(jclass clazz, jmethodID methodID, | |
882 | + va_list args) { | |
883 | + return functions->NewObjectV(this,clazz,methodID,args); | |
884 | + } | |
885 | + jobject NewObjectA(jclass clazz, jmethodID methodID, | |
886 | + const jvalue *args) { | |
887 | + return functions->NewObjectA(this,clazz,methodID,args); | |
888 | + } | |
889 | + | |
890 | + jclass GetObjectClass(jobject obj) { | |
891 | + return functions->GetObjectClass(this,obj); | |
892 | + } | |
893 | + jboolean IsInstanceOf(jobject obj, jclass clazz) { | |
894 | + return functions->IsInstanceOf(this,obj,clazz); | |
895 | + } | |
896 | + | |
897 | + jmethodID GetMethodID(jclass clazz, const char *name, | |
898 | + const char *sig) { | |
899 | + return functions->GetMethodID(this,clazz,name,sig); | |
900 | + } | |
901 | + | |
902 | + jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) { | |
903 | + va_list args; | |
904 | + jobject result; | |
905 | + va_start(args,methodID); | |
906 | + result = functions->CallObjectMethodV(this,obj,methodID,args); | |
907 | + va_end(args); | |
908 | + return result; | |
909 | + } | |
910 | + jobject CallObjectMethodV(jobject obj, jmethodID methodID, | |
911 | + va_list args) { | |
912 | + return functions->CallObjectMethodV(this,obj,methodID,args); | |
913 | + } | |
914 | + jobject CallObjectMethodA(jobject obj, jmethodID methodID, | |
915 | + const jvalue * args) { | |
916 | + return functions->CallObjectMethodA(this,obj,methodID,args); | |
917 | + } | |
918 | + | |
919 | + jboolean CallBooleanMethod(jobject obj, | |
920 | + jmethodID methodID, ...) { | |
921 | + va_list args; | |
922 | + jboolean result; | |
923 | + va_start(args,methodID); | |
924 | + result = functions->CallBooleanMethodV(this,obj,methodID,args); | |
925 | + va_end(args); | |
926 | + return result; | |
927 | + } | |
928 | + jboolean CallBooleanMethodV(jobject obj, jmethodID methodID, | |
929 | + va_list args) { | |
930 | + return functions->CallBooleanMethodV(this,obj,methodID,args); | |
931 | + } | |
932 | + jboolean CallBooleanMethodA(jobject obj, jmethodID methodID, | |
933 | + const jvalue * args) { | |
934 | + return functions->CallBooleanMethodA(this,obj,methodID, args); | |
935 | + } | |
936 | + | |
937 | + jbyte CallByteMethod(jobject obj, jmethodID methodID, ...) { | |
938 | + va_list args; | |
939 | + jbyte result; | |
940 | + va_start(args,methodID); | |
941 | + result = functions->CallByteMethodV(this,obj,methodID,args); | |
942 | + va_end(args); | |
943 | + return result; | |
944 | + } | |
945 | + jbyte CallByteMethodV(jobject obj, jmethodID methodID, | |
946 | + va_list args) { | |
947 | + return functions->CallByteMethodV(this,obj,methodID,args); | |
948 | + } | |
949 | + jbyte CallByteMethodA(jobject obj, jmethodID methodID, | |
950 | + const jvalue * args) { | |
951 | + return functions->CallByteMethodA(this,obj,methodID,args); | |
952 | + } | |
953 | + | |
954 | + jchar CallCharMethod(jobject obj, jmethodID methodID, ...) { | |
955 | + va_list args; | |
956 | + jchar result; | |
957 | + va_start(args,methodID); | |
958 | + result = functions->CallCharMethodV(this,obj,methodID,args); | |
959 | + va_end(args); | |
960 | + return result; | |
961 | + } | |
962 | + jchar CallCharMethodV(jobject obj, jmethodID methodID, | |
963 | + va_list args) { | |
964 | + return functions->CallCharMethodV(this,obj,methodID,args); | |
965 | + } | |
966 | + jchar CallCharMethodA(jobject obj, jmethodID methodID, | |
967 | + const jvalue * args) { | |
968 | + return functions->CallCharMethodA(this,obj,methodID,args); | |
969 | + } | |
970 | + | |
971 | + jshort CallShortMethod(jobject obj, jmethodID methodID, ...) { | |
972 | + va_list args; | |
973 | + jshort result; | |
974 | + va_start(args,methodID); | |
975 | + result = functions->CallShortMethodV(this,obj,methodID,args); | |
976 | + va_end(args); | |
977 | + return result; | |
978 | + } | |
979 | + jshort CallShortMethodV(jobject obj, jmethodID methodID, | |
980 | + va_list args) { | |
981 | + return functions->CallShortMethodV(this,obj,methodID,args); | |
982 | + } | |
983 | + jshort CallShortMethodA(jobject obj, jmethodID methodID, | |
984 | + const jvalue * args) { | |
985 | + return functions->CallShortMethodA(this,obj,methodID,args); | |
986 | + } | |
987 | + | |
988 | + jint CallIntMethod(jobject obj, jmethodID methodID, ...) { | |
989 | + va_list args; | |
990 | + jint result; | |
991 | + va_start(args,methodID); | |
992 | + result = functions->CallIntMethodV(this,obj,methodID,args); | |
993 | + va_end(args); | |
994 | + return result; | |
995 | + } | |
996 | + jint CallIntMethodV(jobject obj, jmethodID methodID, | |
997 | + va_list args) { | |
998 | + return functions->CallIntMethodV(this,obj,methodID,args); | |
999 | + } | |
1000 | + jint CallIntMethodA(jobject obj, jmethodID methodID, | |
1001 | + const jvalue * args) { | |
1002 | + return functions->CallIntMethodA(this,obj,methodID,args); | |
1003 | + } | |
1004 | + | |
1005 | + jlong CallLongMethod(jobject obj, jmethodID methodID, ...) { | |
1006 | + va_list args; | |
1007 | + jlong result; | |
1008 | + va_start(args,methodID); | |
1009 | + result = functions->CallLongMethodV(this,obj,methodID,args); | |
1010 | + va_end(args); | |
1011 | + return result; | |
1012 | + } | |
1013 | + jlong CallLongMethodV(jobject obj, jmethodID methodID, | |
1014 | + va_list args) { | |
1015 | + return functions->CallLongMethodV(this,obj,methodID,args); | |
1016 | + } | |
1017 | + jlong CallLongMethodA(jobject obj, jmethodID methodID, | |
1018 | + const jvalue * args) { | |
1019 | + return functions->CallLongMethodA(this,obj,methodID,args); | |
1020 | + } | |
1021 | + | |
1022 | + jfloat CallFloatMethod(jobject obj, jmethodID methodID, ...) { | |
1023 | + va_list args; | |
1024 | + jfloat result; | |
1025 | + va_start(args,methodID); | |
1026 | + result = functions->CallFloatMethodV(this,obj,methodID,args); | |
1027 | + va_end(args); | |
1028 | + return result; | |
1029 | + } | |
1030 | + jfloat CallFloatMethodV(jobject obj, jmethodID methodID, | |
1031 | + va_list args) { | |
1032 | + return functions->CallFloatMethodV(this,obj,methodID,args); | |
1033 | + } | |
1034 | + jfloat CallFloatMethodA(jobject obj, jmethodID methodID, | |
1035 | + const jvalue * args) { | |
1036 | + return functions->CallFloatMethodA(this,obj,methodID,args); | |
1037 | + } | |
1038 | + | |
1039 | + jdouble CallDoubleMethod(jobject obj, jmethodID methodID, ...) { | |
1040 | + va_list args; | |
1041 | + jdouble result; | |
1042 | + va_start(args,methodID); | |
1043 | + result = functions->CallDoubleMethodV(this,obj,methodID,args); | |
1044 | + va_end(args); | |
1045 | + return result; | |
1046 | + } | |
1047 | + jdouble CallDoubleMethodV(jobject obj, jmethodID methodID, | |
1048 | + va_list args) { | |
1049 | + return functions->CallDoubleMethodV(this,obj,methodID,args); | |
1050 | + } | |
1051 | + jdouble CallDoubleMethodA(jobject obj, jmethodID methodID, | |
1052 | + const jvalue * args) { | |
1053 | + return functions->CallDoubleMethodA(this,obj,methodID,args); | |
1054 | + } | |
1055 | + | |
1056 | + void CallVoidMethod(jobject obj, jmethodID methodID, ...) { | |
1057 | + va_list args; | |
1058 | + va_start(args,methodID); | |
1059 | + functions->CallVoidMethodV(this,obj,methodID,args); | |
1060 | + va_end(args); | |
1061 | + } | |
1062 | + void CallVoidMethodV(jobject obj, jmethodID methodID, | |
1063 | + va_list args) { | |
1064 | + functions->CallVoidMethodV(this,obj,methodID,args); | |
1065 | + } | |
1066 | + void CallVoidMethodA(jobject obj, jmethodID methodID, | |
1067 | + const jvalue * args) { | |
1068 | + functions->CallVoidMethodA(this,obj,methodID,args); | |
1069 | + } | |
1070 | + | |
1071 | + jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, | |
1072 | + jmethodID methodID, ...) { | |
1073 | + va_list args; | |
1074 | + jobject result; | |
1075 | + va_start(args,methodID); | |
1076 | + result = functions->CallNonvirtualObjectMethodV(this,obj,clazz, | |
1077 | + methodID,args); | |
1078 | + va_end(args); | |
1079 | + return result; | |
1080 | + } | |
1081 | + jobject CallNonvirtualObjectMethodV(jobject obj, jclass clazz, | |
1082 | + jmethodID methodID, va_list args) { | |
1083 | + return functions->CallNonvirtualObjectMethodV(this,obj,clazz, | |
1084 | + methodID,args); | |
1085 | + } | |
1086 | + jobject CallNonvirtualObjectMethodA(jobject obj, jclass clazz, | |
1087 | + jmethodID methodID, const jvalue * args) { | |
1088 | + return functions->CallNonvirtualObjectMethodA(this,obj,clazz, | |
1089 | + methodID,args); | |
1090 | + } | |
1091 | + | |
1092 | + jboolean CallNonvirtualBooleanMethod(jobject obj, jclass clazz, | |
1093 | + jmethodID methodID, ...) { | |
1094 | + va_list args; | |
1095 | + jboolean result; | |
1096 | + va_start(args,methodID); | |
1097 | + result = functions->CallNonvirtualBooleanMethodV(this,obj,clazz, | |
1098 | + methodID,args); | |
1099 | + va_end(args); | |
1100 | + return result; | |
1101 | + } | |
1102 | + jboolean CallNonvirtualBooleanMethodV(jobject obj, jclass clazz, | |
1103 | + jmethodID methodID, va_list args) { | |
1104 | + return functions->CallNonvirtualBooleanMethodV(this,obj,clazz, | |
1105 | + methodID,args); | |
1106 | + } | |
1107 | + jboolean CallNonvirtualBooleanMethodA(jobject obj, jclass clazz, | |
1108 | + jmethodID methodID, const jvalue * args) { | |
1109 | + return functions->CallNonvirtualBooleanMethodA(this,obj,clazz, | |
1110 | + methodID, args); | |
1111 | + } | |
1112 | + | |
1113 | + jbyte CallNonvirtualByteMethod(jobject obj, jclass clazz, | |
1114 | + jmethodID methodID, ...) { | |
1115 | + va_list args; | |
1116 | + jbyte result; | |
1117 | + va_start(args,methodID); | |
1118 | + result = functions->CallNonvirtualByteMethodV(this,obj,clazz, | |
1119 | + methodID,args); | |
1120 | + va_end(args); | |
1121 | + return result; | |
1122 | + } | |
1123 | + jbyte CallNonvirtualByteMethodV(jobject obj, jclass clazz, | |
1124 | + jmethodID methodID, va_list args) { | |
1125 | + return functions->CallNonvirtualByteMethodV(this,obj,clazz, | |
1126 | + methodID,args); | |
1127 | + } | |
1128 | + jbyte CallNonvirtualByteMethodA(jobject obj, jclass clazz, | |
1129 | + jmethodID methodID, const jvalue * args) { | |
1130 | + return functions->CallNonvirtualByteMethodA(this,obj,clazz, | |
1131 | + methodID,args); | |
1132 | + } | |
1133 | + | |
1134 | + jchar CallNonvirtualCharMethod(jobject obj, jclass clazz, | |
1135 | + jmethodID methodID, ...) { | |
1136 | + va_list args; | |
1137 | + jchar result; | |
1138 | + va_start(args,methodID); | |
1139 | + result = functions->CallNonvirtualCharMethodV(this,obj,clazz, | |
1140 | + methodID,args); | |
1141 | + va_end(args); | |
1142 | + return result; | |
1143 | + } | |
1144 | + jchar CallNonvirtualCharMethodV(jobject obj, jclass clazz, | |
1145 | + jmethodID methodID, va_list args) { | |
1146 | + return functions->CallNonvirtualCharMethodV(this,obj,clazz, | |
1147 | + methodID,args); | |
1148 | + } | |
1149 | + jchar CallNonvirtualCharMethodA(jobject obj, jclass clazz, | |
1150 | + jmethodID methodID, const jvalue * args) { | |
1151 | + return functions->CallNonvirtualCharMethodA(this,obj,clazz, | |
1152 | + methodID,args); | |
1153 | + } | |
1154 | + | |
1155 | + jshort CallNonvirtualShortMethod(jobject obj, jclass clazz, | |
1156 | + jmethodID methodID, ...) { | |
1157 | + va_list args; | |
1158 | + jshort result; | |
1159 | + va_start(args,methodID); | |
1160 | + result = functions->CallNonvirtualShortMethodV(this,obj,clazz, | |
1161 | + methodID,args); | |
1162 | + va_end(args); | |
1163 | + return result; | |
1164 | + } | |
1165 | + jshort CallNonvirtualShortMethodV(jobject obj, jclass clazz, | |
1166 | + jmethodID methodID, va_list args) { | |
1167 | + return functions->CallNonvirtualShortMethodV(this,obj,clazz, | |
1168 | + methodID,args); | |
1169 | + } | |
1170 | + jshort CallNonvirtualShortMethodA(jobject obj, jclass clazz, | |
1171 | + jmethodID methodID, const jvalue * args) { | |
1172 | + return functions->CallNonvirtualShortMethodA(this,obj,clazz, | |
1173 | + methodID,args); | |
1174 | + } | |
1175 | + | |
1176 | + jint CallNonvirtualIntMethod(jobject obj, jclass clazz, | |
1177 | + jmethodID methodID, ...) { | |
1178 | + va_list args; | |
1179 | + jint result; | |
1180 | + va_start(args,methodID); | |
1181 | + result = functions->CallNonvirtualIntMethodV(this,obj,clazz, | |
1182 | + methodID,args); | |
1183 | + va_end(args); | |
1184 | + return result; | |
1185 | + } | |
1186 | + jint CallNonvirtualIntMethodV(jobject obj, jclass clazz, | |
1187 | + jmethodID methodID, va_list args) { | |
1188 | + return functions->CallNonvirtualIntMethodV(this,obj,clazz, | |
1189 | + methodID,args); | |
1190 | + } | |
1191 | + jint CallNonvirtualIntMethodA(jobject obj, jclass clazz, | |
1192 | + jmethodID methodID, const jvalue * args) { | |
1193 | + return functions->CallNonvirtualIntMethodA(this,obj,clazz, | |
1194 | + methodID,args); | |
1195 | + } | |
1196 | + | |
1197 | + jlong CallNonvirtualLongMethod(jobject obj, jclass clazz, | |
1198 | + jmethodID methodID, ...) { | |
1199 | + va_list args; | |
1200 | + jlong result; | |
1201 | + va_start(args,methodID); | |
1202 | + result = functions->CallNonvirtualLongMethodV(this,obj,clazz, | |
1203 | + methodID,args); | |
1204 | + va_end(args); | |
1205 | + return result; | |
1206 | + } | |
1207 | + jlong CallNonvirtualLongMethodV(jobject obj, jclass clazz, | |
1208 | + jmethodID methodID, va_list args) { | |
1209 | + return functions->CallNonvirtualLongMethodV(this,obj,clazz, | |
1210 | + methodID,args); | |
1211 | + } | |
1212 | + jlong CallNonvirtualLongMethodA(jobject obj, jclass clazz, | |
1213 | + jmethodID methodID, const jvalue * args) { | |
1214 | + return functions->CallNonvirtualLongMethodA(this,obj,clazz, | |
1215 | + methodID,args); | |
1216 | + } | |
1217 | + | |
1218 | + jfloat CallNonvirtualFloatMethod(jobject obj, jclass clazz, | |
1219 | + jmethodID methodID, ...) { | |
1220 | + va_list args; | |
1221 | + jfloat result; | |
1222 | + va_start(args,methodID); | |
1223 | + result = functions->CallNonvirtualFloatMethodV(this,obj,clazz, | |
1224 | + methodID,args); | |
1225 | + va_end(args); | |
1226 | + return result; | |
1227 | + } | |
1228 | + jfloat CallNonvirtualFloatMethodV(jobject obj, jclass clazz, | |
1229 | + jmethodID methodID, | |
1230 | + va_list args) { | |
1231 | + return functions->CallNonvirtualFloatMethodV(this,obj,clazz, | |
1232 | + methodID,args); | |
1233 | + } | |
1234 | + jfloat CallNonvirtualFloatMethodA(jobject obj, jclass clazz, | |
1235 | + jmethodID methodID, | |
1236 | + const jvalue * args) { | |
1237 | + return functions->CallNonvirtualFloatMethodA(this,obj,clazz, | |
1238 | + methodID,args); | |
1239 | + } | |
1240 | + | |
1241 | + jdouble CallNonvirtualDoubleMethod(jobject obj, jclass clazz, | |
1242 | + jmethodID methodID, ...) { | |
1243 | + va_list args; | |
1244 | + jdouble result; | |
1245 | + va_start(args,methodID); | |
1246 | + result = functions->CallNonvirtualDoubleMethodV(this,obj,clazz, | |
1247 | + methodID,args); | |
1248 | + va_end(args); | |
1249 | + return result; | |
1250 | + } | |
1251 | + jdouble CallNonvirtualDoubleMethodV(jobject obj, jclass clazz, | |
1252 | + jmethodID methodID, | |
1253 | + va_list args) { | |
1254 | + return functions->CallNonvirtualDoubleMethodV(this,obj,clazz, | |
1255 | + methodID,args); | |
1256 | + } | |
1257 | + jdouble CallNonvirtualDoubleMethodA(jobject obj, jclass clazz, | |
1258 | + jmethodID methodID, | |
1259 | + const jvalue * args) { | |
1260 | + return functions->CallNonvirtualDoubleMethodA(this,obj,clazz, | |
1261 | + methodID,args); | |
1262 | + } | |
1263 | + | |
1264 | + void CallNonvirtualVoidMethod(jobject obj, jclass clazz, | |
1265 | + jmethodID methodID, ...) { | |
1266 | + va_list args; | |
1267 | + va_start(args,methodID); | |
1268 | + functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args); | |
1269 | + va_end(args); | |
1270 | + } | |
1271 | + void CallNonvirtualVoidMethodV(jobject obj, jclass clazz, | |
1272 | + jmethodID methodID, | |
1273 | + va_list args) { | |
1274 | + functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args); | |
1275 | + } | |
1276 | + void CallNonvirtualVoidMethodA(jobject obj, jclass clazz, | |
1277 | + jmethodID methodID, | |
1278 | + const jvalue * args) { | |
1279 | + functions->CallNonvirtualVoidMethodA(this,obj,clazz,methodID,args); | |
1280 | + } | |
1281 | + | |
1282 | + jfieldID GetFieldID(jclass clazz, const char *name, | |
1283 | + const char *sig) { | |
1284 | + return functions->GetFieldID(this,clazz,name,sig); | |
1285 | + } | |
1286 | + | |
1287 | + jobject GetObjectField(jobject obj, jfieldID fieldID) { | |
1288 | + return functions->GetObjectField(this,obj,fieldID); | |
1289 | + } | |
1290 | + jboolean GetBooleanField(jobject obj, jfieldID fieldID) { | |
1291 | + return functions->GetBooleanField(this,obj,fieldID); | |
1292 | + } | |
1293 | + jbyte GetByteField(jobject obj, jfieldID fieldID) { | |
1294 | + return functions->GetByteField(this,obj,fieldID); | |
1295 | + } | |
1296 | + jchar GetCharField(jobject obj, jfieldID fieldID) { | |
1297 | + return functions->GetCharField(this,obj,fieldID); | |
1298 | + } | |
1299 | + jshort GetShortField(jobject obj, jfieldID fieldID) { | |
1300 | + return functions->GetShortField(this,obj,fieldID); | |
1301 | + } | |
1302 | + jint GetIntField(jobject obj, jfieldID fieldID) { | |
1303 | + return functions->GetIntField(this,obj,fieldID); | |
1304 | + } | |
1305 | + jlong GetLongField(jobject obj, jfieldID fieldID) { | |
1306 | + return functions->GetLongField(this,obj,fieldID); | |
1307 | + } | |
1308 | + jfloat GetFloatField(jobject obj, jfieldID fieldID) { | |
1309 | + return functions->GetFloatField(this,obj,fieldID); | |
1310 | + } | |
1311 | + jdouble GetDoubleField(jobject obj, jfieldID fieldID) { | |
1312 | + return functions->GetDoubleField(this,obj,fieldID); | |
1313 | + } | |
1314 | + | |
1315 | + void SetObjectField(jobject obj, jfieldID fieldID, jobject val) { | |
1316 | + functions->SetObjectField(this,obj,fieldID,val); | |
1317 | + } | |
1318 | + void SetBooleanField(jobject obj, jfieldID fieldID, | |
1319 | + jboolean val) { | |
1320 | + functions->SetBooleanField(this,obj,fieldID,val); | |
1321 | + } | |
1322 | + void SetByteField(jobject obj, jfieldID fieldID, | |
1323 | + jbyte val) { | |
1324 | + functions->SetByteField(this,obj,fieldID,val); | |
1325 | + } | |
1326 | + void SetCharField(jobject obj, jfieldID fieldID, | |
1327 | + jchar val) { | |
1328 | + functions->SetCharField(this,obj,fieldID,val); | |
1329 | + } | |
1330 | + void SetShortField(jobject obj, jfieldID fieldID, | |
1331 | + jshort val) { | |
1332 | + functions->SetShortField(this,obj,fieldID,val); | |
1333 | + } | |
1334 | + void SetIntField(jobject obj, jfieldID fieldID, | |
1335 | + jint val) { | |
1336 | + functions->SetIntField(this,obj,fieldID,val); | |
1337 | + } | |
1338 | + void SetLongField(jobject obj, jfieldID fieldID, | |
1339 | + jlong val) { | |
1340 | + functions->SetLongField(this,obj,fieldID,val); | |
1341 | + } | |
1342 | + void SetFloatField(jobject obj, jfieldID fieldID, | |
1343 | + jfloat val) { | |
1344 | + functions->SetFloatField(this,obj,fieldID,val); | |
1345 | + } | |
1346 | + void SetDoubleField(jobject obj, jfieldID fieldID, | |
1347 | + jdouble val) { | |
1348 | + functions->SetDoubleField(this,obj,fieldID,val); | |
1349 | + } | |
1350 | + | |
1351 | + jmethodID GetStaticMethodID(jclass clazz, const char *name, | |
1352 | + const char *sig) { | |
1353 | + return functions->GetStaticMethodID(this,clazz,name,sig); | |
1354 | + } | |
1355 | + | |
1356 | + jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, | |
1357 | + ...) { | |
1358 | + va_list args; | |
1359 | + jobject result; | |
1360 | + va_start(args,methodID); | |
1361 | + result = functions->CallStaticObjectMethodV(this,clazz,methodID,args); | |
1362 | + va_end(args); | |
1363 | + return result; | |
1364 | + } | |
1365 | + jobject CallStaticObjectMethodV(jclass clazz, jmethodID methodID, | |
1366 | + va_list args) { | |
1367 | + return functions->CallStaticObjectMethodV(this,clazz,methodID,args); | |
1368 | + } | |
1369 | + jobject CallStaticObjectMethodA(jclass clazz, jmethodID methodID, | |
1370 | + const jvalue *args) { | |
1371 | + return functions->CallStaticObjectMethodA(this,clazz,methodID,args); | |
1372 | + } | |
1373 | + | |
1374 | + jboolean CallStaticBooleanMethod(jclass clazz, | |
1375 | + jmethodID methodID, ...) { | |
1376 | + va_list args; | |
1377 | + jboolean result; | |
1378 | + va_start(args,methodID); | |
1379 | + result = functions->CallStaticBooleanMethodV(this,clazz,methodID,args); | |
1380 | + va_end(args); | |
1381 | + return result; | |
1382 | + } | |
1383 | + jboolean CallStaticBooleanMethodV(jclass clazz, | |
1384 | + jmethodID methodID, va_list args) { | |
1385 | + return functions->CallStaticBooleanMethodV(this,clazz,methodID,args); | |
1386 | + } | |
1387 | + jboolean CallStaticBooleanMethodA(jclass clazz, | |
1388 | + jmethodID methodID, const jvalue *args) { | |
1389 | + return functions->CallStaticBooleanMethodA(this,clazz,methodID,args); | |
1390 | + } | |
1391 | + | |
1392 | + jbyte CallStaticByteMethod(jclass clazz, | |
1393 | + jmethodID methodID, ...) { | |
1394 | + va_list args; | |
1395 | + jbyte result; | |
1396 | + va_start(args,methodID); | |
1397 | + result = functions->CallStaticByteMethodV(this,clazz,methodID,args); | |
1398 | + va_end(args); | |
1399 | + return result; | |
1400 | + } | |
1401 | + jbyte CallStaticByteMethodV(jclass clazz, | |
1402 | + jmethodID methodID, va_list args) { | |
1403 | + return functions->CallStaticByteMethodV(this,clazz,methodID,args); | |
1404 | + } | |
1405 | + jbyte CallStaticByteMethodA(jclass clazz, | |
1406 | + jmethodID methodID, const jvalue *args) { | |
1407 | + return functions->CallStaticByteMethodA(this,clazz,methodID,args); | |
1408 | + } | |
1409 | + | |
1410 | + jchar CallStaticCharMethod(jclass clazz, | |
1411 | + jmethodID methodID, ...) { | |
1412 | + va_list args; | |
1413 | + jchar result; | |
1414 | + va_start(args,methodID); | |
1415 | + result = functions->CallStaticCharMethodV(this,clazz,methodID,args); | |
1416 | + va_end(args); | |
1417 | + return result; | |
1418 | + } | |
1419 | + jchar CallStaticCharMethodV(jclass clazz, | |
1420 | + jmethodID methodID, va_list args) { | |
1421 | + return functions->CallStaticCharMethodV(this,clazz,methodID,args); | |
1422 | + } | |
1423 | + jchar CallStaticCharMethodA(jclass clazz, | |
1424 | + jmethodID methodID, const jvalue *args) { | |
1425 | + return functions->CallStaticCharMethodA(this,clazz,methodID,args); | |
1426 | + } | |
1427 | + | |
1428 | + jshort CallStaticShortMethod(jclass clazz, | |
1429 | + jmethodID methodID, ...) { | |
1430 | + va_list args; | |
1431 | + jshort result; | |
1432 | + va_start(args,methodID); | |
1433 | + result = functions->CallStaticShortMethodV(this,clazz,methodID,args); | |
1434 | + va_end(args); | |
1435 | + return result; | |
1436 | + } | |
1437 | + jshort CallStaticShortMethodV(jclass clazz, | |
1438 | + jmethodID methodID, va_list args) { | |
1439 | + return functions->CallStaticShortMethodV(this,clazz,methodID,args); | |
1440 | + } | |
1441 | + jshort CallStaticShortMethodA(jclass clazz, | |
1442 | + jmethodID methodID, const jvalue *args) { | |
1443 | + return functions->CallStaticShortMethodA(this,clazz,methodID,args); | |
1444 | + } | |
1445 | + | |
1446 | + jint CallStaticIntMethod(jclass clazz, | |
1447 | + jmethodID methodID, ...) { | |
1448 | + va_list args; | |
1449 | + jint result; | |
1450 | + va_start(args,methodID); | |
1451 | + result = functions->CallStaticIntMethodV(this,clazz,methodID,args); | |
1452 | + va_end(args); | |
1453 | + return result; | |
1454 | + } | |
1455 | + jint CallStaticIntMethodV(jclass clazz, | |
1456 | + jmethodID methodID, va_list args) { | |
1457 | + return functions->CallStaticIntMethodV(this,clazz,methodID,args); | |
1458 | + } | |
1459 | + jint CallStaticIntMethodA(jclass clazz, | |
1460 | + jmethodID methodID, const jvalue *args) { | |
1461 | + return functions->CallStaticIntMethodA(this,clazz,methodID,args); | |
1462 | + } | |
1463 | + | |
1464 | + jlong CallStaticLongMethod(jclass clazz, | |
1465 | + jmethodID methodID, ...) { | |
1466 | + va_list args; | |
1467 | + jlong result; | |
1468 | + va_start(args,methodID); | |
1469 | + result = functions->CallStaticLongMethodV(this,clazz,methodID,args); | |
1470 | + va_end(args); | |
1471 | + return result; | |
1472 | + } | |
1473 | + jlong CallStaticLongMethodV(jclass clazz, | |
1474 | + jmethodID methodID, va_list args) { | |
1475 | + return functions->CallStaticLongMethodV(this,clazz,methodID,args); | |
1476 | + } | |
1477 | + jlong CallStaticLongMethodA(jclass clazz, | |
1478 | + jmethodID methodID, const jvalue *args) { | |
1479 | + return functions->CallStaticLongMethodA(this,clazz,methodID,args); | |
1480 | + } | |
1481 | + | |
1482 | + jfloat CallStaticFloatMethod(jclass clazz, | |
1483 | + jmethodID methodID, ...) { | |
1484 | + va_list args; | |
1485 | + jfloat result; | |
1486 | + va_start(args,methodID); | |
1487 | + result = functions->CallStaticFloatMethodV(this,clazz,methodID,args); | |
1488 | + va_end(args); | |
1489 | + return result; | |
1490 | + } | |
1491 | + jfloat CallStaticFloatMethodV(jclass clazz, | |
1492 | + jmethodID methodID, va_list args) { | |
1493 | + return functions->CallStaticFloatMethodV(this,clazz,methodID,args); | |
1494 | + } | |
1495 | + jfloat CallStaticFloatMethodA(jclass clazz, | |
1496 | + jmethodID methodID, const jvalue *args) { | |
1497 | + return functions->CallStaticFloatMethodA(this,clazz,methodID,args); | |
1498 | + } | |
1499 | + | |
1500 | + jdouble CallStaticDoubleMethod(jclass clazz, | |
1501 | + jmethodID methodID, ...) { | |
1502 | + va_list args; | |
1503 | + jdouble result; | |
1504 | + va_start(args,methodID); | |
1505 | + result = functions->CallStaticDoubleMethodV(this,clazz,methodID,args); | |
1506 | + va_end(args); | |
1507 | + return result; | |
1508 | + } | |
1509 | + jdouble CallStaticDoubleMethodV(jclass clazz, | |
1510 | + jmethodID methodID, va_list args) { | |
1511 | + return functions->CallStaticDoubleMethodV(this,clazz,methodID,args); | |
1512 | + } | |
1513 | + jdouble CallStaticDoubleMethodA(jclass clazz, | |
1514 | + jmethodID methodID, const jvalue *args) { | |
1515 | + return functions->CallStaticDoubleMethodA(this,clazz,methodID,args); | |
1516 | + } | |
1517 | + | |
1518 | + void CallStaticVoidMethod(jclass cls, jmethodID methodID, ...) { | |
1519 | + va_list args; | |
1520 | + va_start(args,methodID); | |
1521 | + functions->CallStaticVoidMethodV(this,cls,methodID,args); | |
1522 | + va_end(args); | |
1523 | + } | |
1524 | + void CallStaticVoidMethodV(jclass cls, jmethodID methodID, | |
1525 | + va_list args) { | |
1526 | + functions->CallStaticVoidMethodV(this,cls,methodID,args); | |
1527 | + } | |
1528 | + void CallStaticVoidMethodA(jclass cls, jmethodID methodID, | |
1529 | + const jvalue * args) { | |
1530 | + functions->CallStaticVoidMethodA(this,cls,methodID,args); | |
1531 | + } | |
1532 | + | |
1533 | + jfieldID GetStaticFieldID(jclass clazz, const char *name, | |
1534 | + const char *sig) { | |
1535 | + return functions->GetStaticFieldID(this,clazz,name,sig); | |
1536 | + } | |
1537 | + jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) { | |
1538 | + return functions->GetStaticObjectField(this,clazz,fieldID); | |
1539 | + } | |
1540 | + jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) { | |
1541 | + return functions->GetStaticBooleanField(this,clazz,fieldID); | |
1542 | + } | |
1543 | + jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) { | |
1544 | + return functions->GetStaticByteField(this,clazz,fieldID); | |
1545 | + } | |
1546 | + jchar GetStaticCharField(jclass clazz, jfieldID fieldID) { | |
1547 | + return functions->GetStaticCharField(this,clazz,fieldID); | |
1548 | + } | |
1549 | + jshort GetStaticShortField(jclass clazz, jfieldID fieldID) { | |
1550 | + return functions->GetStaticShortField(this,clazz,fieldID); | |
1551 | + } | |
1552 | + jint GetStaticIntField(jclass clazz, jfieldID fieldID) { | |
1553 | + return functions->GetStaticIntField(this,clazz,fieldID); | |
1554 | + } | |
1555 | + jlong GetStaticLongField(jclass clazz, jfieldID fieldID) { | |
1556 | + return functions->GetStaticLongField(this,clazz,fieldID); | |
1557 | + } | |
1558 | + jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) { | |
1559 | + return functions->GetStaticFloatField(this,clazz,fieldID); | |
1560 | + } | |
1561 | + jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) { | |
1562 | + return functions->GetStaticDoubleField(this,clazz,fieldID); | |
1563 | + } | |
1564 | + | |
1565 | + void SetStaticObjectField(jclass clazz, jfieldID fieldID, | |
1566 | + jobject value) { | |
1567 | + functions->SetStaticObjectField(this,clazz,fieldID,value); | |
1568 | + } | |
1569 | + void SetStaticBooleanField(jclass clazz, jfieldID fieldID, | |
1570 | + jboolean value) { | |
1571 | + functions->SetStaticBooleanField(this,clazz,fieldID,value); | |
1572 | + } | |
1573 | + void SetStaticByteField(jclass clazz, jfieldID fieldID, | |
1574 | + jbyte value) { | |
1575 | + functions->SetStaticByteField(this,clazz,fieldID,value); | |
1576 | + } | |
1577 | + void SetStaticCharField(jclass clazz, jfieldID fieldID, | |
1578 | + jchar value) { | |
1579 | + functions->SetStaticCharField(this,clazz,fieldID,value); | |
1580 | + } | |
1581 | + void SetStaticShortField(jclass clazz, jfieldID fieldID, | |
1582 | + jshort value) { | |
1583 | + functions->SetStaticShortField(this,clazz,fieldID,value); | |
1584 | + } | |
1585 | + void SetStaticIntField(jclass clazz, jfieldID fieldID, | |
1586 | + jint value) { | |
1587 | + functions->SetStaticIntField(this,clazz,fieldID,value); | |
1588 | + } | |
1589 | + void SetStaticLongField(jclass clazz, jfieldID fieldID, | |
1590 | + jlong value) { | |
1591 | + functions->SetStaticLongField(this,clazz,fieldID,value); | |
1592 | + } | |
1593 | + void SetStaticFloatField(jclass clazz, jfieldID fieldID, | |
1594 | + jfloat value) { | |
1595 | + functions->SetStaticFloatField(this,clazz,fieldID,value); | |
1596 | + } | |
1597 | + void SetStaticDoubleField(jclass clazz, jfieldID fieldID, | |
1598 | + jdouble value) { | |
1599 | + functions->SetStaticDoubleField(this,clazz,fieldID,value); | |
1600 | + } | |
1601 | + | |
1602 | + jstring NewString(const jchar *unicode, jsize len) { | |
1603 | + return functions->NewString(this,unicode,len); | |
1604 | + } | |
1605 | + jsize GetStringLength(jstring str) { | |
1606 | + return functions->GetStringLength(this,str); | |
1607 | + } | |
1608 | + const jchar *GetStringChars(jstring str, jboolean *isCopy) { | |
1609 | + return functions->GetStringChars(this,str,isCopy); | |
1610 | + } | |
1611 | + void ReleaseStringChars(jstring str, const jchar *chars) { | |
1612 | + functions->ReleaseStringChars(this,str,chars); | |
1613 | + } | |
1614 | + | |
1615 | + jstring NewStringUTF(const char *utf) { | |
1616 | + return functions->NewStringUTF(this,utf); | |
1617 | + } | |
1618 | + jsize GetStringUTFLength(jstring str) { | |
1619 | + return functions->GetStringUTFLength(this,str); | |
1620 | + } | |
1621 | + const char* GetStringUTFChars(jstring str, jboolean *isCopy) { | |
1622 | + return functions->GetStringUTFChars(this,str,isCopy); | |
1623 | + } | |
1624 | + void ReleaseStringUTFChars(jstring str, const char* chars) { | |
1625 | + functions->ReleaseStringUTFChars(this,str,chars); | |
1626 | + } | |
1627 | + | |
1628 | + jsize GetArrayLength(jarray array) { | |
1629 | + return functions->GetArrayLength(this,array); | |
1630 | + } | |
1631 | + | |
1632 | + jobjectArray NewObjectArray(jsize len, jclass clazz, | |
1633 | + jobject init) { | |
1634 | + return functions->NewObjectArray(this,len,clazz,init); | |
1635 | + } | |
1636 | + jobject GetObjectArrayElement(jobjectArray array, jsize index) { | |
1637 | + return functions->GetObjectArrayElement(this,array,index); | |
1638 | + } | |
1639 | + void SetObjectArrayElement(jobjectArray array, jsize index, | |
1640 | + jobject val) { | |
1641 | + functions->SetObjectArrayElement(this,array,index,val); | |
1642 | + } | |
1643 | + | |
1644 | + jbooleanArray NewBooleanArray(jsize len) { | |
1645 | + return functions->NewBooleanArray(this,len); | |
1646 | + } | |
1647 | + jbyteArray NewByteArray(jsize len) { | |
1648 | + return functions->NewByteArray(this,len); | |
1649 | + } | |
1650 | + jcharArray NewCharArray(jsize len) { | |
1651 | + return functions->NewCharArray(this,len); | |
1652 | + } | |
1653 | + jshortArray NewShortArray(jsize len) { | |
1654 | + return functions->NewShortArray(this,len); | |
1655 | + } | |
1656 | + jintArray NewIntArray(jsize len) { | |
1657 | + return functions->NewIntArray(this,len); | |
1658 | + } | |
1659 | + jlongArray NewLongArray(jsize len) { | |
1660 | + return functions->NewLongArray(this,len); | |
1661 | + } | |
1662 | + jfloatArray NewFloatArray(jsize len) { | |
1663 | + return functions->NewFloatArray(this,len); | |
1664 | + } | |
1665 | + jdoubleArray NewDoubleArray(jsize len) { | |
1666 | + return functions->NewDoubleArray(this,len); | |
1667 | + } | |
1668 | + | |
1669 | + jboolean * GetBooleanArrayElements(jbooleanArray array, jboolean *isCopy) { | |
1670 | + return functions->GetBooleanArrayElements(this,array,isCopy); | |
1671 | + } | |
1672 | + jbyte * GetByteArrayElements(jbyteArray array, jboolean *isCopy) { | |
1673 | + return functions->GetByteArrayElements(this,array,isCopy); | |
1674 | + } | |
1675 | + jchar * GetCharArrayElements(jcharArray array, jboolean *isCopy) { | |
1676 | + return functions->GetCharArrayElements(this,array,isCopy); | |
1677 | + } | |
1678 | + jshort * GetShortArrayElements(jshortArray array, jboolean *isCopy) { | |
1679 | + return functions->GetShortArrayElements(this,array,isCopy); | |
1680 | + } | |
1681 | + jint * GetIntArrayElements(jintArray array, jboolean *isCopy) { | |
1682 | + return functions->GetIntArrayElements(this,array,isCopy); | |
1683 | + } | |
1684 | + jlong * GetLongArrayElements(jlongArray array, jboolean *isCopy) { | |
1685 | + return functions->GetLongArrayElements(this,array,isCopy); | |
1686 | + } | |
1687 | + jfloat * GetFloatArrayElements(jfloatArray array, jboolean *isCopy) { | |
1688 | + return functions->GetFloatArrayElements(this,array,isCopy); | |
1689 | + } | |
1690 | + jdouble * GetDoubleArrayElements(jdoubleArray array, jboolean *isCopy) { | |
1691 | + return functions->GetDoubleArrayElements(this,array,isCopy); | |
1692 | + } | |
1693 | + | |
1694 | + void ReleaseBooleanArrayElements(jbooleanArray array, | |
1695 | + jboolean *elems, | |
1696 | + jint mode) { | |
1697 | + functions->ReleaseBooleanArrayElements(this,array,elems,mode); | |
1698 | + } | |
1699 | + void ReleaseByteArrayElements(jbyteArray array, | |
1700 | + jbyte *elems, | |
1701 | + jint mode) { | |
1702 | + functions->ReleaseByteArrayElements(this,array,elems,mode); | |
1703 | + } | |
1704 | + void ReleaseCharArrayElements(jcharArray array, | |
1705 | + jchar *elems, | |
1706 | + jint mode) { | |
1707 | + functions->ReleaseCharArrayElements(this,array,elems,mode); | |
1708 | + } | |
1709 | + void ReleaseShortArrayElements(jshortArray array, | |
1710 | + jshort *elems, | |
1711 | + jint mode) { | |
1712 | + functions->ReleaseShortArrayElements(this,array,elems,mode); | |
1713 | + } | |
1714 | + void ReleaseIntArrayElements(jintArray array, | |
1715 | + jint *elems, | |
1716 | + jint mode) { | |
1717 | + functions->ReleaseIntArrayElements(this,array,elems,mode); | |
1718 | + } | |
1719 | + void ReleaseLongArrayElements(jlongArray array, | |
1720 | + jlong *elems, | |
1721 | + jint mode) { | |
1722 | + functions->ReleaseLongArrayElements(this,array,elems,mode); | |
1723 | + } | |
1724 | + void ReleaseFloatArrayElements(jfloatArray array, | |
1725 | + jfloat *elems, | |
1726 | + jint mode) { | |
1727 | + functions->ReleaseFloatArrayElements(this,array,elems,mode); | |
1728 | + } | |
1729 | + void ReleaseDoubleArrayElements(jdoubleArray array, | |
1730 | + jdouble *elems, | |
1731 | + jint mode) { | |
1732 | + functions->ReleaseDoubleArrayElements(this,array,elems,mode); | |
1733 | + } | |
1734 | + | |
1735 | + void GetBooleanArrayRegion(jbooleanArray array, | |
1736 | + jsize start, jsize len, jboolean *buf) { | |
1737 | + functions->GetBooleanArrayRegion(this,array,start,len,buf); | |
1738 | + } | |
1739 | + void GetByteArrayRegion(jbyteArray array, | |
1740 | + jsize start, jsize len, jbyte *buf) { | |
1741 | + functions->GetByteArrayRegion(this,array,start,len,buf); | |
1742 | + } | |
1743 | + void GetCharArrayRegion(jcharArray array, | |
1744 | + jsize start, jsize len, jchar *buf) { | |
1745 | + functions->GetCharArrayRegion(this,array,start,len,buf); | |
1746 | + } | |
1747 | + void GetShortArrayRegion(jshortArray array, | |
1748 | + jsize start, jsize len, jshort *buf) { | |
1749 | + functions->GetShortArrayRegion(this,array,start,len,buf); | |
1750 | + } | |
1751 | + void GetIntArrayRegion(jintArray array, | |
1752 | + jsize start, jsize len, jint *buf) { | |
1753 | + functions->GetIntArrayRegion(this,array,start,len,buf); | |
1754 | + } | |
1755 | + void GetLongArrayRegion(jlongArray array, | |
1756 | + jsize start, jsize len, jlong *buf) { | |
1757 | + functions->GetLongArrayRegion(this,array,start,len,buf); | |
1758 | + } | |
1759 | + void GetFloatArrayRegion(jfloatArray array, | |
1760 | + jsize start, jsize len, jfloat *buf) { | |
1761 | + functions->GetFloatArrayRegion(this,array,start,len,buf); | |
1762 | + } | |
1763 | + void GetDoubleArrayRegion(jdoubleArray array, | |
1764 | + jsize start, jsize len, jdouble *buf) { | |
1765 | + functions->GetDoubleArrayRegion(this,array,start,len,buf); | |
1766 | + } | |
1767 | + | |
1768 | + void SetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len, | |
1769 | + const jboolean *buf) { | |
1770 | + functions->SetBooleanArrayRegion(this,array,start,len,buf); | |
1771 | + } | |
1772 | + void SetByteArrayRegion(jbyteArray array, jsize start, jsize len, | |
1773 | + const jbyte *buf) { | |
1774 | + functions->SetByteArrayRegion(this,array,start,len,buf); | |
1775 | + } | |
1776 | + void SetCharArrayRegion(jcharArray array, jsize start, jsize len, | |
1777 | + const jchar *buf) { | |
1778 | + functions->SetCharArrayRegion(this,array,start,len,buf); | |
1779 | + } | |
1780 | + void SetShortArrayRegion(jshortArray array, jsize start, jsize len, | |
1781 | + const jshort *buf) { | |
1782 | + functions->SetShortArrayRegion(this,array,start,len,buf); | |
1783 | + } | |
1784 | + void SetIntArrayRegion(jintArray array, jsize start, jsize len, | |
1785 | + const jint *buf) { | |
1786 | + functions->SetIntArrayRegion(this,array,start,len,buf); | |
1787 | + } | |
1788 | + void SetLongArrayRegion(jlongArray array, jsize start, jsize len, | |
1789 | + const jlong *buf) { | |
1790 | + functions->SetLongArrayRegion(this,array,start,len,buf); | |
1791 | + } | |
1792 | + void SetFloatArrayRegion(jfloatArray array, jsize start, jsize len, | |
1793 | + const jfloat *buf) { | |
1794 | + functions->SetFloatArrayRegion(this,array,start,len,buf); | |
1795 | + } | |
1796 | + void SetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len, | |
1797 | + const jdouble *buf) { | |
1798 | + functions->SetDoubleArrayRegion(this,array,start,len,buf); | |
1799 | + } | |
1800 | + | |
1801 | + jint RegisterNatives(jclass clazz, const JNINativeMethod *methods, | |
1802 | + jint nMethods) { | |
1803 | + return functions->RegisterNatives(this,clazz,methods,nMethods); | |
1804 | + } | |
1805 | + jint UnregisterNatives(jclass clazz) { | |
1806 | + return functions->UnregisterNatives(this,clazz); | |
1807 | + } | |
1808 | + | |
1809 | + jint MonitorEnter(jobject obj) { | |
1810 | + return functions->MonitorEnter(this,obj); | |
1811 | + } | |
1812 | + jint MonitorExit(jobject obj) { | |
1813 | + return functions->MonitorExit(this,obj); | |
1814 | + } | |
1815 | + | |
1816 | + jint GetJavaVM(JavaVM **vm) { | |
1817 | + return functions->GetJavaVM(this,vm); | |
1818 | + } | |
1819 | + | |
1820 | + void GetStringRegion(jstring str, jsize start, jsize len, jchar *buf) { | |
1821 | + functions->GetStringRegion(this,str,start,len,buf); | |
1822 | + } | |
1823 | + void GetStringUTFRegion(jstring str, jsize start, jsize len, char *buf) { | |
1824 | + functions->GetStringUTFRegion(this,str,start,len,buf); | |
1825 | + } | |
1826 | + | |
1827 | + void * GetPrimitiveArrayCritical(jarray array, jboolean *isCopy) { | |
1828 | + return functions->GetPrimitiveArrayCritical(this,array,isCopy); | |
1829 | + } | |
1830 | + void ReleasePrimitiveArrayCritical(jarray array, void *carray, jint mode) { | |
1831 | + functions->ReleasePrimitiveArrayCritical(this,array,carray,mode); | |
1832 | + } | |
1833 | + | |
1834 | + const jchar * GetStringCritical(jstring string, jboolean *isCopy) { | |
1835 | + return functions->GetStringCritical(this,string,isCopy); | |
1836 | + } | |
1837 | + void ReleaseStringCritical(jstring string, const jchar *cstring) { | |
1838 | + functions->ReleaseStringCritical(this,string,cstring); | |
1839 | + } | |
1840 | + | |
1841 | + jweak NewWeakGlobalRef(jobject obj) { | |
1842 | + return functions->NewWeakGlobalRef(this,obj); | |
1843 | + } | |
1844 | + void DeleteWeakGlobalRef(jweak ref) { | |
1845 | + functions->DeleteWeakGlobalRef(this,ref); | |
1846 | + } | |
1847 | + | |
1848 | + jboolean ExceptionCheck() { | |
1849 | + return functions->ExceptionCheck(this); | |
1850 | + } | |
1851 | + | |
1852 | + jobject NewDirectByteBuffer(void* address, jlong capacity) { | |
1853 | + return functions->NewDirectByteBuffer(this, address, capacity); | |
1854 | + } | |
1855 | + void* GetDirectBufferAddress(jobject buf) { | |
1856 | + return functions->GetDirectBufferAddress(this, buf); | |
1857 | + } | |
1858 | + jlong GetDirectBufferCapacity(jobject buf) { | |
1859 | + return functions->GetDirectBufferCapacity(this, buf); | |
1860 | + } | |
1861 | + jobjectRefType GetObjectRefType(jobject obj) { | |
1862 | + return functions->GetObjectRefType(this, obj); | |
1863 | + } | |
1864 | + | |
1865 | + /* Module Features */ | |
1866 | + | |
1867 | + jobject GetModule(jclass clazz) { | |
1868 | + return functions->GetModule(this, clazz); | |
1869 | + } | |
1870 | + | |
1871 | +#endif /* __cplusplus */ | |
1872 | +}; | |
1873 | + | |
1874 | +typedef struct JavaVMOption { | |
1875 | + char *optionString; | |
1876 | + void *extraInfo; | |
1877 | +} JavaVMOption; | |
1878 | + | |
1879 | +typedef struct JavaVMInitArgs { | |
1880 | + jint version; | |
1881 | + | |
1882 | + jint nOptions; | |
1883 | + JavaVMOption *options; | |
1884 | + jboolean ignoreUnrecognized; | |
1885 | +} JavaVMInitArgs; | |
1886 | + | |
1887 | +typedef struct JavaVMAttachArgs { | |
1888 | + jint version; | |
1889 | + | |
1890 | + char *name; | |
1891 | + jobject group; | |
1892 | +} JavaVMAttachArgs; | |
1893 | + | |
1894 | +/* These will be VM-specific. */ | |
1895 | + | |
1896 | +#define JDK1_2 | |
1897 | +#define JDK1_4 | |
1898 | + | |
1899 | +/* End VM-specific. */ | |
1900 | + | |
1901 | +struct JNIInvokeInterface_ { | |
1902 | + void *reserved0; | |
1903 | + void *reserved1; | |
1904 | + void *reserved2; | |
1905 | + | |
1906 | + jint (JNICALL *DestroyJavaVM)(JavaVM *vm); | |
1907 | + | |
1908 | + jint (JNICALL *AttachCurrentThread)(JavaVM *vm, void **penv, void *args); | |
1909 | + | |
1910 | + jint (JNICALL *DetachCurrentThread)(JavaVM *vm); | |
1911 | + | |
1912 | + jint (JNICALL *GetEnv)(JavaVM *vm, void **penv, jint version); | |
1913 | + | |
1914 | + jint (JNICALL *AttachCurrentThreadAsDaemon)(JavaVM *vm, void **penv, void *args); | |
1915 | +}; | |
1916 | + | |
1917 | +struct JavaVM_ { | |
1918 | + const struct JNIInvokeInterface_ *functions; | |
1919 | +#ifdef __cplusplus | |
1920 | + | |
1921 | + jint DestroyJavaVM() { | |
1922 | + return functions->DestroyJavaVM(this); | |
1923 | + } | |
1924 | + jint AttachCurrentThread(void **penv, void *args) { | |
1925 | + return functions->AttachCurrentThread(this, penv, args); | |
1926 | + } | |
1927 | + jint DetachCurrentThread() { | |
1928 | + return functions->DetachCurrentThread(this); | |
1929 | + } | |
1930 | + | |
1931 | + jint GetEnv(void **penv, jint version) { | |
1932 | + return functions->GetEnv(this, penv, version); | |
1933 | + } | |
1934 | + jint AttachCurrentThreadAsDaemon(void **penv, void *args) { | |
1935 | + return functions->AttachCurrentThreadAsDaemon(this, penv, args); | |
1936 | + } | |
1937 | +#endif | |
1938 | +}; | |
1939 | + | |
1940 | +#ifdef _JNI_IMPLEMENTATION_ | |
1941 | +#define _JNI_IMPORT_OR_EXPORT_ JNIEXPORT | |
1942 | +#else | |
1943 | +#define _JNI_IMPORT_OR_EXPORT_ JNIIMPORT | |
1944 | +#endif | |
1945 | +_JNI_IMPORT_OR_EXPORT_ jint JNICALL | |
1946 | +JNI_GetDefaultJavaVMInitArgs(void *args); | |
1947 | + | |
1948 | +_JNI_IMPORT_OR_EXPORT_ jint JNICALL | |
1949 | +JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args); | |
1950 | + | |
1951 | +_JNI_IMPORT_OR_EXPORT_ jint JNICALL | |
1952 | +JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *); | |
1953 | + | |
1954 | +/* Defined by native libraries. */ | |
1955 | +JNIEXPORT jint JNICALL | |
1956 | +JNI_OnLoad(JavaVM *vm, void *reserved); | |
1957 | + | |
1958 | +JNIEXPORT void JNICALL | |
1959 | +JNI_OnUnload(JavaVM *vm, void *reserved); | |
1960 | + | |
1961 | +#define JNI_VERSION_1_1 0x00010001 | |
1962 | +#define JNI_VERSION_1_2 0x00010002 | |
1963 | +#define JNI_VERSION_1_4 0x00010004 | |
1964 | +#define JNI_VERSION_1_6 0x00010006 | |
1965 | +#define JNI_VERSION_1_8 0x00010008 | |
1966 | +#define JNI_VERSION_9 0x00090000 | |
1967 | +#define JNI_VERSION_10 0x000a0000 | |
1968 | + | |
1969 | +#ifdef __cplusplus | |
1970 | +} /* extern "C" */ | |
1971 | +#endif /* __cplusplus */ | |
1972 | + | |
1973 | +#endif /* !_JAVASOFT_JNI_H_ */ |
@@ -0,0 +1,60 @@ | ||
1 | +/* | |
2 | + * Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved. | |
3 | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 | + * | |
5 | + * This code is free software; you can redistribute it and/or modify it | |
6 | + * under the terms of the GNU General Public License version 2 only, as | |
7 | + * published by the Free Software Foundation. Oracle designates this | |
8 | + * particular file as subject to the "Classpath" exception as provided | |
9 | + * by Oracle in the LICENSE file that accompanied this code. | |
10 | + * | |
11 | + * This code is distributed in the hope that it will be useful, but WITHOUT | |
12 | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | + * version 2 for more details (a copy is included in the LICENSE file that | |
15 | + * accompanied this code). | |
16 | + * | |
17 | + * You should have received a copy of the GNU General Public License version | |
18 | + * 2 along with this work; if not, write to the Free Software Foundation, | |
19 | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | + * | |
21 | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
22 | + * or visit www.oracle.com if you need additional information or have any | |
23 | + * questions. | |
24 | + */ | |
25 | + | |
26 | +#ifndef _JAVASOFT_JAWT_MD_H_ | |
27 | +#define _JAVASOFT_JAWT_MD_H_ | |
28 | + | |
29 | +#include <X11/Xlib.h> | |
30 | +#include <X11/Xutil.h> | |
31 | +#include "jawt.h" | |
32 | + | |
33 | +#ifdef __cplusplus | |
34 | +extern "C" { | |
35 | +#endif | |
36 | + | |
37 | +/* | |
38 | + * X11-specific declarations for AWT native interface. | |
39 | + * See notes in jawt.h for an example of use. | |
40 | + */ | |
41 | +typedef struct jawt_X11DrawingSurfaceInfo { | |
42 | + Drawable drawable; | |
43 | + Display* display; | |
44 | + VisualID visualID; | |
45 | + Colormap colormapID; | |
46 | + int depth; | |
47 | + /* | |
48 | + * Since 1.4 | |
49 | + * Returns a pixel value from a set of RGB values. | |
50 | + * This is useful for paletted color (256 color) modes. | |
51 | + */ | |
52 | + int (JNICALL *GetAWTColor)(JAWT_DrawingSurface* ds, | |
53 | + int r, int g, int b); | |
54 | +} JAWT_X11DrawingSurfaceInfo; | |
55 | + | |
56 | +#ifdef __cplusplus | |
57 | +} | |
58 | +#endif | |
59 | + | |
60 | +#endif /* !_JAVASOFT_JAWT_MD_H_ */ |
@@ -0,0 +1,56 @@ | ||
1 | +/* | |
2 | + * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. | |
3 | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 | + * | |
5 | + * This code is free software; you can redistribute it and/or modify it | |
6 | + * under the terms of the GNU General Public License version 2 only, as | |
7 | + * published by the Free Software Foundation. Oracle designates this | |
8 | + * particular file as subject to the "Classpath" exception as provided | |
9 | + * by Oracle in the LICENSE file that accompanied this code. | |
10 | + * | |
11 | + * This code is distributed in the hope that it will be useful, but WITHOUT | |
12 | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | + * version 2 for more details (a copy is included in the LICENSE file that | |
15 | + * accompanied this code). | |
16 | + * | |
17 | + * You should have received a copy of the GNU General Public License version | |
18 | + * 2 along with this work; if not, write to the Free Software Foundation, | |
19 | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | + * | |
21 | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
22 | + * or visit www.oracle.com if you need additional information or have any | |
23 | + * questions. | |
24 | + */ | |
25 | + | |
26 | +#ifndef _JAVASOFT_JNI_MD_H_ | |
27 | +#define _JAVASOFT_JNI_MD_H_ | |
28 | + | |
29 | +#ifndef __has_attribute | |
30 | + #define __has_attribute(x) 0 | |
31 | +#endif | |
32 | +#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2))) || __has_attribute(visibility) | |
33 | + #ifdef ARM | |
34 | + #define JNIEXPORT __attribute__((externally_visible,visibility("default"))) | |
35 | + #define JNIIMPORT __attribute__((externally_visible,visibility("default"))) | |
36 | + #else | |
37 | + #define JNIEXPORT __attribute__((visibility("default"))) | |
38 | + #define JNIIMPORT __attribute__((visibility("default"))) | |
39 | + #endif | |
40 | +#else | |
41 | + #define JNIEXPORT | |
42 | + #define JNIIMPORT | |
43 | +#endif | |
44 | + | |
45 | +#define JNICALL | |
46 | + | |
47 | +typedef int jint; | |
48 | +#ifdef _LP64 | |
49 | +typedef long jlong; | |
50 | +#else | |
51 | +typedef long long jlong; | |
52 | +#endif | |
53 | + | |
54 | +typedef signed char jbyte; | |
55 | + | |
56 | +#endif /* !_JAVASOFT_JNI_MD_H_ */ |
@@ -0,0 +1,56 @@ | ||
1 | +/* | |
2 | + * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. | |
3 | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 | + * | |
5 | + * This code is free software; you can redistribute it and/or modify it | |
6 | + * under the terms of the GNU General Public License version 2 only, as | |
7 | + * published by the Free Software Foundation. Oracle designates this | |
8 | + * particular file as subject to the "Classpath" exception as provided | |
9 | + * by Oracle in the LICENSE file that accompanied this code. | |
10 | + * | |
11 | + * This code is distributed in the hope that it will be useful, but WITHOUT | |
12 | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | + * version 2 for more details (a copy is included in the LICENSE file that | |
15 | + * accompanied this code). | |
16 | + * | |
17 | + * You should have received a copy of the GNU General Public License version | |
18 | + * 2 along with this work; if not, write to the Free Software Foundation, | |
19 | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | + * | |
21 | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
22 | + * or visit www.oracle.com if you need additional information or have any | |
23 | + * questions. | |
24 | + */ | |
25 | + | |
26 | +#ifndef _JAVASOFT_JNI_MD_H_ | |
27 | +#define _JAVASOFT_JNI_MD_H_ | |
28 | + | |
29 | +#ifndef __has_attribute | |
30 | + #define __has_attribute(x) 0 | |
31 | +#endif | |
32 | +#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2))) || __has_attribute(visibility) | |
33 | + #ifdef ARM | |
34 | + #define JNIEXPORT __attribute__((externally_visible,visibility("default"))) | |
35 | + #define JNIIMPORT __attribute__((externally_visible,visibility("default"))) | |
36 | + #else | |
37 | + #define JNIEXPORT __attribute__((visibility("default"))) | |
38 | + #define JNIIMPORT __attribute__((visibility("default"))) | |
39 | + #endif | |
40 | +#else | |
41 | + #define JNIEXPORT | |
42 | + #define JNIIMPORT | |
43 | +#endif | |
44 | + | |
45 | +#define JNICALL | |
46 | + | |
47 | +typedef int jint; | |
48 | +#ifdef _LP64 | |
49 | +typedef long jlong; | |
50 | +#else | |
51 | +typedef long long jlong; | |
52 | +#endif | |
53 | + | |
54 | +typedef signed char jbyte; | |
55 | + | |
56 | +#endif /* !_JAVASOFT_JNI_MD_H_ */ |
@@ -0,0 +1,59 @@ | ||
1 | +/* | |
2 | + * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved. | |
3 | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 | + * | |
5 | + * This code is free software; you can redistribute it and/or modify it | |
6 | + * under the terms of the GNU General Public License version 2 only, as | |
7 | + * published by the Free Software Foundation. Oracle designates this | |
8 | + * particular file as subject to the "Classpath" exception as provided | |
9 | + * by Oracle in the LICENSE file that accompanied this code. | |
10 | + * | |
11 | + * This code is distributed in the hope that it will be useful, but WITHOUT | |
12 | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | + * version 2 for more details (a copy is included in the LICENSE file that | |
15 | + * accompanied this code). | |
16 | + * | |
17 | + * You should have received a copy of the GNU General Public License version | |
18 | + * 2 along with this work; if not, write to the Free Software Foundation, | |
19 | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | + * | |
21 | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
22 | + * or visit www.oracle.com if you need additional information or have any | |
23 | + * questions. | |
24 | + */ | |
25 | + | |
26 | +#ifndef _JAVASOFT_JAWT_MD_H_ | |
27 | +#define _JAVASOFT_JAWT_MD_H_ | |
28 | + | |
29 | +#include <windows.h> | |
30 | +#include "jawt.h" | |
31 | + | |
32 | +#ifdef __cplusplus | |
33 | +extern "C" { | |
34 | +#endif | |
35 | + | |
36 | +/* | |
37 | + * Win32-specific declarations for AWT native interface. | |
38 | + * See notes in jawt.h for an example of use. | |
39 | + */ | |
40 | +typedef struct jawt_Win32DrawingSurfaceInfo { | |
41 | + /* Native window, DDB, or DIB handle */ | |
42 | + union { | |
43 | + HWND hwnd; | |
44 | + HBITMAP hbitmap; | |
45 | + void* pbits; | |
46 | + }; | |
47 | + /* | |
48 | + * This HDC should always be used instead of the HDC returned from | |
49 | + * BeginPaint() or any calls to GetDC(). | |
50 | + */ | |
51 | + HDC hdc; | |
52 | + HPALETTE hpalette; | |
53 | +} JAWT_Win32DrawingSurfaceInfo; | |
54 | + | |
55 | +#ifdef __cplusplus | |
56 | +} | |
57 | +#endif | |
58 | + | |
59 | +#endif /* !_JAVASOFT_JAWT_MD_H_ */ |
@@ -0,0 +1,38 @@ | ||
1 | +/* | |
2 | + * Copyright (c) 1996, 1998, Oracle and/or its affiliates. All rights reserved. | |
3 | + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 | + * | |
5 | + * This code is free software; you can redistribute it and/or modify it | |
6 | + * under the terms of the GNU General Public License version 2 only, as | |
7 | + * published by the Free Software Foundation. Oracle designates this | |
8 | + * particular file as subject to the "Classpath" exception as provided | |
9 | + * by Oracle in the LICENSE file that accompanied this code. | |
10 | + * | |
11 | + * This code is distributed in the hope that it will be useful, but WITHOUT | |
12 | + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | + * version 2 for more details (a copy is included in the LICENSE file that | |
15 | + * accompanied this code). | |
16 | + * | |
17 | + * You should have received a copy of the GNU General Public License version | |
18 | + * 2 along with this work; if not, write to the Free Software Foundation, | |
19 | + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
20 | + * | |
21 | + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
22 | + * or visit www.oracle.com if you need additional information or have any | |
23 | + * questions. | |
24 | + */ | |
25 | + | |
26 | +#ifndef _JAVASOFT_JNI_MD_H_ | |
27 | +#define _JAVASOFT_JNI_MD_H_ | |
28 | + | |
29 | +#define JNIEXPORT __declspec(dllexport) | |
30 | +#define JNIIMPORT __declspec(dllimport) | |
31 | +#define JNICALL __stdcall | |
32 | + | |
33 | +// 'long' is always 32 bit on windows so this matches what jdk expects | |
34 | +typedef long jint; | |
35 | +typedef __int64 jlong; | |
36 | +typedef signed char jbyte; | |
37 | + | |
38 | +#endif /* !_JAVASOFT_JNI_MD_H_ */ |
@@ -0,0 +1,18 @@ | ||
1 | +#ifndef __ANDROID__ | |
2 | +#ifdef __linux__ | |
3 | +#ifdef __x86_64__ | |
4 | + | |
5 | +#include <stdio.h> | |
6 | +#include <stdlib.h> | |
7 | +#include <string.h> | |
8 | + | |
9 | +__asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); | |
10 | + | |
11 | +void *__wrap_memcpy(void * destination, const void * source, size_t num) | |
12 | +{ | |
13 | + return memcpy(destination, source, num); | |
14 | +} | |
15 | + | |
16 | +#endif | |
17 | +#endif | |
18 | +#endif | |
\ No newline at end of file |
@@ -15,7 +15,7 @@ | ||
15 | 15 | ******************************************************************************/ |
16 | 16 | |
17 | 17 | dependencies { |
18 | - compile project(":gdx") | |
18 | + api project(":gdx") | |
19 | 19 | } |
20 | 20 | |
21 | 21 | apply plugin: "com.badlogicgames.gdx.gdx-jnigen" |
@@ -0,0 +1,51 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
3 | +<plist version="1.0"> | |
4 | +<dict> | |
5 | + <key>BuildMachineOSBuild</key> | |
6 | + <string>19H1922</string> | |
7 | + <key>CFBundleDevelopmentRegion</key> | |
8 | + <string>en</string> | |
9 | + <key>CFBundleExecutable</key> | |
10 | + <string>%libName%</string> | |
11 | + <key>CFBundleIdentifier</key> | |
12 | + <string>%identifier%</string> | |
13 | + <key>CFBundleInfoDictionaryVersion</key> | |
14 | + <string>6.0</string> | |
15 | + <key>CFBundleName</key> | |
16 | + <string>%libName%</string> | |
17 | + <key>CFBundlePackageType</key> | |
18 | + <string>FMWK</string> | |
19 | + <key>CFBundleShortVersionString</key> | |
20 | + <string>1.0</string> | |
21 | + <key>CFBundleSupportedPlatforms</key> | |
22 | + <array> | |
23 | + <string>iPhoneOS</string> | |
24 | + </array> | |
25 | + <key>CFBundleVersion</key> | |
26 | + <string>1</string> | |
27 | + <key>DTCompiler</key> | |
28 | + <string>com.apple.compilers.llvm.clang.1_0</string> | |
29 | + <key>DTPlatformBuild</key> | |
30 | + <string>18D46</string> | |
31 | + <key>DTPlatformName</key> | |
32 | + <string>%platform%</string> | |
33 | + <key>DTPlatformVersion</key> | |
34 | + <string>14.4</string> | |
35 | + <key>DTSDKBuild</key> | |
36 | + <string>18D46</string> | |
37 | + <key>DTSDKName</key> | |
38 | + <string>iphoneos14.4</string> | |
39 | + <key>DTXcode</key> | |
40 | + <string>1240</string> | |
41 | + <key>DTXcodeBuild</key> | |
42 | + <string>12D4e</string> | |
43 | + <key>MinimumOSVersion</key> | |
44 | + <string>%minIOSVersion%</string> | |
45 | + <key>UIDeviceFamily</key> | |
46 | + <array> | |
47 | + <integer>1</integer> | |
48 | + <integer>2</integer> | |
49 | + </array> | |
50 | +</dict> | |
51 | +</plist> |
@@ -15,11 +15,11 @@ | ||
15 | 15 | ******************************************************************************/ |
16 | 16 | |
17 | 17 | dependencies { |
18 | - compile project(":gdx") | |
19 | - compile project(":backends:gdx-backend-lwjgl") | |
20 | - compile project(":extensions:gdx-freetype") | |
21 | - compile project(":backends:gdx-backend-headless") | |
22 | - compile testnatives.desktop | |
18 | + api project(":gdx") | |
19 | + api project(":backends:gdx-backend-lwjgl") | |
20 | + api project(":extensions:gdx-freetype") | |
21 | + api project(":backends:gdx-backend-headless") | |
22 | + api testnatives.desktop | |
23 | 23 | } |
24 | 24 | |
25 | 25 | sourceSets.main.resources.srcDirs = ["assets"] |
@@ -14,10 +14,10 @@ | ||
14 | 14 | * limitations under the License. |
15 | 15 | ******************************************************************************/ |
16 | 16 | |
17 | -apply plugin: "java" | |
17 | +apply plugin: "java-library" | |
18 | 18 | |
19 | -sourceCompatibility = 1.7 | |
20 | -targetCompatibility = 1.7 | |
19 | +sourceCompatibility = 1.8 | |
20 | +targetCompatibility = 1.8 | |
21 | 21 | |
22 | 22 | sourceSets.main.java.srcDirs = ["src"] |
23 | 23 | sourceSets.main.resources.srcDirs = ["res"] |
@@ -28,9 +28,17 @@ compileJava { | ||
28 | 28 | options.incremental = true |
29 | 29 | } |
30 | 30 | |
31 | +jar { | |
32 | + duplicatesStrategy = DuplicatesStrategy.EXCLUDE | |
33 | +} | |
34 | + | |
31 | 35 | dependencies { |
32 | - testCompile libraries.junit | |
33 | - compile "com.badlogicgames.gdx:gdx-jnigen-loader:2.2.0" | |
36 | + testImplementation libraries.junit | |
37 | + api files("/Users/sebastian/Downloads/gdx-jnigen/gdx-jnigen/build/libs/gdx-jnigen-2.4.2-SNAPSHOT-all.jar") | |
38 | + api files("/Users/sebastian/Downloads/gdx-jnigen/gdx-jnigen-gradle/build/libs/gdx-jnigen-2.4.2-SNAPSHOT-all.jar") | |
39 | + api files("/Users/sebastian/Downloads/gdx-jnigen/gdx-jnigen-loader/build/libs/gdx-jnigen-loader-2.4.2-SNAPSHOT-all.jar") | |
40 | + api "com.badlogicgames.gdx:gdx-jnigen-loader:2.3.1" | |
41 | +// api files("/Users/sebastian/Downloads/gdx-jnigen/out/artifacts/gdx_jnigen_jar/gdx-jnigen.jar") | |
34 | 42 | } |
35 | 43 | |
36 | 44 | test { |
@@ -39,6 +47,8 @@ test { | ||
39 | 47 | } |
40 | 48 | } |
41 | 49 | |
50 | +processResources.duplicatesStrategy = DuplicatesStrategy.EXCLUDE | |
51 | + | |
42 | 52 | // Workaround needed for IDEA to have resources on classpath when running tests (like gdx-tests-lwjgl3) |
43 | 53 | task copyIdeaResources(type: Copy) { |
44 | 54 | from "${projectDir}/res" |
@@ -47,6 +57,7 @@ task copyIdeaResources(type: Copy) { | ||
47 | 57 | processResources.dependsOn copyIdeaResources |
48 | 58 | |
49 | 59 | apply plugin: "com.badlogicgames.gdx.gdx-jnigen" |
60 | + | |
50 | 61 | jnigen { |
51 | 62 | sharedLibName = "gdx" |
52 | 63 | temporaryDir = "../target/native" |
@@ -0,0 +1,51 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
3 | +<plist version="1.0"> | |
4 | +<dict> | |
5 | + <key>BuildMachineOSBuild</key> | |
6 | + <string>19H1922</string> | |
7 | + <key>CFBundleDevelopmentRegion</key> | |
8 | + <string>en</string> | |
9 | + <key>CFBundleExecutable</key> | |
10 | + <string>%libName%</string> | |
11 | + <key>CFBundleIdentifier</key> | |
12 | + <string>%identifier%</string> | |
13 | + <key>CFBundleInfoDictionaryVersion</key> | |
14 | + <string>6.0</string> | |
15 | + <key>CFBundleName</key> | |
16 | + <string>%libName%</string> | |
17 | + <key>CFBundlePackageType</key> | |
18 | + <string>FMWK</string> | |
19 | + <key>CFBundleShortVersionString</key> | |
20 | + <string>1.0</string> | |
21 | + <key>CFBundleSupportedPlatforms</key> | |
22 | + <array> | |
23 | + <string>iPhoneOS</string> | |
24 | + </array> | |
25 | + <key>CFBundleVersion</key> | |
26 | + <string>1</string> | |
27 | + <key>DTCompiler</key> | |
28 | + <string>com.apple.compilers.llvm.clang.1_0</string> | |
29 | + <key>DTPlatformBuild</key> | |
30 | + <string>18D46</string> | |
31 | + <key>DTPlatformName</key> | |
32 | + <string>%platform%</string> | |
33 | + <key>DTPlatformVersion</key> | |
34 | + <string>14.4</string> | |
35 | + <key>DTSDKBuild</key> | |
36 | + <string>18D46</string> | |
37 | + <key>DTSDKName</key> | |
38 | + <string>iphoneos14.4</string> | |
39 | + <key>DTXcode</key> | |
40 | + <string>1240</string> | |
41 | + <key>DTXcodeBuild</key> | |
42 | + <string>12D4e</string> | |
43 | + <key>MinimumOSVersion</key> | |
44 | + <string>%minIOSVersion%</string> | |
45 | + <key>UIDeviceFamily</key> | |
46 | + <array> | |
47 | + <integer>1</integer> | |
48 | + <integer>2</integer> | |
49 | + </array> | |
50 | +</dict> | |
51 | +</plist> |
@@ -16,6 +16,8 @@ | ||
16 | 16 | |
17 | 17 | package com.badlogic.gdx.utils; |
18 | 18 | |
19 | +import com.badlogic.gdx.utils.SharedLibraryLoader; | |
20 | + | |
19 | 21 | public class GdxNativesLoader { |
20 | 22 | static public boolean disableNativesLoading = false; |
21 | 23 |
@@ -1,6 +1,5 @@ | ||
1 | -#Fri Sep 30 05:10:25 BST 2016 | |
2 | 1 | distributionBase=GRADLE_USER_HOME |
3 | 2 | distributionPath=wrapper/dists |
3 | +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip | |
4 | 4 | zipStoreBase=GRADLE_USER_HOME |
5 | 5 | zipStorePath=wrapper/dists |
6 | -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip |
@@ -35,7 +35,7 @@ include ":extensions:gdx-tools" | ||
35 | 35 | include ":tests" |
36 | 36 | include ":tests:gdx-tests" |
37 | 37 | include ":tests:gdx-tests-android" |
38 | -include ":tests:gdx-tests-gwt" | |
38 | +//include ":tests:gdx-tests-gwt" | |
39 | 39 | include ":tests:gdx-tests-iosrobovm" |
40 | 40 | include ":tests:gdx-tests-lwjgl" |
41 | 41 | include ":tests:gdx-tests-lwjgl3" |
@@ -17,8 +17,8 @@ | ||
17 | 17 | configure(subprojects - project(":tests:gdx-tests-android")) { |
18 | 18 | apply plugin: "java" |
19 | 19 | |
20 | - sourceCompatibility = 1.7 | |
21 | - targetCompatibility = 1.7 | |
20 | + sourceCompatibility = 1.8 | |
21 | + targetCompatibility = 1.8 | |
22 | 22 | sourceSets.main.java.srcDirs = ["src"] |
23 | 23 | sourceSets.main.resources.srcDirs = ["res"] |
24 | 24 |
@@ -24,14 +24,14 @@ apply plugin: "com.android.application" | ||
24 | 24 | apply from: "obb.gradle" |
25 | 25 | |
26 | 26 | dependencies { |
27 | - implementation project(":tests:gdx-tests") | |
28 | - implementation project(":gdx") | |
29 | - implementation project(":extensions:gdx-box2d-parent:gdx-box2d") | |
30 | - implementation project(":extensions:gdx-bullet") | |
31 | - implementation project(":extensions:gdx-freetype") | |
32 | - implementation project(":backends:gdx-backend-android") | |
33 | - implementation libraries.android | |
34 | - implementation "androidx.multidex:multidex:${versions.multiDex}" | |
27 | + api project(":tests:gdx-tests") | |
28 | + api project(":gdx") | |
29 | + api project(":extensions:gdx-box2d-parent:gdx-box2d") | |
30 | + api project(":extensions:gdx-bullet") | |
31 | + api project(":extensions:gdx-freetype") | |
32 | + api project(":backends:gdx-backend-android") | |
33 | + api libraries.android | |
34 | + api "androidx.multidex:multidex:${versions.multiDex}" | |
35 | 35 | } |
36 | 36 | |
37 | 37 | android { |
@@ -39,9 +39,9 @@ gretty.contextPath = "/" | ||
39 | 39 | gretty.portPropertiesFileName = "TEMP_PORTS.properties" |
40 | 40 | |
41 | 41 | dependencies { |
42 | - compile project(":tests:gdx-tests") | |
43 | - compile project(":backends:gdx-backends-gwt") | |
44 | - compile project(":extensions:gdx-box2d-parent:gdx-box2d-gwt") | |
42 | + api project(":tests:gdx-tests") | |
43 | + api project(":backends:gdx-backends-gwt") | |
44 | + api project(":extensions:gdx-box2d-parent:gdx-box2d-gwt") | |
45 | 45 | } |
46 | 46 | |
47 | 47 | gwt { |
@@ -22,13 +22,13 @@ buildscript { | ||
22 | 22 | |
23 | 23 | apply plugin: "robovm" |
24 | 24 | |
25 | -sourceCompatibility = '1.7' | |
26 | -targetCompatibility = '1.7' | |
25 | +sourceCompatibility = '1.8' | |
26 | +targetCompatibility = '1.8' | |
27 | 27 | |
28 | 28 | dependencies { |
29 | - compile project(":tests:gdx-tests") | |
30 | - compile project(":backends:gdx-backend-robovm") | |
31 | - compile testnatives.ios | |
29 | + api project(":tests:gdx-tests") | |
30 | + api project(":backends:gdx-backend-robovm") | |
31 | + api testnatives.ios | |
32 | 32 | } |
33 | 33 | |
34 | 34 | ext { |
@@ -20,9 +20,9 @@ ext { | ||
20 | 20 | sourceSets.main.resources.srcDirs = ["../gdx-tests-android/assets"] |
21 | 21 | |
22 | 22 | dependencies { |
23 | - compile project(":tests:gdx-tests") | |
24 | - compile project(":backends:gdx-backend-lwjgl") | |
25 | - compile testnatives.desktop | |
23 | + api project(":tests:gdx-tests") | |
24 | + api project(":backends:gdx-backend-lwjgl") | |
25 | + api testnatives.desktop | |
26 | 26 | } |
27 | 27 | |
28 | 28 | task launchTestsLwjgl (dependsOn: classes, type: JavaExec) { |
@@ -23,9 +23,9 @@ sourceCompatibility = 1.8 | ||
23 | 23 | targetCompatibility = 1.8 |
24 | 24 | |
25 | 25 | dependencies { |
26 | - compile project(":tests:gdx-tests") | |
27 | - compile project(":backends:gdx-backend-lwjgl3") | |
28 | - compile testnatives.desktop | |
26 | + api project(":tests:gdx-tests") | |
27 | + api project(":backends:gdx-backend-lwjgl3") | |
28 | + api testnatives.desktop | |
29 | 29 | } |
30 | 30 | |
31 | 31 | task launchTestsLwjgl3 (dependsOn: classes, type: JavaExec) { |
@@ -15,9 +15,9 @@ | ||
15 | 15 | ******************************************************************************/ |
16 | 16 | |
17 | 17 | dependencies { |
18 | - compile project(":gdx") | |
19 | - compile project(":extensions:gdx-box2d-parent:gdx-box2d") | |
20 | - compile project(":extensions:gdx-bullet") | |
21 | - compile project(":extensions:gdx-freetype") | |
18 | + api project(":gdx") | |
19 | + api project(":extensions:gdx-box2d-parent:gdx-box2d") | |
20 | + api project(":extensions:gdx-bullet") | |
21 | + api project(":extensions:gdx-freetype") | |
22 | 22 | compileOnly project(":extensions:gdx-tools") |
23 | 23 | } |