if get_option('java') == '' subdir_done() endif sources = [ 'include/liba.h', 'include/liba_crc16.h', 'include/liba_crc32.h', 'include/liba_crc64.h', 'include/liba_crc8.h', 'include/liba_hpf.h', 'include/liba_lpf.h', 'include/liba_mf.h', 'include/liba_pid.h', 'include/liba_pid_fuzzy.h', 'include/liba_pid_neuro.h', 'include/liba_regress_simple.h', 'include/liba_tf.h', 'include/liba_trajbell.h', 'include/liba_trajpoly3.h', 'include/liba_trajpoly5.h', 'include/liba_trajpoly7.h', 'include/liba_trajtrap.h', 'include/liba_version.h', 'src/a.c', 'src/a.h', 'src/crc16.c', 'src/crc32.c', 'src/crc64.c', 'src/crc8.c', 'src/hpf.c', 'src/lpf.c', 'src/mf.c', 'src/pid.c', 'src/pid_fuzzy.c', 'src/pid_neuro.c', 'src/regress_simple.c', 'src/tf.c', 'src/trajbell.c', 'src/trajpoly3.c', 'src/trajpoly5.c', 'src/trajpoly7.c', 'src/trajtrap.c', 'src/version.c', ] java_home = get_option('java').replace('\\', '/') res = run_command(python, '-c', '''import os, sys, glob res = os.path.join('@0@', 'include', '*', 'jni_md.h') sys.stdout.write(os.path.dirname(glob.glob(res)[0])) '''.format(java_home), capture: true, check: true ) if res.returncode() == 0 includedir = java_home / 'include' include = [ a_include, include_directories('include'), include_directories(includedir), include_directories(res.stdout()), ] else subdir_done() endif shared_module( 'a', sources, c_args: c_args, cpp_args: c_args, implicit_include_directories: false, include_directories: include, install: true, install_dir: get_option('libdir') / 'jni', link_with: a.get_static_lib(), name_prefix: build_machine.system() != 'windows' ? 'lib' : '', ) add_languages('java') sources = [ 'src/liba.java', 'src/liba/crc16.java', 'src/liba/crc32.java', 'src/liba/crc64.java', 'src/liba/crc8.java', 'src/liba/hpf.java', 'src/liba/lpf.java', 'src/liba/mf.java', 'src/liba/pid.java', 'src/liba/pid_fuzzy.java', 'src/liba/pid_neuro.java', 'src/liba/regress_simple.java', 'src/liba/tf.java', 'src/liba/trajbell.java', 'src/liba/trajpoly3.java', 'src/liba/trajpoly5.java', 'src/liba/trajpoly7.java', 'src/liba/trajtrap.java', 'src/liba/version.java', ] jar('liba', sources, implicit_include_directories: false, include_directories: include_directories('src'), install: true, )