Example usage for com.badlogic.gdx.jnigen AntScriptGenerator AntScriptGenerator

List of usage examples for com.badlogic.gdx.jnigen AntScriptGenerator AntScriptGenerator

Introduction

In this page you can find the example usage for com.badlogic.gdx.jnigen AntScriptGenerator AntScriptGenerator.

Prototype

AntScriptGenerator

Source Link

Usage

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;//from   w w  w  . ja va2 s .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");
}