List of usage examples for com.badlogic.gdx.jnigen NativeCodeGenerator NativeCodeGenerator
NativeCodeGenerator
From source file:build.java
License:Open Source License
public static void main(String[] args) throws Exception { String[] headers = { "nonlua", "luajit" }; BuildTarget win32 = BuildTarget.newDefaultTarget(TargetOs.Windows, false); win32.headerDirs = headers;// w w w. j a v a 2s . c o m win32.cFlags += " -DLUASOCKET_INET_PTON"; win32.cppFlags += " -DLUASOCKET_INET_PTON"; win32.libraries = "-lws2_32 -lwinmm -L./../../../libs/windows32 -lluajit "; win32.linkerFlags = win32.linkerFlags.replace(" -static ", " "); BuildTarget win64 = BuildTarget.newDefaultTarget(TargetOs.Windows, true); win64.headerDirs = headers; win64.cFlags += " -DLUASOCKET_INET_PTON"; win64.cppFlags += " -DLUASOCKET_INET_PTON"; win64.libraries = "-lws2_32 -lwinmm -L./../../../libs/windows64 -lluajit64"; win64.linkerFlags = win64.linkerFlags.replace(" -static ", " "); BuildTarget lin32 = BuildTarget.newDefaultTarget(TargetOs.Linux, false); lin32.headerDirs = headers; lin32.cFlags += " -DLUASOCKET_INET_PTON"; lin32.cppFlags += " -DLUASOCKET_INET_PTON"; lin32.libraries = "-L./../../../libs/linux32 -lluajit "; BuildTarget lin64 = BuildTarget.newDefaultTarget(TargetOs.Linux, true); lin64.headerDirs = headers; lin64.cFlags += " -DLUASOCKET_INET_PTON"; lin64.cppFlags += " -DLUASOCKET_INET_PTON"; lin64.libraries = "-L./../../../libs/linux64 -lluajit64"; BuildTarget mac32 = BuildTarget.newDefaultTarget(TargetOs.MacOsX, false); mac32.headerDirs = headers; mac32.libraries = "-L./../../../libs/macosx32 -lluajit "; BuildTarget mac64 = BuildTarget.newDefaultTarget(TargetOs.MacOsX, true); mac64.headerDirs = headers; mac64.libraries = "-L./../../../libs/macosx64 -lluajit64 "; BuildTarget android = BuildTarget.newDefaultTarget(TargetOs.Android, false); android.headerDirs = headers; BuildTarget ios = BuildTarget.newDefaultTarget(TargetOs.IOS, false); ios.headerDirs = headers; ios.libraries = "-L./../../../libs/ios32 -lluajit"; new NativeCodeGenerator().generate("src", "target/classes", "jni"); new AntScriptGenerator().generate(new BuildConfig("nonlua"), win32, win64, lin32, lin64, mac32, mac64, android, ios); }
From source file:com.badlogic.gdx.jnigen.test.MyJniClass.java
License:Apache License
public static void main(String[] args) throws Exception { // generate C/C++ code new NativeCodeGenerator().generate("src", "bin", "jni", new String[] { "**/MyJniClass.java" }, null); // generate build scripts, for win32 only BuildConfig buildConfig = new BuildConfig("test"); BuildTarget win32 = BuildTarget.newDefaultTarget(TargetOs.Windows, false); win32.compilerPrefix = ""; win32.cppFlags += " -g"; new AntScriptGenerator().generate(buildConfig, win32); // build natives BuildExecutor.executeAnt("jni/build.xml", "clean all -v"); // load the test-natives.jar and from it the shared library, then execute the test. new JniGenSharedLibraryLoader("libs/test-natives.jar").load("test"); ByteBuffer buffer = ByteBuffer.allocateDirect(1); buffer.put(0, (byte) 8); MyJniClass.test(true, (byte) 1, (char) 2, (short) 3, 4, 5, 6, 7, buffer, new boolean[] { false }, new char[] { 9 }, new short[] { 10 }, new int[] { 11 }, new long[] { 12 }, new float[] { 13 }, new double[] { 14 }, null, "Hurray"); }