Andrew Top | 2a8c847 | 2018-06-13 17:27:01 -0700 | [diff] [blame] | 1 | Building: |
| 2 | ========= |
| 3 | |
| 4 | JNI SWIG bindings: |
| 5 | ------------------ |
| 6 | $ gcc -shared -fPIC -fno-strict-aliasing -O2 \ |
| 7 | -I/path/to/your/jdk/includes \ |
| 8 | libwebp_java_wrap.c \ |
| 9 | -lwebp \ |
| 10 | -o libwebp_jni.so |
| 11 | |
| 12 | -------------------------------------- BEGIN PSEUDO EXAMPLE |
| 13 | import com.google.webp.libwebp; |
| 14 | |
| 15 | import java.lang.reflect.Method; |
| 16 | |
| 17 | public class libwebp_jni_example { |
| 18 | static { |
| 19 | System.loadLibrary("webp_jni"); |
| 20 | } |
| 21 | |
| 22 | /** |
| 23 | * usage: java -cp libwebp.jar:. libwebp_jni_example |
| 24 | */ |
| 25 | public static void main(String argv[]) { |
| 26 | final int version = libwebp.WebPGetDecoderVersion(); |
| 27 | System.out.println("libwebp version: " + Integer.toHexString(version)); |
| 28 | |
| 29 | System.out.println("libwebp methods:"); |
| 30 | final Method[] libwebpMethods = libwebp.class.getDeclaredMethods(); |
| 31 | for (int i = 0; i < libwebpMethods.length; i++) { |
| 32 | System.out.println(libwebpMethods[i]); |
| 33 | } |
| 34 | } |
| 35 | } |
| 36 | -------------------------------------- END PSEUDO EXAMPLE |
| 37 | |
| 38 | $ javac -cp libwebp.jar libwebp_jni_example.java |
| 39 | $ java -Djava.library.path=. -cp libwebp.jar:. libwebp_jni_example |
| 40 | |
| 41 | Python SWIG bindings: |
| 42 | --------------------- |
| 43 | $ python setup.py build_ext |
| 44 | $ python setup.py install --prefix=pylocal |
| 45 | |
| 46 | -------------------------------------- BEGIN PSEUDO EXAMPLE |
| 47 | import glob |
| 48 | import sys |
| 49 | sys.path.append(glob.glob('pylocal/lib/python*/site-packages')[0]) |
| 50 | |
| 51 | from com.google.webp import libwebp |
| 52 | print "libwebp decoder version: %x" % libwebp.WebPGetDecoderVersion() |
| 53 | |
| 54 | print "libwebp attributes:" |
| 55 | for attr in dir(libwebp): print attr |
| 56 | -------------------------------------- END PSEUDO EXAMPLE |