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

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

Introduction

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

Prototype

public BuildConfig(String sharedLibName) 

Source Link

Document

Creates a new BuildConfig.

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   ww  w .  ja  v  a  2  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");
}